{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA8G;AACpD;AACjB;AACiB;IAM7C,YAAY,SAAZ,YAAY;IAUvB,YACU,WAA0B,EAC1B,MAAc,EACd,gBAA8B;QAF9B,gBAAW,GAAX,WAAW,CAAe;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAc;QAXxC,UAAK,GAAG,KAAK,CAAC;QACd,WAAM,GAAG,CAAC,CAAC;QAGX,wFAAwF;QACxF,mBAAc,GAAW,KAAK,CAAC;QAC/B,mBAAc,GAAW,MAAM,CAAC;IAM5B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,mBAAmB;QACnB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAC1C,OAAO,IAAI;SACZ;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAC1C,OAAO,IAAI;SACZ;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,OAAO,IAAI;SACZ;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,IAAI,CAAC,OAAyB;QAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,OAAyB;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,EAAE;YACnE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,YAAY,CAAC,GAAc;QACzB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,mBAAmB;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,oBAAoB,EACxC;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;;;;;;;uBAjEA,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAtB9B,YAAY;IAJxB,wDAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,qEAAmC;KACpC,CAAC;yDAYuB,mEAAa,oBAAb,mEAAa,oDAClB,mDAAM,oBAAN,mDAAM,oDACI,oEAAY,oBAAZ,oEAAY;GAb7B,YAAY;AAAA;;;;;;;;;;;;;;;;ACPlB,SAAS,cAAc,CAAC,WAAuB;IACpD,OAAO,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAGjC,4CAA4C;QAK5C,gEAAgE;QAChE,WAAW,CAAC,YAAY,EAAE;aACvB,SAAS,EAAE;aACX,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChByD;AACA;AACQ;AACS;AACzB;AACH;AACA;AACwB;AACF;AACU;AAEhC;AACwB;AACwB;AACG;AACxB;AACY;AACc;AACd;AACE;AACc;AACQ;AACL;AACD;AAChB;AACpB;AACyC;AACG;AACX;AACb;AACwB;AACkB;AACG;AACY;AACvE;AACuB;AAEvC;AACA;AACA;AACJ;AACH;AACM;AACM;AACqD;AACvE;AACuB;AAC6D;AAC9C;AACP;AACwD;AAClC;AACxC;AAEnD,SAAS,WAAW;IACzB,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;IA6IY,SAAS,SAAT,SAAS;;AAAT,SAAS;IA3IrB,wDAAQ,CAAC;QACR,YAAY,EAAE;YACZ,wDAAY;YAEZ,YAAY;YACZ,wGAAmB;YACnB,2GAAoB;YACpB,gFAAa;YACb,2GAAqB;YACrB,mFAAc;YACd,+FAAe;YACf,+FAAkB;YAClB,6GAAsB;YACtB,iGAAe;YACf,+GAAmB;YACnB,wHAAsB;YACtB,oFAAc;YAEd,aAAa;YACb,0HAAwB;YACxB,8EAAc;YACd,kGAAkB;YAClB,kGAAkB;YAClB,mHAAuB;YACvB,0HAAoB;YACpB,4IAAuB;YACvB,+IAAwB;YACxB,2JAA0B;YAE1B,8HAAoB;YAEpB,QAAQ;YACR,uDAAQ;YACR,8EAAiB;YACjB,sFAAqB;YAErB,iBAAiB;YACjB,2IAAsB;YAEtB,SAAS;YACT,uHAAwB;YACxB,yEAAgB;YAChB,kHAAuB;YACvB,+GAAsB;YACtB,6FAAiB;YACjB,8IAAyB;YACzB,4GAAmB;SACpB;QACD,OAAO,EAAE;YACP,0FAAkC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACjE,mEAAgB;YAChB,wDAAW;YACX,gEAAmB;YACnB,wEAAyB,CAAC;gBACxB,QAAQ,EAAE;oBACR,UAAU,EAAE;wBACV,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,EAAE;qBACb;oBACD,QAAQ,EAAE;wBACR,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,EAAE;wBACZ,GAAG,EAAE,EAAE;qBACR;iBACF;gBACD,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE;oBACT,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,eAAe;oBAC5B,iBAAiB,EAAE,IAAI;oBACvB,QAAQ,EAAE,EAAE;iBACb;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,MAAM;qBACf;oBACD,IAAI,EAAE;wBACJ,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,EAAE;qBACX;oBACD,KAAK,EAAE;wBACL,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,MAAM;qBACf;oBACD,OAAO,EAAE,GAAG;iBACb;aACF,CAAC;YACF,kEAAiB,CAAC;gBAChB,MAAM,EAAE;oBACN,WAAW,EAAE,WAAW;oBACxB,kBAAkB,EAAE,CAAC,gBAAgB,CAAC;oBACtC,iBAAiB,EAAE,EAAE;iBACtB;aACF,CAAC;YACF,kEAAoB,CAAC;gBACnB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,gFAAa,EAAE;gBACtC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,2GAAqB,EAAE;gBAC3D,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,2IAAsB,EAAE;gBACjF,wDAAwD;gBACxD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,6FAAiB,EAAE;gBAClD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mFAAc,EAAE;gBAC5C,kDAAkD;gBAClD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oFAAc,EAAE;gBAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,6GAAsB,EAAE;gBAErD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,8EAAc,EAAE;gBAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,kGAAkB,EAAE;gBACtD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,kGAAkB,EAAE;gBACrD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,uHAAwB,EAAE,WAAW,EAAE,CAAC,oEAAS,CAAC,EAAE;gBACrF,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,kHAAuB,EAAE,WAAW,EAAE,CAAC,oEAAS,CAAC,EAAE;gBAC1F,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,+GAAsB,EAAE;gBACnE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,mHAAuB,EAAE;gBAEjE,mDAAmD;aAEpD,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;YACtF,kEAAS;YACT,gFAAiB;YACjB,0FAAuB;SACxB;QACD,2BAA2B;QAC3B,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,2DAAe,EAAE,UAAU,EAAE,6DAAc,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,gEAAW,CAAC,EAAE;YAC1F,oEAAS;YACT,+EAA+E;YAC/E,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,mEAAW,EAAE,KAAK,EAAE,IAAI,EAAE;YAClE,oEAAa;YACb,oEAAa;YACb,oEAAa;YACb,uEAAc;SACf;QACD,SAAS,EAAE,CAAC,wDAAY,CAAC;KAC1B,CAAC;GACW,SAAS;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrM4B;AACU;IAO/C,wBAAwB,SAAxB,wBAAwB;IAEnC,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAE5C,iBAAY,GAAyB,IAAI,CAAC;QAQnC,WAAM,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;IAZ+C,CAAC;IAIjD,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;;;;;AAVU,wBAAwB;IALpC,wDAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,oFAAkD;;KAEnD,CAAC;yDAGiC,sEAAW,oBAAX,sEAAW;GAFjC,wBAAwB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRiC;AACrB;AACM;AACS;AACA;AACF;IAOjD,oBAAoB,SAApB,oBAAoB;IAQ/B,YACU,WAA0B,EAC1B,aAA4B,EAC5B,YAA0B;QAF1B,gBAAW,GAAX,WAAW,CAAe;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QATpC,WAAM,GAAa,EAAE,CAAC;QACtB,cAAS,GAAG,2DAAS,CAAC;QACtB,aAAQ,GAAG,iEAAY,CAAC;QAEf,qBAAgB,GAAiC,SAAS;IAM/D,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,SAAoB;QAChC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,SAAoB;QACrC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB,CAAC,OAAiB;QACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAEC,UAAU,CAAC,EAAW;QACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;;;;;;;+BA1CA,gDAAK;;AANK,oBAAoB;IALhC,wDAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,+EAA6C;;KAE9C,CAAC;yDAUuB,0EAAa,oBAAb,0EAAa,oDACX,0EAAa,oBAAb,0EAAa,oDACd,wEAAY,oBAAZ,wEAAY;GAXzB,oBAAoB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyE;AACjE;AACR;AAC0B;AACK;IAOnD,mBAAmB,SAAnB,mBAAmB;IAS9B,YACU,MAAc,EACd,WAA0B;QAD1B,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAe;QARpC,kBAAa,GAAW,KAAK,CAAC;QAC9B,qBAAgB,GAAmB,qEAAY,CAAC;QAEvC,qBAAgB,GAAiC,SAAS;QACzD,aAAQ,GAAG,IAAI,uDAAY,EAAW;IAOhD,CAAC;IAED,QAAQ;QACN,2DAA2D;QAC3D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;IAC5C,CAAC;IAED,aAAa;QACX,wEAAwE;QACxE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,cAAc,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAAE,OAAO,OAAO,CAAC;SAAE;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,YAAY,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;YAAE,OAAO,QAAQ,CAAC;SAAE;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,EAAE;YAAE,OAAO,UAAU,CAAC;SAAE;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,gBAAgB,EAAE;YAAE,OAAO,QAAQ,CAAC;SAAE;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,qCAAqC,EAAE;YAAE,OAAO,QAAQ,CAAC;SAAE;QACnF,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAAE,OAAO,OAAO,CAAC;SAAE;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;YAAE,OAAO,QAAQ,CAAC;SAAE;IACzD,CAAC;IAED,WAAW,CAAC,KAAmB;QAC7B,wEAAwE;QACxE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,cAAc,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEC,0CAA0C;IAC1C,cAAc;QACZ,IAAI,GAAG,GAAG,mCAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;;;;;;;+BAzDF,gDAAK;uBACL,iDAAM;uBAcN,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AArB9B,mBAAmB;IAL/B,wDAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,8EAA4C;;KAE7C,CAAC;yDAWkB,mDAAM,oBAAN,mDAAM,oDACD,0EAAa,oBAAb,0EAAa;GAXzB,mBAAmB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXgC;IAOnD,cAAc,SAAd,cAAc;IAMzB;QAHA,WAAM,GAAG,CAAC,CAAC;QACX,mBAAc,GAAW,KAAK,CAAC;IAEf,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAC1C,OAAO,IAAI;SACZ;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,OAAO,IAAI;SACZ;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;;;uBAnBA,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAZ9B,cAAc;IAL1B,wDAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,uEAAqC;;KAEtC,CAAC;;GACW,cAAc;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPmF;AACrE;AACkC;AAChB;AACK;AACqC;AACpE;IAOpB,qBAAqB,SAArB,qBAAqB;IAQhC,YACU,MAAc,EACd,aAA4B,EAC5B,YAAsB,EACtB,GAAsB;QAHtB,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAU;QACtB,QAAG,GAAH,GAAG,CAAmB;QAVhC,qBAAgB,GAAmB,qEAAY,CAAC;QAChD,kBAAa,GAAiB,SAAS,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QA6CpC,gBAAW,GAAG,EAAE,CAAC;QAnCf,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,QAAQ;IACR,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;IACH,CAAC;IAED,0CAA0C;IAC1C,cAAc;QACZ,IAAI,GAAG,GAAG,mCAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IACnG,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,mCAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,WAAW,CAAC,KAAmB;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1C,IAAI,WAAW,GAAG,GAAG,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAID,SAAS,CAAC,KAAmB;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,8GAAyB,EAAE;gBAChD,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC;iBACC,MAAM,CAAC,IAAI,CACV,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,gBAAgB,MAAM,EAAE,CAAC;YAC9C,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,aAAa,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,CAAC,CACF,CAAC;SACL;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;YACtC,qCAAqC;SACtC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAW;QAClC,IAAI,MAAM,KAAK,+EAAuB,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,iBAAiB,CAAC;SAC1B;aAAM,IAAI,MAAM,KAAK,0FAAkC,EAAE;YACxD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,2BAA2B,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,SAAS,MAAM,EAAE,CAAC;SAC1B;IACH,CAAC;;;;;;;;AAnFU,qBAAqB;IALjC,wDAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,+EAA6C;;KAE9C,CAAC;yDAUkB,mDAAM,oBAAN,mDAAM,oDACC,0EAAa,oBAAb,0EAAa,oDACd,gEAAQ,oBAAR,gEAAQ,oDACjB,4DAAiB,oBAAjB,4DAAiB;GAZrB,qBAAqB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACb6D;AACtB;AACT;IAOnD,yBAAyB,SAAzB,yBAAyB;IAOpC,YAAoB,aAA4B,EAAS,WAA2B;QAAhE,kBAAa,GAAb,aAAa,CAAe;QAAS,gBAAW,GAAX,WAAW,CAAgB;QALpF,gBAAW,GAAG,EAAE,CAAC;QAsBjB,uBAAuB;QACvB,mEAAmE;QACnE,iDAAiD;QACjD,WAAW;QACX,kCAAkC;QAClC,2BAA2B;QAC3B,0BAA0B;QAC1B,2BAA2B;QAC3B,WAAW;QACX,UAAU;QACV,KAAK;QAEL,YAAO,GAAG,GAAG,EAAE;YACb,yBAAyB;YACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC,CAAC;IAjCsF,CAAC;IAEzF,QAAQ;QACN,eAAe;QACf,2BAA2B;IAC7B,CAAC;IAED,eAAe;QACb,eAAe;QACf,2BAA2B;QAC3B,gEAAgE;QAChE,8CAA8C;QAC9C,QAAQ;QACR,gCAAgC;QAChC,IAAI;IACN,CAAC;;;;;;;oBAnBA,gDAAK;2BACL,oDAAS,SAAC,SAAS;;AAJT,yBAAyB;IALrC,wDAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,oFAAkD;;KAEnD,CAAC;yDAQmC,0EAAa,oBAAb,0EAAa,oDAAsB,sEAAc,oBAAd,sEAAc;GAPzE,yBAAyB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTY;IAOrC,sBAAsB,SAAtB,sBAAsB;IAEjC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;;AALU,sBAAsB;IALlC,wDAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,gFAA8C;;KAE/C,CAAC;;GACW,sBAAsB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPe;AACK;AACS;IAOnD,aAAa,SAAb,aAAa;IAKxB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHhD,gBAAW,GAAe,iEAAY,CAAC;QACvC,YAAO,GAAa,SAAS,CAAC;IAI9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;QACpF,yCAAyC;QAEzC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACpC;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9B;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACrC;IACH,CAAC;;;;;AA1BU,aAAa;IALzB,wDAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,sEAAoC;;KAErC,CAAC;yDAMmC,0EAAa,oBAAb,0EAAa;GALrC,aAAa;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTgE;AAC1B;IAWnD,sBAAsB,SAAtB,sBAAsB;IAQjC,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QALhD,WAAM,GAAa,EAAE,CAAC;IAK8B,CAAC;IAErD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC9C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,EAAE;gBACvE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE;YACxC,qDAAqD;SACtD;IACH,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;YAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAC3C;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;YACnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAC3C;aACI,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAC3C;aACI;YACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAC3C;IACH,CAAC;IAED,aAAa;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAO,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAO,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE/E,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,KAAK,IAAI,EAAE;YACvF,OAAO,cAAc,CAAC,WAAW,CAAC;SACnC;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,YAAY;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAO,cAAc,EAAE,YAAY,IAAI,EAAE,CAAC;IAC5C,CAAC;;;;;;uBA9CA,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AA3B9B,sBAAsB;IATlC,wDAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,gFAA8C;;KAM/C,CAAC;yDASmC,0EAAa,oBAAb,0EAAa;GARrC,sBAAsB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ6B;AACA;IAUnD,eAAe,SAAf,eAAe;IAY1B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAVhD,gBAAW,GAAW,EAAE,CAAC;QACzB,WAAM,GAAa,EAAE,CAAC;QAEtB,qBAAgB,GAAW,EAAE,CAAC;QAG9B,eAAU,GAAW,KAAK,CAAC;QAE3B,gBAAW,GAAY,IAAI,CAAC;IAI5B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,QAAQ;QACN,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE;YACvC,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,EAAE;gBACvB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;;;;;;uBApBA,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AArB9B,eAAe;IAR3B,wDAAS,CAAC;QACT,QAAQ,EAAE,YAAY;QACtB,wEAAsC;;KAKvC,CAAC;yDAamC,0EAAa,oBAAb,0EAAa;GAZrC,eAAe;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX0E;AAC7D;AACQ;AACa;IAUjD,cAAc,SAAd,cAAc;IAYzB,YAAoB,YAA0B,EAAU,MAAc;QAAlD,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QATtE,YAAO,GAAY,EAAE,CAAC;QACtB,kBAAa,GAAkB,EAAE,CAAC;QAClC,eAAU,GAAY,KAAK,CAAC;QAE5B,cAAS,GAAgB,2DAAS,CAAC;IAKuC,CAAC;IAE3E,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;IACH,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,UAAmB;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;IAC7D,CAAC;IAED,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,gCAAgC;IAClC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YAAE,OAAO,GAAG,CAAC;SAAE;aACrC;YAAE,OAAO,GAAG,CAAC;SAAE;IACtB,CAAC;IAED,UAAU,CAAC,SAAoB;QAC7B,IAAI,SAAS,KAAK,OAAO,EAAE;YACzB,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,0BAA0B,CAAC,eAAuB;QAChD,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YAC9F,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,wBAAwB,CAAC,eAAuB;QAC9C,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YACrH,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,WAAW,CAAC,eAAuB;QACjC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YACrG,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,cAAc,CAAC,eAAuB;QACpC,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YACnG,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,aAAa,CAAC,eAAuB;QACnC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE;YAChE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,eAAe,CAAC,MAAqB;QACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAChF,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;aAC7F,IAAI,mBAAmB,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE;YAAE,OAAO,KAAK,CAAC;SAAE;aACxE,IAAI,mBAAmB,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE;YAAE,OAAO,MAAM,CAAC;SAAE;aACzE;YAAE,OAAO,IAAI,CAAC;SAAE;IACvB,CAAC;IAED,eAAe,CAAC,MAAqB;QACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,KAAK,EAAE,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC;QAC5F,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;aAC7F,IAAI,mBAAmB,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE;YAAE,OAAO,KAAK,CAAC;SAAE;aAClE,IAAI,mBAAmB,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE;YAAE,OAAO,MAAM,CAAC;SAAE;aACnE;YAAE,OAAO,IAAI,CAAC;SAAE;IACvB,CAAC;;;;;;;wBAxHA,oDAAS,SAAC,OAAO;uBAoBjB,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AA7B9B,cAAc;IAR1B,wDAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,uEAAqC;;KAKtC,CAAC;yDAakC,wEAAY,oBAAZ,wEAAY,oDAAkB,mDAAM,oBAAN,mDAAM;GAZ3D,cAAc;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbuB;AACT;IAU5B,kBAAkB,SAAlB,kBAAkB;IAE7B,sBAAsB;IACtB,0CAA0C;IAC1C,cAAc;IAEd,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEvC,QAAQ;QACN,uCAAuC;IACzC,CAAC;;;;;AAVU,kBAAkB;IAR9B,wDAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,2EAAyC;;KAK1C,CAAC;yDAO4B,mDAAM,oBAAN,mDAAM;GANvB,kBAAkB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXiC;AACT;AACS;IAOnD,iBAAiB,SAAjB,iBAAiB;IAK5B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHhD,eAAU,GAAW,CAAC,CAAC;QACvB,aAAQ,GAAe,iEAAY,CAAC;IAEgB,CAAC;IAErD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;YAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC3B;QACD,iCAAiC;QACjC,+BAA+B;QAC/B,IAAI;IACN,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;YAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,UAAU,CAAC,OAAiB;QAC1B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;;;;;;uBA5BA,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAX9B,iBAAiB;IAL7B,wDAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,0EAAwC;;KAEzC,CAAC;yDAMmC,0EAAa,oBAAb,0EAAa;GALrC,iBAAiB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTqD;AAC1C;AACgC;IAQ5D,oBAAoB,SAApB,oBAAoB;IAW/B,YAAmB,WAA2B,EAAU,MAAc;QAAnD,gBAAW,GAAX,WAAW,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QATtE,WAAM,GAAW,GAAG,CAAC;QACrB,aAAQ,GAAW,EAAE,CAAC;QASpB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,QAAQ;IAER,CAAC;IAED,eAAe;QAEb,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;SACrF;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;SAChF;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;;;;;;;8BAlCA,gDAAK;iCACL,gDAAK;sBACL,gDAAK;2BACL,gDAAK;4BACL,gDAAK;;AATK,oBAAoB;IALhC,wDAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,8EAA4C;;KAE7C,CAAC;yDAYgC,sEAAc,oBAAd,sEAAc,oDAAkB,mDAAM,oBAAN,mDAAM;GAX3D,oBAAoB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACV0C;AACL;AACL;AACmB;AACE;IAQzE,sBAAsB,SAAtB,sBAAsB;IA8BjC,YACU,YAAsB,EACvB,WAA2B,EAC1B,aAA4B;QAF5B,iBAAY,GAAZ,YAAY,CAAU;QACvB,gBAAW,GAAX,WAAW,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QA/BtC,aAAQ,GAA0B,KAAK,CAAC;QACxC,cAAS,GAA8B,QAAQ,CAAC;QAChD,aAAQ,GAAG,CAAC,CAAC;QACb,aAAQ,GAAmB,SAAS,CAAC;QACrC,WAAM,GAAkB,CAAC,CAAC;QAY1B,yBAAyB;QAEzB,qBAAqB;QACrB,4CAA4C;QAC5C,2CAA2C;QAC3C,IAAI;QAEJ,qBAAgB,GAAG,EAAE,CAAC;IAWtB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,8CAA8C;IAC9C,mBAAmB;IACnB,2BAA2B;IAC3B,IAAI;IAEJ,wBAAwB;IACxB,mCAAmC;IACnC,0CAA0C;IAC1C,0CAA0C;IAC1C,4CAA4C;IAC5C,MAAM;IACN,8DAA8D;IAC9D,yCAAyC;IACzC,yCAAyC;IACzC,2CAA2C;IAC3C,MAAM;IACN,IAAI;IAEJ,aAAa,CAAC,SAAiB;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B,MAAM,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;IACH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;SAAE;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;SAAE;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,SAAoC;QAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,6BAA6B;IAC7B,aAAa;QACX,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,QAAwB;QAClC,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;IACH,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,MAAM,IAAI,GAAmB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YAEzD,IAAI,QAAQ,CAAC,EAAE,EAAE;gBACf,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,6DAAU,CACR;oBACA,WAAW,EAAE,kFAAkF;oBAC/F,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,cAAc;oBACxB,2BAA2B;oBAC3B,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,IAAI;iBACf,CAAC;qBACD,IAAI,CAAC,CAAC,MAAuB,EAAE,EAAE;oBAChC,MAAM;yBACH,OAAO,CAAC;wBACP,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;4BACpC,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gCACjC,OAAO,EAAE,QAAQ,CAAC,EAAE;gCACpB,YAAY,EAAE,IAAI;6BACnB,CAAC,CAAC;wBACL,CAAC;wBACD,KAAK,EAAE;4BACL,KAAK,EAAE,WAAW;4BAClB,MAAM,EAAE,YAAY;4BACpB,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,EAAE;4BACV,OAAO,EAAE,KAAK;yBACf;wBACD,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,OAA2B,EAAE,EAAE;4BAC9D,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;4BAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;4BAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;4BACnD,QAAQ,CAAC,iBAAiB,CAAC,eAAe,GAAG,OAAO,CAAC;wBACvD,CAAC,CAAC,CACH;wBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;4BAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;4BACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;4BAChB,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;gCACrC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;6BAChC;4BACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;4BAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;4BACnD,QAAQ,CAAC,iBAAiB,CAAC,aAAa,GAAG,2BAA2B,CAAC;wBACzE,CAAC;wBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;4BACf,8BAA8B;4BAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;4BACxB,2FAA2F;4BAC3F,8BAA8B;4BAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;gCACrC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;6BAChC;4BACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;4BAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;4BACnD,QAAQ,CAAC,iBAAiB,CAAC,YAAY,GAAG,kBAAkB,CAAC;wBAC/D,CAAC;wBACD,gCAAgC;wBAChC,+CAA+C;wBAC/C,KAAK;qBACN,CAAC;yBACD,MAAM,CAAC,0BAA0B,CAAC;yBAClC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,mCAAmC;QACnC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,mCAAmC;QAEnC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3B,mCAAmC;YACnC,6DAAU,CACR;gBACA,WAAW,EAAE,kFAAkF;gBAC/F,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,IAAI;aACf,CAAC;iBACD,IAAI,CAAC,CAAC,MAAuB,EAAE,EAAE;gBAChC,MAAM;qBACH,OAAO,CAAC;oBACP,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;wBAC7B,0CAA0C;wBAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;4BAC1B,cAAc,EAAE,CAAC;oCACf,MAAM,EAAE;wCACN,aAAa,EAAE,KAAK;wCACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;qCAC9B;iCACF,CAAC;4BACF,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;oBACD,KAAK,EAAE;wBACL,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,YAAY;wBACpB,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,KAAK;qBACf;oBACD,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,OAA0B,EAAE,EAAE;wBACtD,6CAA6C;wBAC7C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;wBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACnD,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,OAAO,CAAC;oBAC1D,CAAC,CAAC,CACH;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;wBAC1B,uDAAuD;wBACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;wBAChB,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;4BACrC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;yBAChC;wBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACnD,QAAQ,CAAC,iBAAiB,CAAC,aAAa,GAAG,2BAA2B,CAAC;oBACzE,CAAC;oBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBACf,8BAA8B;wBAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;wBACxB,2FAA2F;wBAC3F,8BAA8B;wBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;4BACrC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;yBAChC;wBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6FAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACnD,QAAQ,CAAC,iBAAiB,CAAC,YAAY,GAAG,kBAAkB,CAAC;oBAC/D,CAAC;oBACD,gCAAgC;oBAChC,+CAA+C;oBAC/C,KAAK;iBACN,CAAC;qBACD,MAAM,CAAC,0BAA0B,CAAC;qBAClC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;;;;;;;;gCA7QA,oDAAS,SAAC,mBAAmB;iCAC7B,oDAAS,SAAC,oBAAoB;uBA0B9B,uDAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AA1C9B,sBAAsB;IALlC,wDAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,gFAA8C;;KAE/C,CAAC;yDAgCwB,gEAAQ,oBAAR,gEAAQ,oDACV,sEAAc,oBAAd,sEAAc,oDACX,2EAAa,oBAAb,2EAAa;GAjC3B,sBAAsB;AAAA;AAgSnC,mCAAmC;AACnC,0CAA0C;AAC1C,wBAAwB;AACxB,mCAAmC;AACnC,4EAA4E;AAC5E,MAAM;AACN,oCAAoC;AACpC,0BAA0B;AAC1B,IAAI;AAEJ,4BAA4B;AAC5B,sCAAsC;AACtC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxT8C;AACe;IASpD,mBAAmB,SAAnB,mBAAmB;IAI9B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAI,CAAC;IAErD,QAAQ;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,qGAAqG;QACrG,uBAAuB;QAEvB,KAAK;QACL,wBAAwB;QACxB,aAAa;QACb,mBAAmB;QACnB,mDAAmD;QACnD,uDAAuD;QACvD,iDAAiD;QACjD,iCAAiC;QACjC,gBAAgB;QAChB,aAAa;QACb,yBAAyB;QACzB,+BAA+B;QAC/B,gBAAgB;QAChB,mBAAmB;QACnB,gCAAgC;QAChC,gCAAgC;QAChC,2BAA2B;QAC3B,2BAA2B;QAC3B,iCAAiC;QACjC,aAAa;QACb,sCAAsC;QACtC,WAAW;QACX,4CAA4C;QAC5C,4BAA4B;QAC5B,uEAAuE;QACvE,YAAY;QACZ,OAAO;QACP,wBAAwB;QACxB,uEAAuE;QACvE,QAAQ;IACV,CAAC;;;;;AA3CU,mBAAmB;IAL/B,wDAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,8EAA4C;;KAE7C,CAAC;yDAKmC,2EAAa,oBAAb,2EAAa;GAJrC,mBAAmB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVkB;AACT;AACmB;IAO/C,cAAc,SAAd,cAAc;IAIzB,YAAoB,WAAwB,EAAU,MAAc;QAAhD,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAFpE,gBAAW,GAAW,EAAE,CAAC;IAE+C,CAAC;IAEzE,sCAAsC;IAEtC,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,iDAAiD;QACjD,2BAA2B;QAC3B,MAAM;IACR,CAAC;;;;;;AAbU,cAAc;IAL1B,wDAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,uEAAqC;;KAEtC,CAAC;yDAKiC,sEAAW,oBAAX,sEAAW,oDAAkB,mDAAM,oBAAN,mDAAM;GAJzD,cAAc;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTuB;AACa;AACtB;AAEU;IAOtC,uBAAuB,SAAvB,uBAAuB;IAElC,YAAoB,IAAgB,EAAU,MAAc,EAAU,QAAyB;QAA3E,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAiB;QAE/F,SAAI,GAAG;YACL,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;SACb;QAKD,qBAAgB,GAAa,EAAE,CAAC;IAZmE,CAAC;IASpG,QAAQ;IACR,CAAC;IAID,UAAU;QACR,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,2CAA2C;QAE3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;YAC3C,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YAEzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAEvD,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YAElB,IAAI,CAAC,CAAC,EAAE;gBACN,OAAO;aACR;YAED,KAAK,MAAM,QAAQ,IAAI,CAAC,EAAE;gBACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;;;;;;AAhDU,uBAAuB;IALnC,wDAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,kFAAgD;;KAEjD,CAAC;yDAG0B,4DAAU,oBAAV,4DAAU,oDAAkB,mDAAM,oBAAN,mDAAM,oDAAoB,6DAAe,oBAAf,6DAAe;GAFpF,uBAAuB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXc;AACA;AACT;AAEoB;IAOhD,kBAAkB,SAAlB,kBAAkB;IAE7B,YAAoB,MAAc,EAAU,IAAgB,EAAS,WAAuB;QAAxE,WAAM,GAAN,MAAM,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAS,gBAAW,GAAX,WAAW,CAAY;QAK5F,iBAAY,GAAG,KAAK,CAAC;IAL4E,CAAC;IAElG,QAAQ;IACR,CAAC;IAKD,KAAK,CAAC,IAAY;QAChB,MAAM,WAAW,GAAO,IAAI,CAAC,KAAK,CAAC;QAEnC,2CAA2C;QAE3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;aAC5D,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAAC,mCAAmC;QAC3E,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;;;;;;;AA3BU,kBAAkB;IAL9B,wDAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,4EAA0C;;KAE3C,CAAC;yDAG4B,mDAAM,oBAAN,mDAAM,oDAAgB,4DAAU,oBAAV,4DAAU,oDAAqB,+DAAW,oBAAX,+DAAW;GAFjF,kBAAkB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXmB;AACI;AACmD;IAQ5F,kBAAkB,SAAlB,kBAAkB;IAE7B,YAAoB,YAAsB;QAAtB,iBAAY,GAAZ,YAAY,CAAU;IAAI,CAAC;IAE/C,QAAQ;IACR,CAAC;IAED,eAAe;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,8GAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;;;;;AATU,kBAAkB;IAL9B,wDAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,4EAA0C;;KAE3C,CAAC;yDAGkC,gEAAQ,oBAAR,gEAAQ;GAF/B,kBAAkB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVgD;IAUlE,eAAe,SAAf,eAAe;IAe1B;QAZS,SAAI,GAAyB,EAAE;QAO/B,UAAK,GAAY,EAAE;QACnB,aAAQ,GAAY,KAAK;QAExB,aAAQ,GAAG,IAAI,uDAAY,EAAE;IAEvB,CAAC;IAGjB,QAAQ;IACR,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;;;;oBArBA,gDAAK;mBACL,gDAAK;mBACL,gDAAK;oBACL,gDAAK;uBACL,gDAAK;0BACL,gDAAK;oBACL,gDAAK;qBACL,gDAAK;oBACL,gDAAK;uBACL,gDAAK;uBAEL,iDAAM;;AAbI,eAAe;IAR3B,wDAAS,CAAC;QACT,QAAQ,EAAE,YAAY;QACtB,wEAAsC;;KAKvC,CAAC;;GACW,eAAe;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVmD;IAOlE,mBAAmB,SAAnB,mBAAmB;IAM9B;QAJS,SAAI,GAAW,EAAE;QACjB,UAAK,GAAW,EAAE;QACjB,aAAQ,GAAG,IAAI,uDAAY,EAAE;IAEvB,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;;;;mBAXA,gDAAK;oBACL,gDAAK;uBACL,iDAAM;;AAJI,mBAAmB;IAL/B,wDAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,6EAA2C;;KAE5C,CAAC;;GACW,mBAAmB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPkB;AAEU;AACT;AACa;IAOnD,uBAAuB,SAAvB,uBAAuB;IAElC,mBAAmB;IACnB,sBAAsB;IACtB,4BAA4B;IAC5B,6BAA6B;IAE7B,YACS,WAA2B,EAC1B,aAA4B,EAC5B,QAAyB;QAF1B,gBAAW,GAAX,WAAW,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;IAC/B,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,oCAAoC;QACpC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;;;;;;AArBU,uBAAuB;IALnC,wDAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,kFAAgD;;KAEjD,CAAC;yDASsB,sEAAc,oBAAd,sEAAc,oDACX,0EAAa,oBAAb,0EAAa,oDAClB,6DAAe,oBAAf,6DAAe;GAVxB,uBAAuB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXc;AACU;AACT;AACa;IAOnD,0BAA0B,SAA1B,0BAA0B;IAKrC,YACS,WAA2B,EAC1B,aAA4B,EAC5B,QAAyB;QAF1B,gBAAW,GAAX,WAAW,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QANnC,qBAAgB,GAAW,EAAE,CAAC;IAO1B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ;QACN,6CAA6C;QAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;;;;;;AArBU,0BAA0B;IALtC,wDAAS,CAAC;QACT,QAAQ,EAAE,yBAAyB;QACnC,qFAAmD;;KAEpD,CAAC;yDAOsB,sEAAc,oBAAd,sEAAc,oDACX,0EAAa,oBAAb,0EAAa,oDAClB,6DAAe,oBAAf,6DAAe;GARxB,0BAA0B;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACViC;AAEZ;AACT;AACa;IAQnD,wBAAwB,SAAxB,wBAAwB;IAWnC,4CAA4C;IAE5C,YACS,WAA2B,EAC1B,aAA4B,EAC5B,QAAyB;QAF1B,gBAAW,GAAX,WAAW,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QAdnC,qBAAgB,GAAW,EAAE,CAAC;QAG9B,OAAE,GAAW,EAAE,CAAC;QAChB,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;IAQtB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,sCAAsC;QACtC,sCAAsC;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC;SACxD;IACH,CAAC;;;;;;;AApCU,wBAAwB;IALpC,wDAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QACjC,mFAAiD;;KAElD,CAAC;yDAesB,sEAAc,oBAAd,sEAAc,oDACX,0EAAa,oBAAb,0EAAa,oDAClB,6DAAe,oBAAf,6DAAe;GAhBxB,wBAAwB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXa;AACoB;AACN;AACkB;AACe;AACZ;IAMxE,oBAAoB,SAApB,oBAAoB;IAM/B,YACU,YAAsB,EACvB,WAA2B,EAC1B,aAA4B;QAF5B,iBAAY,GAAZ,YAAY,CAAU;QACvB,gBAAW,GAAX,WAAW,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAPtC,gBAAW,GAAW,EAAE,CAAC;QACzB,WAAM,GAAa,EAAE,CAAC;QACtB,qBAAgB,GAAW,EAAE,CAAC;QAO5B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC7C,8BAA8B;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2FAAuB,EAAE;YAC9C,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,8FAAwB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0GAA0B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,UAAU;QACf,wBAAwB;QACxB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,EAAE;YAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtC,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,EAAE;oBACvB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;;;;;;;AA7DU,oBAAoB;IAJhC,wDAAS,CAAC;QACT,8EAA4C;;KAE7C,CAAC;yDAQwB,gEAAQ,oBAAR,gEAAQ,oDACV,sEAAc,oBAAd,sEAAc,oDACX,0EAAa,oBAAb,0EAAa;GAT3B,oBAAoB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZiB;IAOrC,uBAAuB,SAAvB,uBAAuB;IAElC;QAEA,eAAU,GAAG,EAAE,CAAC;QAChB,UAAK,GAAU,EAAE,CAAC;QAClB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAW,EAAE,CAAC;IALV,CAAC;IAOjB,QAAQ;QACN,sBAAsB;IACxB,CAAC;;;AAXU,uBAAuB;IALnC,wDAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,iFAA+C;;KAEhD,CAAC;;GACW,uBAAuB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPc;AACW;AACZ;IAOpC,sBAAsB,SAAtB,sBAAsB;IAEjC,YAAoB,WAAwB,EAAU,cAA8B;QAAhE,gBAAW,GAAX,WAAW,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAEpF,UAAK,GAAC,EAAE,CAAC;QACT,UAAK,GAAG,EAAE,CAAC;QACX,SAAI,GAAG,CAAC,CAAC;QACT,cAAS,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;IATyE,CAAC;IAWzF,QAAQ;QAEN,IAAI,CAAC,KAAK,GAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf;SACF;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3C,SAAS,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QAEJ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;YACxD,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,KAAK,CAAC;aACjE,SAAS,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;;;;;;AA/CU,sBAAsB;IALlC,wDAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,gFAA8C;;KAE/C,CAAC;yDAGiC,+DAAW,oBAAX,+DAAW,oDAA0B,2DAAc,oBAAd,2DAAc;GAFzE,sBAAsB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTe;AACW;AACA;IAOhD,wBAAwB,SAAxB,wBAAwB;IAEnC,YAAoB,WAAuB,EAAU,WAAuB;QAAxD,gBAAW,GAAX,WAAW,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAY;QAG5E,SAAI,GAAQ,IAAI,CAAC;IAHgE,CAAC;IAMlF,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC9C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAE9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;;;;;AAxBU,wBAAwB;IALpC,wDAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QACjC,mFAAiD;;KAElD,CAAC;yDAGgC,+DAAW,oBAAX,+DAAW,oDAAsB,+DAAW,oBAAX,+DAAW;GAFjE,wBAAwB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTqD;IAK7E,qBAAqB,SAArB,qBAAqB;IAChC,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;QAIpC,iBAAY,GAAG,IAAI,uDAAY,EAAc;IAHpD,CAAC;IAMM,OAAO,CAAC,KAAiB,EAAE,aAA0B;QAC1D,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7E,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;;;;;;2BAbA,iDAAM;sBAGN,uDAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;;AAPhD,qBAAqB;IAHjC,wDAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;yDAEiC,qDAAU,oBAAV,qDAAU;GADhC,qBAAqB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL2B;IAKhD,iBAAiB,SAAjB,iBAAiB;IAI5B,YAAY,EAAc;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;IAER,CAAC;IAED,kBAAkB;IAElB,CAAC;IACD,eAAe;QACb,2CAA2C;QAC3C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACpE,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,aAAa;QACX,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,cAAc,GAAG,UAAU,CAAC;YAChC,IAAI,YAAY,GAAG,cAAc,CAAC;YAElC,6BAA6B;YAE7B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;YAEzD,uBAAuB;YACvB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACjD,IAAI,uBAAuB,GAAG,SAAS,CAAC,MAAM,EAC5C,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;gBAE7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBAExE,8EAA8E;gBAC9E,OAAO,CAAC,GAAG,uBAAuB,EAAE,CAAC,EAAE,EAAE;oBACvC,SAAS,CAAC,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;oBAE1E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE;wBACzH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;wBACzD,MAAM;qBACP;iBACF;aACF;SACF;IACH,CAAC;IAED,YAAY,CAAC,EAAO;QAClB,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IAC3C,CAAC;;;;;;2BA1DA,gDAAK;;AAHK,iBAAiB;IAH7B,wDAAS,CAAC;QACT,QAAQ,EAAE,eAAe;KAC1B,CAAC;yDAKgB,qDAAU,oBAAV,qDAAU;GAJf,iBAAiB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLqB;AACQ;AACkE;AAE1E;IAItC,WAAW,SAAX,WAAW;IACtB,YAAoB,eAAgC,EAA8B,OAAe;QAA7E,oBAAe,GAAf,eAAe,CAAiB;QAA8B,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IAEtG,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QAC/D,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,QAAQ,IAAI,GAAG,EAAE;YACnB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;gBACtB,UAAU,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,GAAG,EAAC;aAC9C,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9B,mDAAG,CACD,KAAK,CAAC,EAAE;YACN,IAAI,KAAK,YAAY,mEAAiB,EAAE;gBACtC,IAAI,GAAG,GAAG,OAAO,CAAC;gBAClB,IAAI,OAAO,GAAG,OAAO,CAAC;gBAEtB,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAClD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;wBAC5B,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;qBACnB;iBACF;gBAED,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAEpB,QAAQ,KAAK,CAAC,MAAM,EAAE;oBACpB,KAAK,GAAG;wBACN,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,yCAAyC,EAAE;4BAC/E,GAAG,GAAG,EAAE,CAAC;4BACT,yBAAyB;4BACzB,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;gCAC/B,qCAAqC;gCACrC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gCAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oCAEtB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;wCACnB,GAAG,IAAI,CAAC,CAAE;qCACX;oCAAA,CAAC;iCACH;6BACF;yBACF;6BAAK,IAAI,CAAC,OAAO,CAAC,CAAC,KAAI,QAAQ,EAAG;4BACjC,GAAG,GAAG,CAAC,CAAC;yBACT;wBACD,MAAM;oBAER,KAAK,GAAG;wBACN,MAAM;oBAER,KAAK,GAAG;wBACN,GAAG,GAAG,2CAA2C,CAAC;wBAClD,MAAM;oBAER,KAAK,GAAG;wBACN,GAAG,GAAG,yCAAyC,CAAC;wBAChD,MAAM;oBAER,KAAK,GAAG;wBACN,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;4BAC1E,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;yBAC3B;wBACD,MAAM;oBAER,QAAQ;iBACT;gBAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC3C;QACH,CAAC,CACF,EAED,wDAAQ,CAAC,GAAG,EAAE;QACd,CAAC,CAAC,CACH,CAAC;IAEJ,CAAC;;;;yCA7EsD,iDAAM,SAAC,UAAU;;AAD7D,WAAW;IADvB,yDAAU,EAAE;yDAE0B,6DAAe,oBAAf,6DAAe;GADzC,WAAW;AAAA;;;;;;;;;;;;;;;;ACRxB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,0QAA0Q;AAC1Q,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,OAAO,GAAG,KAAK,CAAC;AAEf,MAAM,YAAY,GAAmB;IAC1C,IAAI;IACJ,gCAAgC;IAChC,qBAAqB;IACrB,6BAA6B;IAC7B,6BAA6B;IAC7B,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL,IAAI;IACJ,gCAAgC;IAChC,qBAAqB;IACrB,8BAA8B;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL,IAAI;IACJ,gCAAgC;IAChC,qBAAqB;IACrB,8BAA8B;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL,IAAI;IACJ,iCAAiC;IACjC,wCAAwC;IACxC,6BAA6B;IAC7B,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL,IAAI;IACJ,gCAAgC;IAChC,qBAAqB;IACrB,6BAA6B;IAC7B,wBAAwB;IACxB,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL,IAAI;IACJ,gCAAgC;IAChC,qBAAqB;IACrB,6BAA6B;IAC7B,6BAA6B;IAC7B,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,KAAK;IACL;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,YAAY;QACvB,2BAA2B;QAC3B,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;QACrB,4UAA4U;QAC5U,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;QACd,8CAA8C;QAC9C,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;KACd;CACF,CAAC;;;;;;;;;;;;;;;;AC7GK,MAAM,SAAS,GAAgB;IACpC;QACE,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,uCAAuC;QAC/C,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,oKAAoK;QAC9K,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;QAC3B,kBAAkB;QAClB,gBAAgB;QAChB,sBAAsB;QACtB,IAAI;KACL;IACD;QACE,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,iDAAiD;QACzD,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,wKAAwK;QAClL,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE;YACZ,MAAM,EAAE,wEAAwE;YAChF,YAAY,EAAE,wEAAwE;SACvF;KACF;IACD;QACE,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,uCAAuC;QAC9C,MAAM,EAAE,kDAAkD;QAC1D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,mLAAmL;QAC7L,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE;YACZ,MAAM,EAAE,wEAAwE;YAChF,YAAY,EAAE,wEAAwE;SACvF;KACF;IACD;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gDAAgD;QACxD,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,kLAAkL;QAC5L,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE;YACZ,MAAM,EAAE,oFAAoF;YAC5F,YAAY,EAAE,oFAAoF;SACnG;KACF;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,uDAAuD;QAC/D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,yLAAyL;QACnM,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE;YACZ,MAAM,EAAE,qFAAqF;YAC7F,YAAY,EAAE,qFAAqF;SACpG;KACF;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,wDAAwD;QAChE,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,6JAA6J;QACvK,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;KAC5B;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE,oDAAoD;QAC5D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,kLAAkL;QAC5L,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,MAAM;KAC1B;IACD;QACE,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,2CAA2C;QACnD,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,gJAAgJ;QAC1J,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;KAC5B;IACD;QACE,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,4CAA4C;QACpD,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,0IAA0I;QACpJ,IAAI,EAAE,OAAO;QACb,iBAAiB,EAAE,QAAQ;KAC5B;IACD;QACE,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,0CAA0C;QAClD,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,+IAA+I;QACzJ,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,MAAM;KAC1B;IACD;QACE,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,kDAAkD;QAC1D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,iKAAiK;QAC3K,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,MAAM;KAC1B;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,8CAA8C;QACrD,MAAM,EAAE,oDAAoD;QAC5D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,iLAAiL;QAC3L,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;KAC5B;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,sDAAsD;QAC7D,MAAM,EAAE,+DAA+D;QACvE,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,8LAA8L;QACxM,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,MAAM;KAC1B;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,uDAAuD;QAC9D,MAAM,EAAE,sDAAsD;QAC9D,UAAU,EAAE,kFAAkF;QAC9F,QAAQ,EAAE,yLAAyL;QACnM,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,QAAQ;KAC5B;CACF,CAAC;AAGF,YAAY;;;;;;;;;;;;;;;;ACtJL,MAAM,YAAY,GAAe;IACtC;QACE,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,mCAAmC;QAC7C,QAAQ,EAAE,+DAA+D;QACzE,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;KACf;IACD;QACE,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,uCAAuC;QACjD,QAAQ,EAAE,2CAA2C;QACrD,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;KACf;IACD;QACE,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,2CAA2C;QACrD,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;KACf;IACD;QACE,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,0DAA0D;QACpE,QAAQ,EAAE,2CAA2C;QACrD,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;KACf;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,iEAAiE;QAC3E,QAAQ,EAAE,oDAAoD;QAC9D,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDkD;AACgE;IAKvG,QAAQ,SAAR,QAAQ;IAEnB,YAAsB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAI,CAAC;IAE3C,SAAS,CAAC,KAAU,EAAE,IAAY;QACvC,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAClE,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACpE,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACtE,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAChE,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YAChF,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;SAClE;IACH,CAAC;;;;;AAbU,QAAQ;IAHpB,mDAAI,CAAC;QACJ,IAAI,EAAE,MAAM;KACb,CAAC;yDAGiC,mEAAY,oBAAZ,mEAAY;GAFlC,QAAQ;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN+B;AACG;AAClB;AACI;IAK5B,gBAAgB,SAAhB,gBAAgB;IAE3B,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAEjD,SAAS,CAAC,MAAa;QAErB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,wCAAE,EAAE,CAAC;SACb;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9C,mDAAG,CAAC,CAAC,CAAC,EAAE;QACR,CAAC,CAAC,EACF,mDAAG,CAAC,CAAC,CAAK,EAAE,EAAE;YACZ,OAAO,CAAC,CAAC,SAAS,GAAC,GAAG,GAAC,CAAC,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;;;;AAjBU,gBAAgB;IAH5B,mDAAI,CAAC;QACJ,IAAI,EAAE,cAAc;KACrB,CAAC;yDAGiC,+DAAW,oBAAX,+DAAW;GAFjC,gBAAgB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRc;AACW;AACA;AACS;IAGlDK,SAAS,SAATA,SAAS;EAEpBC,YAAoBC,SAA2B,EAASC,MAAc,EAAUC,IAAe;IAA3E,cAAS,GAATF,SAAS;IAA2B,WAAM,GAANC,MAAM;IAAkB,SAAI,GAAJC,IAAI;EACpF;EACMC,WAAW;IAAA;IAAA;MACf,MAAMC,KAAK,GAAGC,YAAY,CAACC,OAAO,CAAC,KAAK,CAAC;MAEzC,IAAIF,KAAK,IAAI,CAAC,KAAI,CAACJ,SAAS,CAACO,cAAc,CAACH,KAAK,CAAC,EAAE;QAClD,OAAO,IAAI;;MAGb,MAAMI,gBAAgB,SAAS,KAAI,CAACC,mBAAmB,CAACL,KAAK,CAAC;MAC9D,IAAI,CAACI,gBAAgB,EAAE;QACrB,KAAI,CAACP,MAAM,CAACS,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;;MAGlC,KAAI,CAACT,MAAM,CAACS,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;MAChC,OAAO,KAAK;IAAC;EACf;EAEcD,mBAAmB,CAACL,KAAa;IAAA;IAAA;MAE7C;MACA,MAAMO,YAAY,GAAWN,YAAY,CAACC,OAAO,CAAC,cAAc,CAAC;MACjE,IAAI,CAACF,KAAK,IAAI,CAACO,YAAY,EAAE;QAC3B,OAAO,KAAK;;MAEd,MAAMC,WAAW,GAAGC,IAAI,CAACC,SAAS,CAAC;QAAEC,WAAW,EAAEX,KAAK;QAAEO,YAAY,EAAEA;MAAY,CAAE,CAAC;MACtF,IAAIH,gBAAyB;MAC7B,IAAI;QACF,MAAMQ,QAAQ,SAAS,MAAI,CAACd,IAAI,CAACe,IAAI,CAAC,yCAAyC,EAAEL,WAAW,EAAE;UAC5FM,OAAO,EAAE,IAAIrB,6DAAW,CAAC;YACvB,cAAc,EAAE;WACjB,CAAC;UACFsB,OAAO,EAAE;SACV,CAAC,CAACC,SAAS,EAAE;QAEd,MAAMC,QAAQ,GAASL,QAAS,CAACM,IAAI,CAACP,WAAW;QACjD,MAAMQ,eAAe,GAASP,QAAS,CAACM,IAAI,CAACX,YAAY;QACzDN,YAAY,CAACmB,OAAO,CAAC,KAAK,EAAEH,QAAQ,CAAC;QACrChB,YAAY,CAACmB,OAAO,CAAC,cAAc,EAAED,eAAe,CAAC;QACrDf,gBAAgB,GAAG,IAAI;OAExB,CACD,OAAOiB,EAAE,EAAE;QACTjB,gBAAgB,GAAG,KAAK;;MAE1B,OAAOA,gBAAgB;IAAC;EAC1B;;;;;;;;;AAhDWV,SAAS,eADrBL,yDAAU,EAAE,uDAGoBE,gEAAgB,oBAAhBA,gEAAgB,oDAAiBD,mDAAM,oBAANA,mDAAM,oDAAeE,4DAAU,oBAAVA,4DAAU,mCAFpFE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN6B;AACV;AACS;AACC;AACF;AACT;AACc;IAMzC,WAAW,SAAX,WAAW;IAItB,YAAoB,MAAc,EAAU,IAAgB,EAA8B,OAAe,EAAU,SAA2B;QAA1H,WAAM,GAAN,MAAM,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAkB;QAQtI,iBAAY,GAAG,KAAK,CAAC;QACrB,qBAAgB,GAAG,cAAc,CAAC;QARxC,IAAI,CAAC,WAAW,GAAG,IAAI,iDAAe,CAAgB,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IACtD,CAAC;IAUD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,QAAgB;QAGnC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE;YACxD,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;SACnB,CAAC;aACC,IAAI,CAAC,mDAAG,CAAC,CAAC,CAA2B,EAAE,EAAE;YAExC,oCAAoC;YACpC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,uBAAuB;IACvB,sBAAsB;QAEpB,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,GAAG,EAAE;YACP,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACjD,0CAA0C;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAmB,CAAC,CAAC;SAC7E;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,MAAM;QAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sBAAsB,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;YAC3H,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,CAAC;IAED,wBAAwB;IACxB,QAAQ,CAAC,KAA+B;QAEtC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,2CAA2C;QAE3C,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAExD,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;YACzB,OAAO,uCAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uBAAuB,EAC/D;YACE,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,YAAY;SACC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACxD,IAAI,CAAC,mDAAG,CAAC,CAAC,CAA2B,EAAE,EAAE;YACxC,kCAAkC;YAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,EACA,0DAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAEzB,gDAAgD;YAChD,IAAI,GAAG,CAAC,KAAK,KAAK,wBAAwB,IAAI,GAAG,CAAC,KAAK,KAAK,oBAAoB,EAAE;gBAChF,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;YAED,OAAO,uCAAK,CAAC;QACf,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAEO,sBAAsB;QAE5B,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACzD,kEAAkE;QAElE,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAEO,qBAAqB;QAC3B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAClD,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,EACjD,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;;;;;yCA3H8D,iDAAM,SAAC,UAAU;;;AAJrE,WAAW;IAHvB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;yDAK4B,mDAAM,oBAAN,mDAAM,oDAAgB,4DAAU,oBAAV,4DAAU,4DAAkE,gEAAgB,oBAAhB,gEAAgB;GAJnI,WAAW;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZgC;AAC2B;AAC5C;IAM1B,aAAa,SAAb,aAAa;IAUxB,YAAoB,gBAA8B;QAA9B,qBAAgB,GAAhB,gBAAgB,CAAc;QARlD,SAAI,GAAS,MAAM,CAAC;QACpB,mBAAc,GAAY,KAAK,CAAC;QAEhC,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,IAAI,iDAAe,CAAe,SAAS,CAAC,CAAC;QAC7D,cAAS,GAAG,IAAI,iDAAe,CAAY,CAAC,CAAC,CAAC;QAC9C,oBAAe,GAAG,IAAI,iDAAe,CAAW,SAAS,CAAC,CAAC;IAEL,CAAC;IAEvD,aAAa,CAAC,OAAiB;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,KAAmB;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,OAA0B;QAC7C,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;aACI,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAClE,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,WAAW,GAAG,gBAAgB,MAAM,EAAE,CAAC;YAC9C,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,WAAW,GAAG,aAAa,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,CAAC,CACF,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAW;QAClC,IAAI,MAAM,KAAK,mFAA2B,EAAE;YAC1C,kCAAkC;SACnC;aAAM,IAAI,MAAM,KAAK,8FAAsC,EAAE;YAC5D,8CAA8C;YAC9C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;aAAM;YACL,kCAAkC;SACnC;IACH,CAAC;IAED,aAAa,CAAC,OAA0B;QACtC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,SAAS,CAAC,IAAU;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;;;;;AAnEU,aAAa;IAJzB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;yDAYsC,oEAAY,oBAAZ,oEAAY;GAVvC,aAAa;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRwB;AACC;AACS;IAK/C,aAAa,SAAb,aAAa;IAKxB,YAAoB,IAAgB,EAA8B,OAAe;QAA7D,SAAI,GAAJ,IAAI,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAQ;QAHjF,qBAAgB,GAAG,IAAI,iDAAe,CAAS,EAAE,CAAC,CAAC;QACnD,eAAU,GAAG,IAAI,yCAAO,EAAE,CAAC;IAE0D,CAAC;IAEtF,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,gDAAgD;IAChD,yFAAyF;IACzF,IAAI;IAEJ,mCAAmC;IACnC,6BAA6B;IAC7B,0EAA0E;IAC1E,gDAAgD;IAEhD,wBAAwB;IACxB,IAAI;IAEJ,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,IAAY;QAChC,MAAM,OAAO,GAAW;YACtB,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;;;;yCA5CsC,iDAAM,SAAC,UAAU;;AAL7C,aAAa;IAHzB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;yDAM0B,4DAAU,oBAAV,4DAAU;GALzB,aAAa;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiB;AACK;IAKnC,aAAa,SAAb,aAAa;IAMxB;QAJA,UAAK,GAAiB,IAAI,yCAAO,EAAO,CAAC;QAEzC,iBAAY,GAAG,IAAI,iDAAe,CAAM,SAAS,CAAC,CAAC;IAEnC,CAAC;IAEjB,eAAe,CAAC,OAAY;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;;;AAVU,aAAa;IAHzB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,aAAa;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNiB;AACJ;IAK1B,YAAY,SAAZ,YAAY;IAIvB;QAFA,oBAAe,GAAG,IAAI,iDAAe,CAAU,EAAE,CAAC,CAAC;IAEnC,CAAC;IAEjB,UAAU,CAAC,EAAW;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;;;AARU,YAAY;IAHxB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,YAAY;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNyB;AACC;IAMtC,aAAa,SAAb,aAAa;IAIxB,YAAoB,IAAgB,EAA8B,OAAe;QAA7D,SAAI,GAAJ,IAAI,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IAEtF,qBAAqB,CAAC,IAA4B;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU,CAAC,IAAoB;QAC7B,qBAAqB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;;;;yCAjBsC,iDAAM,SAAC,UAAU;;AAJ7C,aAAa;IAHzB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;yDAK0B,4DAAU,oBAAV,4DAAU;GAJzB,aAAa;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiB;AACO;AACX;IAK1B,WAAW,SAAX,WAAW;IAEtB,YAAoB,IAAgB,EAA8B,OAAe;QAA7D,SAAI,GAAJ,IAAI,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IAEtF,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAC;IACnE,CAAC;IAED,yBAAyB;IACzB,4EAA4E;IAC5E,GAAG;IAEH,UAAU,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,CAAC,UAAU,GAAG,EAAE;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAC;QAExD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;IACnE,CAAC;;;;yCA9BsC,iDAAM,SAAC,UAAU;;AAF7C,WAAW;IAHvB,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;yDAG0B,4DAAU,oBAAV,4DAAU;GAFzB,WAAW;AAAA;;;;;;;;;;;;;;;;ACPxB,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,kFAAkF;CAC9F,CAAC;AAEF;;;;;GAKG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;;;;ACftE;;GAEG;AAC6B;AACe;AAC4B;AAE9B;AACY;AAElD,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAEF,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,yFAAsB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,sDAAS,CAAC;KACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACvBlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app.component.ts","./src/app/app.initializer.ts","./src/app/app.module.ts","./src/app/components/NavMenu/admin-nav-menu-top/admin-nav-menu-top.component.ts","./src/app/components/NavMenu/nav-menu-side/nav-menu-side.component.ts","./src/app/components/NavMenu/nav-menu-top/nav-menu-top.component.ts","./src/app/components/Pages/about/about.component.ts","./src/app/components/Pages/coming-events/coming-events.component.ts","./src/app/components/Pages/coming-events/modals/nv-gathering-modal/nv-gathering-modal.component.ts","./src/app/components/Pages/coming-events/special-events/him-conference/him-conference.component.ts","./src/app/components/Pages/home/home.component.ts","./src/app/components/Pages/lyrics/lyrics-components/lyrics-content.component.ts","./src/app/components/Pages/lyrics/mainPage/lyrics.component.ts","./src/app/components/Pages/music/music.component.ts","./src/app/components/Pages/resources/resources.component.ts","./src/app/components/Pages/sessions/sessions.component.ts","./src/app/components/Pages/support-nvpage/modals/paypal-modal/paypal-modal.component.ts","./src/app/components/Pages/support-nvpage/support-nvpage.component.ts","./src/app/components/Pages/test/pay-pal-test/pay-pal-test.component.ts","./src/app/components/admin/admin.component.ts","./src/app/components/admin/create-user-form/create-user-form.component.ts","./src/app/components/admin/login-form/login-form.component.ts","./src/app/components/admin/main-admin/main-admin.component.ts","./src/app/components/commonComponents/button/button.component.ts","./src/app/components/commonComponents/give-button/give-button.component.ts","./src/app/components/commonComponents/modals/lyrics-modal/add-lyrics/add-lyrics-modal.component.ts","./src/app/components/commonComponents/modals/lyrics-modal/delete-lyrics-modal/delete-lyrics-modal.component.ts","./src/app/components/commonComponents/modals/lyrics-modal/edit-lyrics/edit-lyrics-modal.component.ts","./src/app/components/commonComponents/modals/lyrics-modal/lyrics-modal.component.ts","./src/app/components/unused/management-page/management-page.component.ts","./src/app/components/unused/reset-password/reset-password.component.ts","./src/app/components/unused/user-profile-edit/user-profile-edit.component.ts","./src/app/directives/clickOutside-directive.ts","./src/app/directives/ellipsis-directive.ts","./src/app/interceptors/interceptor.ts","./src/app/models/comingEvents.ts","./src/app/models/music.ts","./src/app/models/sessions.ts","./src/app/pipes/safe.pipe.ts","./src/app/pipes/user-full-name.pipe.ts","./src/app/services/auth-guard.service.ts","./src/app/services/auth.service.ts","./src/app/services/helper.service.ts","./src/app/services/lyrics.service.ts","./src/app/services/modals.service.ts","./src/app/services/music.service.ts","./src/app/services/pay-pal.service.ts","./src/app/services/user.service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { AfterContentInit, AfterViewInit, Component, HostListener, OnInit, TemplateRef } from '@angular/core';\r\nimport { HelperService } from './services/helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { NgbOffcanvas } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n title = 'app';\r\n active = 1;\r\n innerWidth: any;\r\n\r\n // If changed, these values needs to be changed in music, sessions and resources as well\r\n H5H6Breakpoint: string = \"450\";\r\n H4H5Breakpoint: string = \"1200\";\r\n\r\n constructor(\r\n private helpService: HelperService,\r\n private router: Router,\r\n private offcanvasService: NgbOffcanvas,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n // this.active = 1;\r\n this.helpService.activeTab.subscribe((tab) => { this.active = tab });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n renderH4() {\r\n if (this.innerWidth >= this.H4H5Breakpoint) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n renderH5() {\r\n if (this.innerWidth >= this.H5H6Breakpoint) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n renderH6() {\r\n if (this.innerWidth < this.H5H6Breakpoint) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n open(content: TemplateRef) {\r\n this.offcanvasService.open(content, { position: 'end' })\r\n }\r\n\r\n get getIsExpanded() {\r\n return this.helpService.getIsSideMenuOpen;\r\n }\r\n\r\n closeSideMenu(content: TemplateRef) {\r\n return this.helpService.closeSideMenu(content);\r\n }\r\n\r\n isTabContent() {\r\n if (this.router.url === \"/music\" || this.router.url === \"/sessions\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n setActiveTab(tab: ActiveTab) {\r\n this.helpService.setActiveTab(tab);\r\n }\r\n\r\n get isMainApp(): boolean {\r\n if (\r\n this.router.url !== \"/admin\" &&\r\n this.router.url !== \"/admin/user\" &&\r\n this.router.url !== \"/admin/management\" &&\r\n this.router.url !== \"/admin/main\" &&\r\n this.router.url !== \"/admin/create-user\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import { AuthService } from './services/auth.service';\r\n\r\nexport function appInitializer(authService:AuthService) {\r\n return () => new Promise(resolve => {\r\n\r\n\r\n // console.log('app initializer running..');\r\n\r\n\r\n \r\n\r\n // attempt to refresh token on app start up to auto authenticate\r\n authService.refreshToken()\r\n .subscribe()\r\n .add(resolve);\r\n });\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NotifierModule } from 'angular-notifier';\r\nimport { RouterModule } from '@angular/router';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\nimport { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './components/Pages/home/home.component';\r\nimport { NavMenuTopComponent } from './components/NavMenu/nav-menu-top/nav-menu-top.component';\r\nimport { NavMenuSideComponent } from './components/NavMenu/nav-menu-side/nav-menu-side.component';\r\nimport { MusicComponent } from './components/Pages/music/music.component';\r\nimport { LyricsComponent } from './components/Pages/lyrics/mainPage/lyrics.component';\r\nimport { SupportNVPageComponent } from './components/Pages/support-nvpage/support-nvpage.component';\r\nimport { ResourcesComponent } from './components/Pages/resources/resources.component';\r\nimport { ButtonComponent } from './components/commonComponents/button/button.component';\r\nimport { GiveButtonComponent } from './components/commonComponents/give-button/give-button.component';\r\nimport { LyricsContentComponent } from './components/Pages/lyrics/lyrics-components/lyrics-content.component';\r\nimport { CreateUserFormComponent } from './components/admin/create-user-form/create-user-form.component';\r\nimport { ManagementPageComponent } from './components/unused/management-page/management-page.component';\r\nimport { LoginFormComponent } from './components/admin/login-form/login-form.component';\r\nimport { AdminComponent } from './components/admin/admin.component';\r\nimport { UserProfileEditComponent } from './components/unused/user-profile-edit/user-profile-edit.component';\r\nimport { AdminNavMenuTopComponent } from './components/NavMenu/admin-nav-menu-top/admin-nav-menu-top.component';\r\nimport { ResetPasswordComponent } from './components/unused/reset-password/reset-password.component';\r\nimport { MainAdminComponent } from './components/admin/main-admin/main-admin.component';\r\nimport { LyricsModalComponent } from './components/commonComponents/modals/lyrics-modal/lyrics-modal.component';\r\nimport { AddLyricsModalComponent } from './components/commonComponents/modals/lyrics-modal/add-lyrics/add-lyrics-modal.component';\r\nimport { EditLyricsModalComponent } from './components/commonComponents/modals/lyrics-modal/edit-lyrics/edit-lyrics-modal.component';\r\nimport { DeleteLyricsModalComponent } from './components/commonComponents/modals/lyrics-modal/delete-lyrics-modal/delete-lyrics-modal.component';\r\nimport { AboutComponent } from './components/Pages/about/about.component';\r\nimport { ComingEventsComponent } from './components/Pages/coming-events/coming-events.component';\r\n\r\nimport { AuthGuard } from './services/auth-guard.service';\r\nimport { HelperService } from './services/helper.service';\r\nimport { LyricsService } from './services/lyrics.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { appInitializer } from './app.initializer';\r\nimport { Interceptor } from './interceptors/interceptor';\r\nimport { UserFullNamePipe } from './pipes/user-full-name.pipe';\r\nimport { PaypalModalComponent } from './components/Pages/support-nvpage/modals/paypal-modal/paypal-modal.component';\r\nimport { SafePipe } from './pipes/safe.pipe';\r\nimport { EllipsisDirective } from './directives/ellipsis-directive';\r\nimport { HIMConferenceComponent } from './components/Pages/coming-events/special-events/him-conference/him-conference.component';\r\nimport { SessionsComponent } from './components/Pages/sessions/sessions.component';\r\nimport { ClickOutsideDirective } from './directives/clickOutside-directive';\r\nimport { NvGatheringModalComponent } from './components/Pages/coming-events/modals/nv-gathering-modal/nv-gathering-modal.component';\r\nimport { PayPalTestComponent } from './components/Pages/test/pay-pal-test/pay-pal-test.component';\r\nimport { ModalsService } from './services/modals.service';\r\n\r\nexport function tokenGetter() {\r\n return localStorage.getItem('jwt');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n\r\n // Main Page\r\n NavMenuTopComponent,\r\n NavMenuSideComponent,\r\n HomeComponent,\r\n ComingEventsComponent,\r\n MusicComponent,\r\n LyricsComponent,\r\n ResourcesComponent,\r\n SupportNVPageComponent,\r\n ButtonComponent,\r\n GiveButtonComponent,\r\n LyricsContentComponent,\r\n AboutComponent,\r\n\r\n // Admin Page\r\n AdminNavMenuTopComponent,\r\n AdminComponent,\r\n MainAdminComponent,\r\n LoginFormComponent,\r\n CreateUserFormComponent,\r\n LyricsModalComponent,\r\n AddLyricsModalComponent,\r\n EditLyricsModalComponent,\r\n DeleteLyricsModalComponent,\r\n\r\n PaypalModalComponent,\r\n\r\n // Tools\r\n SafePipe,\r\n EllipsisDirective,\r\n ClickOutsideDirective,\r\n\r\n // Special events\r\n HIMConferenceComponent,\r\n \r\n // Unused\r\n UserProfileEditComponent,\r\n UserFullNamePipe,\r\n ManagementPageComponent,\r\n ResetPasswordComponent,\r\n SessionsComponent,\r\n NvGatheringModalComponent,\r\n PayPalTestComponent,\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NotifierModule.withConfig({\r\n position: {\r\n horizontal: {\r\n position: 'middle',\r\n distance: 12\r\n },\r\n vertical: {\r\n position: 'top',\r\n distance: 12,\r\n gap: 10\r\n }\r\n },\r\n theme: 'material',\r\n behaviour: {\r\n autoHide: 6000,\r\n onClick: 'hide',\r\n onMouseover: 'pauseAutoHide',\r\n showDismissButton: true,\r\n stacking: 10\r\n },\r\n animations: {\r\n enabled: true,\r\n show: {\r\n preset: 'slide',\r\n speed: 300,\r\n easing: 'ease'\r\n },\r\n hide: {\r\n preset: 'fade',\r\n speed: 300,\r\n easing: 'ease',\r\n offset: 50\r\n },\r\n shift: {\r\n speed: 300,\r\n easing: 'ease'\r\n },\r\n overlap: 150\r\n }\r\n }),\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter,\r\n whitelistedDomains: [\"localhost:5000\"],\r\n blacklistedRoutes: []\r\n }\r\n }),\r\n RouterModule.forRoot([\r\n { path: '', component: HomeComponent },\r\n { path: 'coming-events', component: ComingEventsComponent },\r\n { path: 'coming-events/event/HIM-conference', component: HIMConferenceComponent },\r\n // { path: 'resources', component: ResourcesComponent },\r\n { path: 'sessions', component: SessionsComponent },\r\n { path: 'music', component: MusicComponent },\r\n // { path: 'lyrics', component: LyricsComponent },\r\n { path: 'about', component: AboutComponent },\r\n { path: 'giving', component: SupportNVPageComponent },\r\n\r\n { path: 'admin', component: AdminComponent },\r\n { path: 'admin/login', component: LoginFormComponent },\r\n { path: 'admin/main', component: MainAdminComponent },\r\n { path: 'admin/user', component: UserProfileEditComponent, canActivate: [AuthGuard] },\r\n { path: 'admin/management', component: ManagementPageComponent, canActivate: [AuthGuard] },\r\n { path: 'admin/reset-password', component: ResetPasswordComponent },\r\n { path: 'admin/create-user', component: CreateUserFormComponent },\r\n\r\n // { path: 'test', component: PayPalTestComponent }\r\n \r\n ], { relativeLinkResolution: 'legacy', useHash: true, onSameUrlNavigation: \"reload\" }),\r\n NgbModule,\r\n FontAwesomeModule,\r\n BrowserAnimationsModule,\r\n ],\r\n // exports: [RouterModule],\r\n providers: [\r\n { provide: APP_INITIALIZER, useFactory: appInitializer, multi: true, deps: [AuthService] },\r\n AuthGuard,\r\n // { provide: HTTP_INTERCEPTORS, useClass: AuthorizeInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: Interceptor, multi: true },\r\n LyricsService,\r\n HelperService,\r\n ModalsService,\r\n NgbActiveModal,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-admin-nav-menu-top',\r\n templateUrl: './admin-nav-menu-top.component.html',\r\n styleUrls: ['./admin-nav-menu-top.component.scss']\r\n})\r\nexport class AdminNavMenuTopComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n loggedInUser: ILoggedInUser | null = null;\r\n \r\n ngOnInit(): void {\r\n this.authService.loggedInUser.subscribe(x => {\r\n this.loggedInUser = x;\r\n });\r\n }\r\n\r\n public logOut = () => {\r\n this.authService.logout();\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { musicData } from 'src/app/models/music';\r\nimport { sessionsData } from 'src/app/models/sessions';\r\nimport { HelperService } from 'src/app/services/helper.service';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\nimport { MusicService } from 'src/app/services/music.service';\r\n\r\n@Component({\r\n selector: 'app-nav-menu-side',\r\n templateUrl: './nav-menu-side.component.html',\r\n styleUrls: ['./nav-menu-side.component.css', '../../../../styles.css']\r\n})\r\nexport class NavMenuSideComponent implements OnInit {\r\n\r\n lyrics: Lyrics[] = [];\r\n albumData = musicData;\r\n sessions = sessionsData;\r\n\r\n @Input() offcanvasContent: TemplateRef | undefined = undefined;\r\n\r\n constructor(\r\n private helpService: HelperService,\r\n private lyricsService: LyricsService,\r\n private musicService: MusicService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lyricsService.getAllLyrics().subscribe((lyrics) => (this.lyrics = lyrics));\r\n }\r\n\r\n isSideMenuOpen() {\r\n return this.helpService.getIsSideMenuOpen;\r\n }\r\n\r\n closeSideMenu(activeTab: ActiveTab) {\r\n this.helpService.setActiveTab(activeTab);\r\n this.helpService.closeSideMenu(this.offcanvasContent);\r\n }\r\n\r\n closeSideMenuMusic(activeTab: ActiveTab) {\r\n this.helpService.setActiveTab(activeTab);\r\n this.helpService.closeSideMenu(this.offcanvasContent);\r\n }\r\n\r\n closeSideMenuSession(session: Sessions) {\r\n this.helpService.selectSession(session);\r\n this.helpService.closeSideMenu(this.offcanvasContent);\r\n}\r\n\r\n setAlbumId(id: AlbumId) {\r\n this.helpService.setActiveTab(2);\r\n this.musicService.setAlbumId(id);\r\n }\r\n\r\n setLyricsId(id: string) {\r\n this.lyricsService.changeLyricsId(id);\r\n }\r\n\r\n get getLyrics(): Lyrics[] {\r\n return this.lyrics;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, HostListener, Input, TemplateRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { comingEvents } from 'src/app/models/comingEvents';\r\nimport { HelperService } from 'src/app/services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-nav-menu-top',\r\n templateUrl: './nav-menu-top.component.html',\r\n styleUrls: ['./nav-menu-top.component.scss', '../../../../styles.css'],\r\n})\r\nexport class NavMenuTopComponent implements OnInit {\r\n\r\n innerWidth: any;\r\n navBreakpoint: string = \"500\";\r\n comingEventsData: ComingEvents[] = comingEvents;\r\n\r\n @Input() offcanvasContent: TemplateRef | undefined = undefined;\r\n @Output() expanded = new EventEmitter();\r\n\r\n constructor(\r\n private router: Router,\r\n private helpService: HelperService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n // console.log(\"IN TOP\", this.router.routerState.root.url);\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n getIsExpanded() {\r\n return this.helpService.getIsSideMenuOpen;\r\n }\r\n\r\n closeSideMenu() {\r\n // shouldReuseRoute makes the page re-render when page is already active\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () { return false; };\r\n return this.helpService.closeSideMenu(this.offcanvasContent);\r\n }\r\n\r\n toggleSideMenu() {\r\n this.helpService.toggleIsSideMenuOpen(this.offcanvasContent);\r\n }\r\n\r\n get getRouteName(): string | undefined {\r\n if (this.router.url === \"/\") { return \"\"; }\r\n if (this.router.url === \"/music\") { return \"MUSIC\"; }\r\n if (this.router.url === \"/resources\") { return \"\"; }\r\n if (this.router.url === \"/lyrics\") { return \"LYRICS\"; }\r\n if (this.router.url === \"/sessions\") { return \"SESSIONS\"; }\r\n if (this.router.url === \"/coming-events\") { return \"EVENTS\"; }\r\n if (this.router.url === \"/coming-events/event/HIM-conference\") { return \"EVENTS\"; }\r\n if (this.router.url === \"/about\") { return \"ABOUT\"; }\r\n if (this.router.url === \"/giving\") { return \"GIVING\"; }\r\n }\r\n\r\n selectEvent(event: ComingEvents) {\r\n // shouldReuseRoute makes the page re-render when page is already active\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () { return false; };\r\n this.helpService.selectEvent(event);\r\n this.closeSideMenu();\r\n }\r\n\r\n // Filters out the events that have passed\r\n filteredEvents() {\r\n let now = moment().subtract(1, \"d\").format(\"YYYYMMDD\");\r\n return this.comingEventsData.filter((event) => moment(event.startDate).format(\"YYYYMMDD\") > now).slice(0, 4);\r\n }\r\n}\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.scss', '../../../../styles.css']\r\n})\r\nexport class AboutComponent implements OnInit {\r\n\r\n innerWidth: any;\r\n active = 1;\r\n H5H6Breakpoint: string = \"450\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n renderH5() {\r\n if (this.innerWidth >= this.H5H6Breakpoint) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n renderH6() {\r\n if (this.innerWidth < this.H5H6Breakpoint) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { comingEvents } from 'src/app/models/comingEvents';\nimport { HelperService } from 'src/app/services/helper.service';\nimport { NvGatheringModalComponent } from './modals/nv-gathering-modal/nv-gathering-modal.component';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-coming-events',\n templateUrl: './coming-events.component.html',\n styleUrls: ['./coming-events.component.scss', '../../../../styles.css'],\n})\nexport class ComingEventsComponent implements OnInit, AfterViewInit {\n\n comingEventsData: ComingEvents[] = comingEvents;\n selectedEvent: ComingEvents = undefined;\n showGatheringModal: boolean = false;\n\n test: string;\n\n constructor(\n private router: Router,\n private helperService: HelperService,\n private modalService: NgbModal,\n private ref: ChangeDetectorRef,\n ) {\n helperService.selectedEvent.subscribe(e => this.selectedEvent = e);\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n if (this.selectedEvent) {\n this.openEvent(this.selectedEvent);\n }\n }\n\n // Filters out the events that have passed\n filteredEvents() {\n let now = moment().subtract(1, \"d\").format(\"YYYYMMDD\");\n return this.comingEventsData.filter((event) => moment(event.startDate).format(\"YYYYMMDD\") > now);\n }\n\n showDate(date: string) {\n return moment((date), false).format(\"DD/MM-YYYY\");\n }\n\n scrollToEvent() {\n this.router.navigate([], { fragment: this.selectedEvent.eventId });\n }\n\n lengthCheck(event: ComingEvents) {\n const eventLength = event.mainText.length;\n if (eventLength < 200) {\n return false;\n } else {\n return true;\n }\n }\n\n closeResult = \"\";\n\n openEvent(event: ComingEvents) {\n if (event.type === \"nvg\") {\n this.modalService.open(NvGatheringModalComponent, {\n size: \"md\",\n centered: true,\n })\n .result.then(\n (result) => {\n this.helperService.selectEvent(undefined);\n this.closeResult = `Closed with: ${result}`;\n },\n (reason) => {\n this.helperService.selectEvent(undefined);\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\n },\n );\n } else if (event.type === \"conference\") {\n // this.router.navigate([event.url]);\n }\n }\n\n private getDismissReason(reason: any): string {\n if (reason === ModalDismissReasons.ESC) {\n this.helperService.selectEvent(undefined);\n return 'by pressing ESC';\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n this.helperService.selectEvent(undefined);\n return 'by clicking on a backdrop';\n } else {\n this.helperService.selectEvent(undefined);\n return `with: ${reason}`;\n }\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { NgbActiveModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { HelperService } from 'src/app/services/helper.service';\n\n@Component({\n selector: 'app-nv-gathering-modal',\n templateUrl: './nv-gathering-modal.component.html',\n styleUrls: ['./nv-gathering-modal.component.scss', '../../../../../../styles.css']\n})\nexport class NvGatheringModalComponent implements OnInit, AfterViewInit {\n\n closeResult = '';\n @Input() title;\n @ViewChild(\"content\") modalContent: ElementRef;\n modalRef: NgbModalRef;\n\n constructor(private helperService: HelperService, public activeModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n // this.open();\n // console.log(this.title);\n }\n\n ngAfterViewInit(): void {\n // this.open();\n // if (this.modalContent) {\n // this.modalRef = this.modalService.open(this.modalContent, {\n // // ariaLabelledBy: 'modal-basic-title',\n // });\n // // this.modalRef.dismiss();\n // }\n }\n\n // open = (): void => {\n // // this.modalRef = this.modalService.open(this.modalContent, {\n // // // ariaLabelledBy: 'modal-basic-title',\n // // });\n // // this.modalRef.result.then(\n // // (resolved) => {},\n // // (dismissed) => {\n // // this.OnClose();\n // // }\n // // );\n // };\n\n OnClose = () => {\n // this.modalRef.close();\n this.helperService.selectEvent(undefined);\n this.activeModal.dismiss('Cross click');\n };\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-him-conference',\n templateUrl: './him-conference.component.html',\n styleUrls: ['./him-conference.component.scss', '../../../../../../styles.css']\n})\nexport class HIMConferenceComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { sessionsData } from 'src/app/models/sessions';\r\nimport { HelperService } from 'src/app/services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n allSessions: Sessions[] = sessionsData;\r\n session: Sessions = undefined;\r\n\r\n constructor(private helperService: HelperService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.helperService.selectedSession.subscribe((selected) => this.session = selected);\r\n // console.log(\"Session:\", this.session);\r\n\r\n if (this.session !== undefined) {\r\n this.session = this.session;\r\n } else {\r\n this.session = this.allSessions[0];\r\n }\r\n }\r\n\r\n videoSource(): string {\r\n if (this.session !== undefined) {\r\n return this.session.videoSrc;\r\n } else {\r\n return this.allSessions[0].videoSrc;\r\n }\r\n }\r\n}\r\n","import { Component, HostListener, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\n\r\n@Component({\r\n selector: 'app-lyrics-content',\r\n templateUrl: './lyrics-content.component.html',\r\n styleUrls: [\r\n '../../../../../styles.css',\r\n '../mainPage/lyrics.component.scss',\r\n './lyrics-content.component.scss',\r\n ]\r\n})\r\nexport class LyricsContentComponent implements OnInit, OnChanges {\r\n\r\n selectedLyricsId: string | undefined;\r\n lyrics: Lyrics[] = [];\r\n // songWriters: string[];\r\n\r\n innerWidth: any;\r\n\r\n constructor(private lyricsService: LyricsService) { }\r\n\r\n ngOnInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n this.lyricsService.selectedLyricsId.subscribe(e => this.selectedLyricsId = e);\r\n this.lyricsService.getAllLyrics().subscribe(e => {\r\n this.lyrics = e;\r\n if (this.selectedLyricsId === undefined || this.selectedLyricsId === \"\") {\r\n this.lyricsService.getAllLyrics().subscribe(e => this.selectedLyricsId = e[0].id);\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!changes.selectedLyricId.firstChange) {\r\n // console.log(changes.selectedLyricId.currentValue);\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n youtubeSize() {\r\n if (this.innerWidth <= 430) {\r\n return { height: \"169px\", width: \"300px\" }\r\n }\r\n if (this.innerWidth > 430 && this.innerWidth <= 900) {\r\n return { height: \"225px\", width: \"400px\" }\r\n }\r\n else if (this.innerWidth > 900) {\r\n return { height: \"315px\", width: \"560px\" }\r\n }\r\n else {\r\n return { height: \"315px\", width: \"560px\" }\r\n }\r\n }\r\n\r\n showSongTitle() {\r\n const selectedLyrics = this.lyrics.find((e) => this.selectedLyricsId === e.id);\r\n\r\n return selectedLyrics?.title ?? \"\";\r\n }\r\n\r\n showSongWriters(): string {\r\n const selectedLyrics = this.lyrics.find((e) => this.selectedLyricsId === e.id);\r\n\r\n return selectedLyrics?.songWriters ?? \"\";\r\n }\r\n\r\n showYouTube() {\r\n const selectedLyrics = this.lyrics.find((e) => this.selectedLyricsId === e.id);\r\n\r\n if (selectedLyrics && selectedLyrics.youtubeLink && selectedLyrics.youtubeLink !== null) {\r\n return selectedLyrics.youtubeLink;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n returnLyrics(): string {\r\n const selectedLyrics = this.lyrics.find((e) => this.selectedLyricsId === e.id);\r\n\r\n return selectedLyrics?.lyricSection ?? \"\";\r\n }\r\n}\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\n\r\n@Component({\r\n selector: 'app-lyrics',\r\n templateUrl: './lyrics.component.html',\r\n styleUrls: [\r\n '../../../../../styles.css',\r\n './lyrics.component.scss',\r\n ]\r\n})\r\nexport class LyricsComponent implements OnInit {\r\n\r\n searchValue: string = \"\";\r\n lyrics: Lyrics[] = [];\r\n selectedLyric?: Lyrics;\r\n selectedLyricsId: string = \"\";\r\n\r\n innerWidth: any;\r\n breakpoint: string = \"767\";\r\n\r\n isCollapsed: boolean = true;\r\n\r\n constructor(private lyricsService: LyricsService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.lyricsService.getAllLyrics().subscribe((lyrics) => (this.lyrics = lyrics));\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n // console.log(this.innerWidth)\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n selectLyricsId(lyricsId: string) {\r\n this.lyricsService.changeLyricsId(lyricsId);\r\n this.isCollapsed = true;\r\n }\r\n\r\n get filterList(): Lyrics[] {\r\n const filtered = this.lyrics?.filter(e => {\r\n return (\r\n this.searchValue === \"\" ||\r\n e.title.toLowerCase().includes(this.searchValue.toLowerCase())\r\n );\r\n });\r\n\r\n return filtered;\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { musicData } from 'src/app/models/music';\r\nimport { MusicService } from 'src/app/services/music.service';\r\n\r\n@Component({\r\n selector: 'app-music',\r\n templateUrl: './music.component.html',\r\n styleUrls: [\r\n '../../../../styles.css',\r\n './music.component.scss'\r\n ]\r\n})\r\nexport class MusicComponent implements OnInit, AfterViewInit {\r\n\r\n innerWidth: any;\r\n albumId: AlbumId = \"\";\r\n musicProvider: MusicProvider = \"\";\r\n isResource: boolean = false;\r\n\r\n albumData: MusicData[] = musicData;\r\n\r\n @ViewChild('album') albumBody: ElementRef;\r\n albumWidth: number;\r\n\r\n constructor(private musicService: MusicService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n this.musicService.selectedAlbumId.subscribe((id) => this.albumId = id);\r\n if (this.router.url !== \"/music\") {\r\n this.closeCard();\r\n }\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n if (this.router.url !== \"/music\") {\r\n this.closeCard();\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.albumWidth = this.albumBody.nativeElement.offsetWidth;\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n setAlbumId(newAlbumId: AlbumId) {\r\n this.isResource = false;\r\n this.musicProvider = \"\";\r\n this.albumId = newAlbumId;\r\n this.albumWidth = this.albumBody.nativeElement.offsetWidth;\r\n }\r\n\r\n setMusicProvider(provider: MusicProvider) {\r\n this.isResource = false;\r\n this.musicProvider = provider;\r\n }\r\n\r\n setResources(value: boolean) {\r\n this.isResource = value;\r\n // console.log(this.isResource);\r\n }\r\n\r\n closeCard() {\r\n this.albumId = \"\";\r\n this.musicProvider = \"\";\r\n this.isResource = false;\r\n }\r\n\r\n getContainerSize() {\r\n if (this.innerWidth < 500) { return 300; }\r\n else { return 500; }\r\n }\r\n\r\n renderType(musicType: AlbumType) {\r\n if (musicType === \"album\") {\r\n return \"ALBUM\";\r\n } else if (musicType === \"ep\") {\r\n return \"EP\";\r\n } else if (musicType === \"single\") {\r\n return \"SINGLE\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n showFirstPageWithResources(selectedAlbumId: string): boolean {\r\n if (this.albumId === selectedAlbumId && this.musicProvider === '' && this.isResource === false) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n showFirstPageNoResources(selectedAlbumId: string): boolean {\r\n if (this.musicProvider !== '' && this.albumId !== '' && this.albumId === selectedAlbumId && this.isResource === false) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n showSpotify(selectedAlbumId: string): boolean {\r\n if (this.musicProvider === 'spotify' && this.albumId === selectedAlbumId && this.isResource === false) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n \r\n showAppleMusic(selectedAlbumId: string): boolean {\r\n if (this.musicProvider === 'apple' && this.albumId === selectedAlbumId && this.isResource === false) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n showResources(selectedAlbumId: string): boolean {\r\n if (this.isResource === true && this.albumId === selectedAlbumId) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n lyricsRowHeight(pdfSrc?: LyricsPdfSrc) {\r\n const notUndefinedOrEmpty = pdfSrc.lyrics !== \"\" && pdfSrc.lyrics !== undefined;\r\n if (pdfSrc === undefined || (pdfSrc.lyrics === \"\" && pdfSrc.lyricsChords === \"\")) { return \"0%\"; }\r\n else if (notUndefinedOrEmpty && pdfSrc.lyricsChords !== \"\") { return \"50%\"; }\r\n else if (notUndefinedOrEmpty && pdfSrc.lyricsChords === \"\") { return \"100%\"; }\r\n else { return \"0%\"; }\r\n }\r\n\r\n chordsRowHeight(pdfSrc?: LyricsPdfSrc) {\r\n const notUndefinedOrEmpty = pdfSrc.lyricsChords !== \"\" && pdfSrc.lyricsChords !== undefined;\r\n if (pdfSrc === undefined || (pdfSrc.lyricsChords === \"\" && pdfSrc.lyrics === \"\")) { return \"0%\"; }\r\n else if (notUndefinedOrEmpty && pdfSrc.lyrics !== \"\") { return \"50%\"; }\r\n else if (notUndefinedOrEmpty && pdfSrc.lyrics === \"\") { return \"100%\"; }\r\n else { return \"0%\"; }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-resources',\r\n templateUrl: './resources.component.html',\r\n styleUrls: [\r\n '../../../../styles.css',\r\n './resources.component.scss'\r\n ]\r\n})\r\nexport class ResourcesComponent implements OnInit {\r\n\r\n // innerWidth: number;\r\n // active: \"music\" | \"sessions\" = \"music\";\r\n // active = 1;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n // this.innerWidth = window.innerWidth;\r\n }\r\n\r\n // setTab(tab: number) {\r\n // console.log(tab);\r\n // this.active = tab;\r\n // }\r\n\r\n // setTab(tab: \"sessions\" | \"music\") {\r\n // console.log(tab);\r\n // this.active = tab;\r\n // }\r\n\r\n // @HostListener('window:resize', ['$event'])\r\n // onResize() {\r\n // this.innerWidth = window.innerWidth;\r\n // }\r\n\r\n // sessionArtSize() {\r\n // if (this.innerWidth <= 450) {\r\n // return { width: \"280px\" };\r\n // }\r\n // if (this.innerWidth > 450) {\r\n // return { width: \"334px\" };\r\n // }\r\n // }\r\n\r\n // headerSize() {\r\n // if (this.innerWidth <= 450) {\r\n // return { width: \"280px\" };\r\n // }\r\n // if (this.innerWidth > 450) {\r\n // return { width: \"334px\" };\r\n // }\r\n // }\r\n}\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { sessionsData } from 'src/app/models/sessions';\r\nimport { HelperService } from 'src/app/services/helper.service';\r\n\r\n@Component({\r\n selector: 'app-sessions',\r\n templateUrl: './sessions.component.html',\r\n styleUrls: ['./sessions.component.scss']\r\n})\r\nexport class SessionsComponent implements OnInit {\r\n \r\n innerWidth: number = 0;\r\n sessions: Sessions[] = sessionsData;\r\n\r\n constructor(private helperService: HelperService) { }\r\n\r\n ngOnInit(): void {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n sessionArtSize() {\r\n if (this.innerWidth <= 450) {\r\n return { width: \"280px\" };\r\n }\r\n if (this.innerWidth > 450) {\r\n return { width: \"334px\" };\r\n }\r\n // if (this.innerWidth >= 1000) {\r\n // return { width: \"500px\" };\r\n // }\r\n }\r\n\r\n headerSize() {\r\n if (this.innerWidth <= 450) {\r\n return { width: \"280px\" };\r\n }\r\n if (this.innerWidth > 450) {\r\n return { width: \"334px\" };\r\n }\r\n }\r\n\r\n setSession(session: Sessions) {\r\n this.helperService.selectSession(session);\r\n }\r\n}\r\n","import { AfterViewInit, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OrderResponseBody } from '@paypal/paypal-js';\r\n\r\n@Component({\r\n selector: 'app-paypal-modal',\r\n templateUrl: './paypal-modal.component.html',\r\n styleUrls: ['./paypal-modal.component.scss']\r\n})\r\nexport class PaypalModalComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n amount: string = '0';\r\n currency: string = '';\r\n\r\n @Input() orderDetailsSub?: any;\r\n @Input() orderDetailsSingle?: OrderResponseBody;\r\n @Input() subType: PaypalSubState;\r\n @Input() errorMessage?: string;\r\n @Input() cancelMessage?: string;\r\n\r\n constructor(public activeModal: NgbActiveModal, private router: Router) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => { return false; };\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n \r\n ngAfterViewInit(): void {\r\n\r\n if (this.subType === \"subApproved\") {\r\n console.log(\"VALUE:\", this.orderDetailsSub.billing_info.last_payment.amount.value);\r\n this.amount = this.orderDetailsSub.billing_info.last_payment.amount.value.split(\".\")[0];\r\n this.currency = this.orderDetailsSub.billing_info.last_payment.amount.currency_code;\r\n }\r\n if (this.subType === \"singleApproved\") {\r\n this.amount = this.orderDetailsSingle.purchase_units[0].amount.value;\r\n this.currency = this.orderDetailsSingle.purchase_units[0].amount.currency_code;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.router.navigateByUrl(\"/giving\");\r\n }\r\n\r\n public OnClose() {\r\n this.activeModal.dismiss('Cross click');\r\n this.router.navigateByUrl(\"/giving\");\r\n }\r\n\r\n // open() {\r\n // this.modalService.open(PaypalModalComponent, { ariaLabelledBy: 'modal-basic-title' }).result.then(\r\n // (result) => {\r\n // this.closeResult = `Closed with: ${result}`;\r\n // },\r\n // (reason) => {\r\n // this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n // },\r\n // );\r\n // }\r\n\r\n // private getDismissReason(reason: any): string {\r\n\t// \tif (reason === ModalDismissReasons.ESC) {\r\n\t// \t\treturn 'by pressing ESC';\r\n\t// \t} else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n\t// \t\treturn 'by clicking on a backdrop';\r\n\t// \t} else {\r\n\t// \t\treturn `with: ${reason}`;\r\n\t// \t}\r\n\t// }\r\n}\r\n","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PayPalService } from 'src/app/services/pay-pal.service';\r\nimport { PaypalModalComponent } from './modals/paypal-modal/paypal-modal.component';\r\nimport { OrderResponseBody, SubscriptionDetail, loadScript } from '@paypal/paypal-js';\r\nimport { PayPalNamespace } from '@paypal/paypal-js';\r\n\r\n@Component({\r\n selector: 'app-support-nvpage',\r\n templateUrl: './support-nvpage.component.html',\r\n styleUrls: ['./support-nvpage.component.scss', '../../../../styles.css']\r\n})\r\nexport class SupportNVPageComponent implements OnInit {\r\n \r\n currency: \"EUR\" | \"USD\" | \"SEK\" = \"SEK\";\r\n frequency: \"single\" | \"subscription\" = \"single\";\r\n provider = 1;\r\n subState: PaypalSubState = \"default\";\r\n amount: number | null = 0;\r\n innerWidth: any;\r\n \r\n // currencyAmount: {\r\n // amount25: number;\r\n // amount50: number;\r\n // amount100: number;\r\n // }\r\n \r\n @ViewChild(\"singleAmountField\") singleAmountField;\r\n @ViewChild(\"monthlyAmountField\") monthlyAmountField;\r\n \r\n // public _reload = true;\r\n \r\n // private reload() {\r\n // setTimeout(() => this._reload = false);\r\n // setTimeout(() => this._reload = true);\r\n // }\r\n \r\n subscribeConfigs = {};\r\n selectedSub: string;\r\n \r\n myScriptElement: HTMLScriptElement;\r\n \r\n constructor(\r\n private modalService: NgbModal,\r\n public activeModal: NgbActiveModal,\r\n private paypalService: PayPalService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void { \r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n // setCurrency(value: \"EUR\" | \"USD\" | \"SEK\") {\r\n // this.reload();\r\n // this.currency = value;\r\n // }\r\n\r\n // setCurrencyAmount() {\r\n // if (this.currency === \"SEK\") {\r\n // this.currencyAmount.amount25 = 250;\r\n // this.currencyAmount.amount50 = 500;\r\n // this.currencyAmount.amount100 = 1000;\r\n // }\r\n // if (this.currency === \"EUR\" || this.currency === \"USD\") {\r\n // this.currencyAmount.amount25 = 25;\r\n // this.currencyAmount.amount50 = 50;\r\n // this.currencyAmount.amount100 = 100;\r\n // }\r\n // }\r\n\r\n setGiveAmount(newAmount: number) {\r\n if (this.currency === \"SEK\") {\r\n const sekAmount = newAmount * 10;\r\n this.amount = sekAmount;\r\n } else {\r\n this.amount = newAmount;\r\n }\r\n }\r\n\r\n currencyPrefix() {\r\n if (this.currency === \"EUR\") { return \"€\"; }\r\n if (this.currency === \"USD\") { return \"$\"; }\r\n return \"\";\r\n }\r\n\r\n setFrequency(frequency: \"single\" | \"subscription\") {\r\n this.frequency = frequency;\r\n this.amount = 0;\r\n this.subState = \"default\";\r\n }\r\n\r\n // Resets the payment process\r\n providerClick() {\r\n this.amount = 0;\r\n this.subState = \"default\";\r\n }\r\n\r\n focusOnSingleAmount() {\r\n this.amount = null;\r\n this.singleAmountField.nativeElement.focus();\r\n }\r\n\r\n focusOnMonthlyAmount() {\r\n this.amount = null;\r\n this.monthlyAmountField.nativeElement.focus();\r\n }\r\n\r\n closePaypalModal() {\r\n this.activeModal.dismiss('Cross click');\r\n }\r\n\r\n setSubState(newState: PaypalSubState) {\r\n if (newState === \"default\") {\r\n this.amount = 0;\r\n this.subState = newState;\r\n } else {\r\n this.subState = newState;\r\n }\r\n }\r\n\r\n createOrderSub() {\r\n console.log(\"1\", this.subState)\r\n this.subState = \"loading\";\r\n const body: CreatePlanBody = { amount: this.amount, currency: this.currency }\r\n console.log(\"2\", this.subState);\r\n this.paypalService.createPlan(body).subscribe((response) => {\r\n \r\n if (response.id) {\r\n this.subState = \"response\";\r\n console.log(\"3\", this.subState);\r\n loadScript(\r\n {\r\n \"client-id\": \"AQ8I2vtTtLSTugxIs-WjkMJzN0FI63WmCpWay9UAdmHMCcRCNw1njxzLI2fVwzltpkfR_xL_oYvAO7mW\",\r\n \"currency\": \"SEK\",\r\n \"intent\": \"subscription\",\r\n // needed for subscriptions\r\n \"vault\": \"true\",\r\n \"commit\": true,\r\n })\r\n .then((paypal: PayPalNamespace) => {\r\n paypal\r\n .Buttons({\r\n createSubscription: (data, actions) => {\r\n return actions.subscription.create({\r\n plan_id: response.id,\r\n auto_renewal: true,\r\n });\r\n },\r\n style: {\r\n label: 'subscribe',\r\n layout: 'horizontal',\r\n color: 'gold',\r\n shape: 'rect',\r\n height: 40, // 20-55\r\n tagline: false\r\n },\r\n onApprove: (data, actions) => (\r\n actions.subscription.get().then((details: SubscriptionDetail) => {\r\n this.subState = \"subApproved\";\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.orderDetailsSub = details;\r\n })\r\n ),\r\n onCancel: (data, actions) => {\r\n console.log('Payment was cancelled', data, actions);\r\n this.subState = \"cancel\";\r\n this.amount = 0;\r\n if (this.modalService.hasOpenModals()) {\r\n this.modalService.dismissAll();\r\n }\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.cancelMessage = \"Your payment was canceled\";\r\n },\r\n onError: (err) => {\r\n // console.log('Error:', err);\r\n this.subState = \"error\";\r\n // Sometimes onCancel is triggered before onError, then the cancel modal needs to be closed\r\n // before opening error modal.\r\n if (this.modalService.hasOpenModals()) {\r\n this.modalService.dismissAll();\r\n }\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.errorMessage = \"An error occured\";\r\n },\r\n // onClick: (data, actions) => {\r\n // console.log('onClick SUB', data, actions);\r\n // },\r\n })\r\n .render(\"#paypal-button-container\")\r\n .catch((error) => {\r\n console.error(\"failed to render the PayPal Buttons\", error);\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"failed to load the PayPal JS SDK script\", error);\r\n });\r\n } else {\r\n console.log(\"Cound not find or create plan.\");\r\n }\r\n });\r\n }\r\n\r\n createOrderSingle() {\r\n // console.log(\"1\", this.subState);\r\n this.subState = \"loading\";\r\n // console.log(\"2\", this.subState);\r\n\r\n setTimeout(() => {\r\n this.subState = \"response\";\r\n // console.log(\"3\", this.subState);\r\n loadScript(\r\n {\r\n \"client-id\": \"AQ8I2vtTtLSTugxIs-WjkMJzN0FI63WmCpWay9UAdmHMCcRCNw1njxzLI2fVwzltpkfR_xL_oYvAO7mW\",\r\n \"currency\": \"SEK\",\r\n \"intent\": \"capture\",\r\n \"commit\": true,\r\n })\r\n .then((paypal: PayPalNamespace) => {\r\n paypal\r\n .Buttons({\r\n createOrder: (data, actions) => {\r\n // console.log(\"Hello\", this.selectedSub);\r\n return actions.order.create({\r\n purchase_units: [{\r\n amount: {\r\n currency_code: \"SEK\",\r\n value: this.amount.toString(),\r\n }\r\n }],\r\n intent: \"CAPTURE\",\r\n });\r\n },\r\n style: {\r\n label: 'paypal',\r\n layout: 'horizontal',\r\n color: 'gold',\r\n shape: 'rect',\r\n height: 40, // 20-55\r\n tagline: false\r\n },\r\n onApprove: (data, actions) => (\r\n actions.order.get().then((details: OrderResponseBody) => {\r\n // console.log('SINGLE DETAILS : ', details);\r\n this.subState = \"singleApproved\";\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.orderDetailsSingle = details;\r\n })\r\n ),\r\n onCancel: (data, actions) => {\r\n // console.log('Payment was cancelled', data, actions);\r\n this.subState = \"cancel\";\r\n this.amount = 0;\r\n if (this.modalService.hasOpenModals()) {\r\n this.modalService.dismissAll();\r\n }\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.cancelMessage = \"Your payment was canceled\";\r\n },\r\n onError: (err) => {\r\n // console.log('Error:', err);\r\n this.subState = \"error\";\r\n // Sometimes onCancel is triggered before onError, then the cancel modal needs to be closed\r\n // before opening error modal.\r\n if (this.modalService.hasOpenModals()) {\r\n this.modalService.dismissAll();\r\n }\r\n const modalRef = this.modalService.open(PaypalModalComponent, { centered: true });\r\n modalRef.componentInstance.subType = this.subState;\r\n modalRef.componentInstance.errorMessage = \"An error occured\";\r\n },\r\n // onClick: (data, actions) => {\r\n // console.log('onClick SUB', data, actions);\r\n // },\r\n })\r\n .render(\"#paypal-button-container\")\r\n .catch((error) => {\r\n console.error(\"failed to render the PayPal Buttons\", error);\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"failed to load the PayPal JS SDK script\", error);\r\n });\r\n }, 1700);\r\n\r\n }\r\n}\r\n\r\n\r\n// private generateUUID(): string {\r\n// const hexValues = \"0123456789ABCDEF\";\r\n// let hexNumber = \"\";\r\n// for (let i = 0; i < 32; i++) {\r\n// hexNumber += hexValues[Math.floor(Math.random() * hexValues.length)];\r\n// }\r\n// console.log(\"HEX:\", hexNumber);\r\n// return hexNumber; \r\n// }\r\n\r\n// hasRoute(route: string) {\r\n// return this.router.url === route;\r\n// }\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { PayPalService } from 'src/app/services/pay-pal.service';\r\nimport { environment } from 'src/environments/environment';\r\n// import { loadScript } from '@paypal/paypal-js';\r\n\r\n@Component({\r\n selector: 'app-pay-pal-test',\r\n templateUrl: './pay-pal-test.component.html',\r\n styleUrls: ['./pay-pal-test.component.scss']\r\n})\r\nexport class PayPalTestComponent implements OnInit {\r\n\r\n paypal;\r\n\r\n constructor(private paypalService: PayPalService) { }\r\n\r\n ngOnInit(): void {\r\n // hello\r\n // loadScript(\r\n // {\r\n // \"client-id\": \"AQ8I2vtTtLSTugxIs-WjkMJzN0FI63WmCpWay9UAdmHMCcRCNw1njxzLI2fVwzltpkfR_xL_oYvAO7mW\",\r\n // \"currency\": \"SEK\",\r\n \r\n // })\r\n // .then((paypal) => {\r\n // paypal\r\n // .Buttons({\r\n // createSubscription: (data, actions) => {\r\n // // console.log(\"Hello\", this.selectedSub);\r\n // return actions.subscription.create({\r\n // plan_id: \"plan_id\"\r\n // });\r\n // },\r\n // // advanced: {\r\n // // commit: 'true',\r\n // // },\r\n // style: {\r\n // label: 'subscribe',\r\n // layout: 'vertical',\r\n // color: 'gold',\r\n // shape: 'rect',\r\n // height: 40, // 20-55\r\n // },\r\n // // fundingSource: 'PAYPAL',\r\n // })\r\n // .render(\"#paypal-button-container\")\r\n // .catch((error) => {\r\n // console.error(\"failed to render the PayPal Buttons\", error);\r\n // });\r\n // })\r\n // .catch((error) => {\r\n // console.error(\"failed to load the PayPal JS SDK script\", error);\r\n // });\r\n }\r\n\r\n\r\n // private plans = [];\r\n // public configs = {};\r\n\r\n // @ViewChild(\"100SEK\") basicSubscription?: NgxPaypalComponent;\r\n // @ViewChild(\"200SEK\") advancedSubscription?: NgxPaypalComponent;\r\n\r\n // constructor(private payPalScriptService: PayPalScriptService) {\r\n // this.plans = plans;\r\n // }\r\n\r\n // ngOnInit() {\r\n // this.plans.map((plan) => {\r\n // this.configs[plan.name] = this.getConfig(plan.id);\r\n // });\r\n // this.payPalScriptService.registerPayPalScript(\r\n // {\r\n // clientId: environment.paypalKey,\r\n // currency: \"SEK\",\r\n // vault: \"true\",\r\n // },\r\n // (payPalApi) => {\r\n // if (this.basicSubscription) {\r\n // this.basicSubscription.customInit(payPalApi);\r\n // }\r\n // if (this.advancedSubscription) {\r\n // this.advancedSubscription.customInit(payPalApi);\r\n // }\r\n // }\r\n // );\r\n // }\r\n\r\n // getConfig(plan_id: string): IPayPalConfig {\r\n // return {\r\n // clientId: 'AQ8I2vtTtLSTugxIs-WjkMJzN0FI63WmCpWay9UAdmHMCcRCNw1njxzLI2fVwzltpkfR_xL_oYvAO7mW',\r\n // currency: \"SEK\",\r\n // vault: \"true\",\r\n // // advanced: {\r\n // // commit: \"true\",\r\n // // },\r\n // style: {\r\n // label: 'subscribe',\r\n // layout: 'vertical',\r\n // color: 'gold',\r\n // shape: 'rect',\r\n // height: 40, // 20-55\r\n // tagline: false,\r\n // },\r\n // // createSubscription: (actions) => {\r\n // // console.log(\"CREATE_SUB\");\r\n // // return actions.subscription.create({\r\n // // plan_id,\r\n // // custom_id: \"\",\r\n // // });\r\n // // },\r\n // fundingSource: 'PAYPAL',\r\n // onApprove: function (data: IOnApproveCallbackData, actions: any) {\r\n // console.log(\"subscription data:\", data);\r\n // actions.subscription.get().then((details) => {\r\n // console.log(\"subscription details:\", details);\r\n // alert(\"Success to subscribe!\");\r\n // });\r\n // },\r\n // onCancel: (data, actions) => {\r\n // console.log(\"OnCancel\", data, actions);\r\n // },\r\n // onError: (err) => {\r\n // console.log(\"OnError\", err);\r\n // },\r\n // onClick: (data, actions) => {\r\n // console.log(\"Clicked:\", data, actions);\r\n // },\r\n // };\r\n // }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css']\r\n})\r\nexport class AdminComponent implements OnInit {\r\n\r\n currentPage: string = \"\";\r\n\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n // loggedInUser: ILoggedInUser = null;\r\n\r\n ngOnInit(): void {\r\n this.currentPage = this.router.url;\r\n // this.authService.loggedInUser.subscribe(x => {\r\n // this.loggedInUser = x;\r\n // });\r\n }\r\n\r\n // isExpanded = false;\r\n\r\n // collapse() {\r\n // this.isExpanded = false;\r\n // }\r\n\r\n // toggle() {\r\n // this.isExpanded = !this.isExpanded;\r\n // }\r\n\r\n\r\n // public logOut = () => {\r\n // this.authService.logout();\r\n // }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\n@Component({\r\n selector: 'app-create-user-form',\r\n templateUrl: './create-user-form.component.html',\r\n styleUrls: ['./create-user-form.component.css', '../../../../styles.css']\r\n})\r\nexport class CreateUserFormComponent implements OnInit {\r\n\r\n constructor(private http: HttpClient, private router: Router, private notifier: NotifierService) { }\r\n\r\n user = {\r\n email: '',\r\n password: '',\r\n firstName: '',\r\n lastName: '',\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n validationErrors: string[] = [];\r\n\r\n createUser() {\r\n this.validationErrors = [];\r\n\r\n const credentials = JSON.stringify(this.user);\r\n\r\n // console.log('credentials', credentials);\r\n\r\n this.http.post('/api/1.0/user', credentials, {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": 'application/json'\r\n })\r\n }).subscribe(response => {\r\n\r\n this.user.email = '';\r\n this.user.password = '';\r\n this.user.firstName = '';\r\n\r\n this.notifier.notify('success', 'Användare skapad.');\r\n\r\n }, err => {\r\n console.warn('error', err);\r\n\r\n let e = err.error;\r\n\r\n if (!e) {\r\n return;\r\n }\r\n\r\n for (const property in e) {\r\n e[property].forEach(x => this.validationErrors.push(x));\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AuthService } from '../../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-login-form',\r\n templateUrl: './login-form.component.html',\r\n styleUrls: ['./login-form.component.css', '../../../../styles.css']\r\n})\r\nexport class LoginFormComponent implements OnInit {\r\n\r\n constructor(private router: Router, private http: HttpClient,private authService:AuthService ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n invalidLogin = false;\r\n\r\n\r\n login(form: NgForm) {\r\n const credentials:any = form.value;\r\n\r\n // console.log('credentials', credentials);\r\n\r\n this.authService.login(credentials.email, credentials.password)\r\n .subscribe(response => {\r\n this.invalidLogin = false;\r\n this.router.navigate(['/admin/main']) // don't know if this is correct...\r\n }, err => {\r\n this.invalidLogin = true;\r\n }\r\n );\r\n }\r\n\r\n logOut() {\r\n localStorage.removeItem('jwt');\r\n }\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LyricsModalComponent } from '../../commonComponents/modals/lyrics-modal/lyrics-modal.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-main-admin',\r\n templateUrl: './main-admin.component.html',\r\n styleUrls: ['./main-admin.component.scss']\r\n})\r\nexport class MainAdminComponent implements OnInit {\r\n \r\n constructor(private modalService: NgbModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLyricsModal() {\r\n this.modalService.open(LyricsModalComponent, { size: 'xl' })\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: [\r\n '../../../../styles.css',\r\n './button.component.scss'\r\n ]\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n @Input() click;\r\n @Input() text: string | HTMLElement = \"\";\r\n @Input() type?: string;\r\n @Input() color?: ButtonColor;\r\n @Input() bordered?: boolean;\r\n @Input() borderColor?: string;\r\n @Input() width?: string;\r\n @Input() height?: string;\r\n @Input() class?: string = \"\";\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() btnClick = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClick() {\r\n this.btnClick.emit();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-give-button',\r\n templateUrl: './give-button.component.html',\r\n styleUrls: ['./give-button.component.scss']\r\n})\r\nexport class GiveButtonComponent implements OnInit {\r\n\r\n @Input() text: string = \"\";\r\n @Input() class: string = \"\";\r\n @Output() btnClick = new EventEmitter();\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClick(): void {\r\n this.btnClick.emit();\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\n\r\n@Component({\r\n selector: 'app-add-lyrics-modal',\r\n templateUrl: './add-lyrics-modal.component.html',\r\n styleUrls: ['./add-lyrics-modal.component.scss']\r\n})\r\nexport class AddLyricsModalComponent implements OnInit {\r\n\r\n // id: string = '';\r\n // title: string = '';\r\n // songWriters: string = '';\r\n // lyricSection: string = '';\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private lyricsService: LyricsService,\r\n private notifier: NotifierService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onSubmit(data: NgForm) {\r\n // console.log(\"data:\", data.value);\r\n this.lyricsService.addLyric(data.value).subscribe();\r\n this.notifier.notify('success', \"A new lyric has been created.\");\r\n this.activeModal.close();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\n\r\n@Component({\r\n selector: 'app-delete-lyrics-modal',\r\n templateUrl: './delete-lyrics-modal.component.html',\r\n styleUrls: ['./delete-lyrics-modal.component.scss']\r\n})\r\nexport class DeleteLyricsModalComponent implements OnInit {\r\n\r\n selectedLyricsId: string = \"\";\r\n lyric?: Lyrics;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private lyricsService: LyricsService,\r\n private notifier: NotifierService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lyricsService.selectedLyricsId.subscribe(e => this.selectedLyricsId = e);\r\n this.lyricsService.getLyricsById(this.selectedLyricsId).subscribe(e => this.lyric = e);\r\n }\r\n\r\n onDelete() {\r\n // console.log(\"ID:\", this.selectedLyricsId);\r\n this.lyricsService.deleteLyric(this.selectedLyricsId).subscribe();\r\n this.notifier.notify('success', \"Lyric deleted.\")\r\n this.activeModal.close();\r\n }\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\nimport { LyricsModalComponent } from '../lyrics-modal.component';\r\n\r\n@Component({\r\n selector: 'app-edit-lyrics-modal',\r\n templateUrl: './edit-lyrics-modal.component.html',\r\n styleUrls: ['./edit-lyrics-modal.component.scss']\r\n})\r\nexport class EditLyricsModalComponent implements OnInit {\r\n\r\n selectedLyricsId: string = \"\";\r\n lyric: Lyrics;\r\n\r\n id: string = '';\r\n title: string = '';\r\n songWriters: string = '';\r\n youtubeLink: string = '';\r\n lyricSection: string = '';\r\n\r\n // @Output() editLyric = new EventEmitter();\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private lyricsService: LyricsService,\r\n private notifier: NotifierService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lyricsService.selectedLyricsId.subscribe(e => this.selectedLyricsId = e);\r\n this.lyricsService.getLyricsById(this.selectedLyricsId).subscribe(e => this.lyric = e);\r\n }\r\n\r\n onSubmit(data: NgForm) {\r\n // console.log(\"status:\", data.valid);\r\n // console.log(\"error:\", data.errors);\r\n if (data.valid === true) {\r\n this.lyricsService.editStatus.next(true);\r\n this.lyricsService.editLyric(this.selectedLyricsId, data.value).subscribe();\r\n this.activeModal.close();\r\n this.notifier.notify('success', \"Your changes has been saved.\")\r\n }\r\n if (data.valid === false) {\r\n this.notifier.notify('error', \"Could not save changes\")\r\n }\r\n }\r\n\r\n\r\n}\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LyricsService } from 'src/app/services/lyrics.service';\r\nimport { AddLyricsModalComponent } from './add-lyrics/add-lyrics-modal.component';\r\nimport { DeleteLyricsModalComponent } from './delete-lyrics-modal/delete-lyrics-modal.component';\r\nimport { EditLyricsModalComponent } from './edit-lyrics/edit-lyrics-modal.component';\r\n\r\n@Component({\r\n templateUrl: './lyrics-modal.component.html',\r\n styleUrls: ['./lyrics-modal.component.scss', '../../../../../styles.css'],\r\n})\r\nexport class LyricsModalComponent implements OnInit {\r\n\r\n searchValue: string = \"\";\r\n lyrics: Lyrics[] = [];\r\n selectedLyricsId: string = \"\";\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n public activeModal: NgbActiveModal,\r\n private lyricsService: LyricsService,\r\n ) {\r\n this.lyricsService.editStatus.subscribe(data => {\r\n // console.log(\"data:\", data);\r\n this.updateList();\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.lyricsService.getAllLyrics().subscribe((lyrics) => (this.lyrics = lyrics));\r\n this.lyricsService.selectedLyricsId.subscribe(e => this.selectedLyricsId = e);\r\n }\r\n\r\n openAdd() {\r\n this.modalService.open(AddLyricsModalComponent, {\r\n size: 'lg'\r\n });\r\n }\r\n\r\n openEdit(lyricId: string) {\r\n this.selectLyricsId(lyricId);\r\n this.modalService.open(EditLyricsModalComponent, { size: 'lg' });\r\n }\r\n\r\n openDelete(lyricId: string) {\r\n this.selectLyricsId(lyricId);\r\n this.modalService.open(DeleteLyricsModalComponent, { size: 'md' })\r\n }\r\n\r\n selectLyricsId(lyricsId: string) {\r\n this.lyricsService.changeLyricsId(lyricsId);\r\n }\r\n\r\n public updateList() {\r\n // console.log(\"click\");\r\n this.lyricsService.getAllLyrics().subscribe((lyrics) => (this.lyrics = lyrics));\r\n }\r\n\r\n filterList(): Lyrics[] {\r\n if (this.lyrics) {\r\n\r\n const filtered = this.lyrics.filter(e => {\r\n return (\r\n this.searchValue === \"\" ||\r\n e.title.toLowerCase().includes(this.searchValue.toLowerCase())\r\n );\r\n });\r\n\r\n return filtered;\r\n } else {\r\n return [];\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-management-page',\r\n templateUrl: './management-page.component.html',\r\n styleUrls: ['./management-page.component.css']\r\n})\r\nexport class ManagementPageComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n searchTerm = '';\r\n users: any[] = [];\r\n selectedUser = null;\r\n selectedRole: string = '';\r\n\r\n ngOnInit(): void {\r\n // this.reloadUsers();\r\n }\r\n\r\n // selectUser(user) {\r\n // this.selectedUser = user;\r\n\r\n // if (!user) {\r\n // return;\r\n // }\r\n\r\n // this.reloadUser(user.userId);\r\n // }\r\n\r\n // reloadUser(userId) {\r\n // this.userService.getUserById(userId).subscribe(x => {\r\n\r\n // this.selectedUser = x;\r\n // });\r\n // }\r\n\r\n // reloadUsers() {\r\n // this.userService.findUsers(this.searchTerm).subscribe(x => {\r\n // this.users = x;\r\n // });\r\n // }\r\n\r\n // userCreated() {\r\n // this.selectUser(null);\r\n // this.reloadUsers();\r\n // }\r\n\r\n // removeUser(user) {\r\n // console.log('remove', user);\r\n // this.userService.removeUser(user.userId).subscribe(x => {\r\n // this.reloadUsers();\r\n // });\r\n // }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService, private activatedRoute: ActivatedRoute) { }\r\n\r\n email='';\r\n token = '';\r\n step = 1;\r\n showMess1 = false;\r\n showMess2 = false;\r\n\r\n password1 = '';\r\n password2 = '';\r\n\r\n ngOnInit(): void {\r\n\r\n this.email =this.activatedRoute.snapshot.queryParamMap.get('email');\r\n if (this.email) {\r\n this.email = decodeURI(this.email);\r\n this.token = this.activatedRoute.snapshot.queryParamMap.get('t');\r\n if (this.token) {\r\n this.token = decodeURI(this.token);\r\n this.step = 2;\r\n }\r\n }\r\n }\r\n \r\n reset1() {\r\n this.authService.resetPasswordInit(this.email)\r\n .subscribe(x => {\r\n this.showMess1 = true;\r\n this.email = '';\r\n });\r\n }\r\n\r\n reset2() {\r\n\r\n if (!this.password1 || this.password2 !== this.password1) {\r\n return;\r\n }\r\n\r\n this.authService.resetPassword(this.email,this.password1,this.token)\r\n .subscribe(x => {\r\n this.showMess2 = true;\r\n this.email = '';\r\n this.password1 = this.password2 = '';\r\n this.token = '';\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { AuthService } from '../../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-user-profile-edit',\r\n templateUrl: './user-profile-edit.component.html',\r\n styleUrls: ['./user-profile-edit.component.css']\r\n})\r\nexport class UserProfileEditComponent implements OnInit {\r\n\r\n constructor(private userService:UserService ,private authService:AuthService ) { }\r\n\r\n\r\n user: any = null;\r\n\r\n\r\n ngOnInit(): void {\r\n this.reload();\r\n }\r\n\r\n reload() {\r\n this.userService.getCurrentUser().subscribe(x => {\r\n this.user = x;\r\n });\r\n }\r\n\r\n update() {\r\n this.userService.updateUser(this.user).subscribe(x => {\r\n this.authService.refreshToken().subscribe(y => {\r\n\r\n });\r\n });\r\n }\r\n \r\n}\r\n","import { Directive, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]'\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n @Output()\r\n public clickOutside = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event', '$event.target'])\r\n public onClick(event: MouseEvent, targetElement: HTMLElement): void {\r\n if (!targetElement) {\r\n return;\r\n }\r\n\r\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(event);\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appEllipsis]'\r\n})\r\nexport class EllipsisDirective {\r\n element: ElementRef;\r\n\r\n @Input() ellipsisData: any;\r\n constructor(el: ElementRef) {\r\n this.element = el;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterContentInit() {\r\n\r\n }\r\n ngAfterViewInit() {\r\n // console.log(this.element.nativeElement);\r\n this.element.nativeElement.attributes.lastWindowResizeTime = 0;\r\n this.element.nativeElement.attributes.lastWindowResizeWidth = 0;\r\n this.element.nativeElement.attributes.lastWindowResizeHeight = 0;\r\n this.element.nativeElement.attributes.lastWindowTimeoutEvent = null;\r\n /* State Variables */\r\n this.element.nativeElement.attributes.isTruncated = false;\r\n\r\n this.buildEllipsis();\r\n }\r\n buildEllipsis() {\r\n if (typeof (this.ellipsisData) !== 'undefined') {\r\n var bindArray = this.ellipsisData.split(\" \");\r\n var i = 0;\r\n var ellipsisSymbol = '…';\r\n var appendString = ellipsisSymbol;\r\n\r\n // console.log(appendString);\r\n\r\n this.element.nativeElement.attributes.isTruncated = false;\r\n this.element.nativeElement.innerHTML = this.ellipsisData;\r\n\r\n // If text has overflow\r\n if (this.isOverflowed(this.element.nativeElement)) {\r\n var bindArrayStartingLength = bindArray.length,\r\n initialMaxHeight = this.element.nativeElement.clientHeight;\r\n\r\n this.element.nativeElement.innerHTML = this.ellipsisData + appendString;\r\n\r\n // Set complete text and remove one word at a time, until there is no overflow\r\n for (; i < bindArrayStartingLength; i++) {\r\n bindArray.pop();\r\n this.element.nativeElement.innerHTML = bindArray.join(\" \") + appendString;\r\n\r\n if (this.element.nativeElement.scrollHeight < initialMaxHeight || this.isOverflowed(this.element.nativeElement) === false) {\r\n this.element.nativeElement.attributes.isTruncated = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n isOverflowed(el: any) {\r\n return el.scrollHeight > el.clientHeight;\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { tap, finalize, catchError } from 'rxjs/operators';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NotifierService } from 'angular-notifier';\r\n//import { RouterModule, Routes, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class Interceptor implements HttpInterceptor {\r\n constructor(private notifierService: NotifierService, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n const isApiUrl = request.url.startsWith(this.baseUrl + 'api/');\r\n let jwt = localStorage.getItem('jwt');\r\n\r\n if (isApiUrl && jwt) {\r\n request = request.clone({\r\n setHeaders: { Authorization: 'Bearer ' + jwt}\r\n });\r\n }\r\n\r\n return next.handle(request).pipe(\r\n tap(\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n let msg = 'Error';\r\n let msgType = 'error';\r\n\r\n if (error.error && typeof error.error === 'string') {\r\n if (error.error.length < 200) {\r\n msg = error.error;\r\n }\r\n }\r\n\r\n let e = error.error;\r\n \r\n switch (error.status) {\r\n case 400:\r\n if (e.errors && error.error.title === 'One or more validation errors occurred.') {\r\n msg = '';\r\n // console.log('here 1');\r\n for (const property in e.errors) {\r\n // console.log('property', property);\r\n let arr = e.errors[property];\r\n if (Array.isArray(arr)) {\r\n \r\n for (const x of arr) {\r\n msg += x ;\r\n };\r\n }\r\n }\r\n }else if ((typeof e) ==='string' ) {\r\n msg = e;\r\n }\r\n break;\r\n\r\n case 401:\r\n break;\r\n\r\n case 403:\r\n msg = 'Du har ingen behörighet till denna resurs';\r\n break;\r\n\r\n case 404:\r\n msg = 'Det finns ingen resurs på denna adress.';\r\n break;\r\n\r\n case 500:\r\n if (error.error && error.error.Message && error.error.Message.length < 300) {\r\n msg = error.error.Message;\r\n }\r\n break;\r\n\r\n default:\r\n }\r\n \r\n this.notifierService.notify(msgType, msg);\r\n }\r\n }\r\n ),\r\n\r\n finalize(() => {\r\n })\r\n );\r\n\r\n }\r\n}\r\n","const nvgTitle = \"Noise Village Gathering\";\r\n// const nvgText = \"Noise Village Gathering is our weekly worship service. It’s a place where believers from different local communities and denominations gather for the single purpose of worshiping Jesus. We gather every Thursday 6 pm in Noise Village Upper Room.\";\r\nconst nvgText = \"\";\r\nconst nvgStartTime = \"18:00\";\r\nconst nvgType = \"nvg\";\r\n\r\nexport const comingEvents: ComingEvents[] = [\r\n // {\r\n // eventId: \"nvg_060423_1800\",\r\n // title: nvgTitle,\r\n // startDate: \"6/4 - 2023\",\r\n // startTime: nvgStartTime,\r\n // mainText: nvgText,\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n // {\r\n // eventId: \"nvg_130423_1800\",\r\n // title: nvgTitle,\r\n // startDate: \"13/4 - 2023\",\r\n // startTime: nvgStartTime,\r\n // mainText: nvgText,\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n // {\r\n // eventId: \"nvg_200423_1800\",\r\n // title: nvgTitle,\r\n // startDate: \"20/4 - 2023\",\r\n // startTime: nvgStartTime,\r\n // mainText: nvgText,\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n // {\r\n // eventId: \"wnwg_270423_1800\",\r\n // title: \"Worship night with guests\",\r\n // startDate: \"04-27-2023\",\r\n // startTime: \"18:00\",\r\n // mainText: \"\",\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n // {\r\n // eventId: \"nvg_040523_1800\",\r\n // title: nvgTitle,\r\n // startDate: \"05-04-2023\",\r\n // startTime: \"19:00\",\r\n // mainText: nvgText,\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n // {\r\n // eventId: \"nvg_110523_1800\",\r\n // title: nvgTitle,\r\n // startDate: \"05-11-2023\",\r\n // startTime: nvgStartTime,\r\n // mainText: nvgText,\r\n // moreInfo: false,\r\n // type: nvgType,\r\n // },\r\n {\r\n eventId: \"nvg_180523_1800\",\r\n title: nvgTitle,\r\n startDate: \"2023-05-18\",\r\n // startDate: \"05-18-2023\",\r\n startTime: nvgStartTime,\r\n mainText: nvgText,\r\n moreInfo: false,\r\n type: nvgType,\r\n },\r\n {\r\n eventId: \"nvg_250523_1800\",\r\n title: nvgTitle,\r\n startDate: \"2023-05-25\",\r\n startTime: nvgStartTime,\r\n mainText: nvgText,\r\n moreInfo: false,\r\n type: nvgType,\r\n },\r\n {\r\n eventId: \"him_010623_1800\",\r\n title: '\"HIM\"',\r\n startDate: \"2023-06-01\",\r\n endDate: \"06-04-2023\",\r\n // mainText: 'The worship conference \"HIM\" is taking place 1-4th of June in Örebro Sweden. 4 days of intense worship togeher with believers from around Sweden, Europe and USA. Special guest and worship leader is Eniola Abioye (Maverick, Upper Room, Greenhouse Circuit Riders) To apply and find out more, visit our conference site.',\r\n mainText: \"\",\r\n moreInfo: true,\r\n // url: \"/coming-events/event/HIM-conference\",\r\n type: \"conference\",\r\n },\r\n {\r\n eventId: \"nvg_080623_1800\",\r\n title: nvgTitle,\r\n startDate: \"2023-06-08\",\r\n startTime: nvgStartTime,\r\n mainText: nvgText,\r\n moreInfo: false,\r\n type: nvgType,\r\n },\r\n {\r\n eventId: \"nvg_150623_1800\",\r\n title: nvgTitle,\r\n startDate: \"2023-06-15\",\r\n startTime: nvgStartTime,\r\n mainText: nvgText,\r\n moreInfo: false,\r\n type: nvgType,\r\n },\r\n];","export const musicData: MusicData[] = [\r\n {\r\n albumId: \"rise\",\r\n title: \"Rise\",\r\n imgSrc: \"../../../assets/album-covers/RISE.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/6uasvCVoQDG0IzhCxIwdFV?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/rise-live-from-noise-village-single/1707383573?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n // lyricsPdfSrc: {\r\n // lyrics: \"\",\r\n // lyricsChords: \"\",\r\n // }\r\n },\r\n {\r\n albumId: \"fullness\",\r\n title: \"Fullness\",\r\n imgSrc: \"../../../assets/album-covers/FULLNESS_LIGHT.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/4PhGNUtyXoyfgrA77xbLIM?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/fullness-live-from-noise-village-single/1694323473?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n lyricsPdfSrc: {\r\n lyrics: \"https://drive.google.com/file/d/16y0ah7FYVthMdz4yF990phT43Q9v_bjj/view\",\r\n lyricsChords: \"https://drive.google.com/file/d/170RHloaE9JKfq6-qjHitwyd8R285HGnl/view\",\r\n }\r\n },\r\n {\r\n albumId: \"fixYourEyes\",\r\n title: \"Fix Your Eyes (feat. Rebecka Almonte)\",\r\n imgSrc: \"../../../assets/album-covers/FIX_YOUR_EYES_2.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/2Uluunt4yWUJWLh0OgTxSH?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/fix-your-eyes-feat-rebecka-almonte-live-from-noise/1690431273?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n lyricsPdfSrc: {\r\n lyrics: \"https://drive.google.com/file/d/16VUnsq3lv0dus3e7ureXBUBVV-fgrbLZ/view\",\r\n lyricsChords: \"https://drive.google.com/file/d/16VBgmaosnTKpOVITM7Na0LKL3zv8t8Eg/view\",\r\n }\r\n },\r\n {\r\n albumId: \"nuArJagDin\",\r\n title: \"Nu är jag din\",\r\n imgSrc: \"../../../assets/album-covers/NU_AR_JAG_DIN.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/0Hj4RGloYs1gZCruH8YlFP?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/nu-%C3%A4r-jag-din-live-from-noise-village-single/1683502332?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n lyricsPdfSrc: {\r\n lyrics: \"https://drive.google.com/file/d/16OawJUacG9uFL-4Nb0TNUyd8z5gRuKAe/view?usp=sharing\",\r\n lyricsChords: \"https://drive.google.com/file/d/16LzFxiw63RWA5HSQrRheOuROv-qgkn_X/view?usp=sharing\",\r\n }\r\n },\r\n {\r\n albumId: \"jagVillFoljaJesus\",\r\n title: \"Jag vill följa Jesus\",\r\n imgSrc: \"../../../assets/album-covers/JAG_VILL_FOLJA_JESUS.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/0GOHfd27jIhPYHnTncYP0d?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/jag-vill-f%C3%B6lja-jesus-live-from-noise-village-single/1676328630?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n lyricsPdfSrc: {\r\n lyrics: \"https://drive.google.com/file/d/16Dn6f31lJ3B9YUHEI5kF-bduZbopsGNO/view?usp=drivesdk\",\r\n lyricsChords: \"https://drive.google.com/file/d/16Gj-CMvrwJIjp2WDuJVXSEP8HTd_LvOm/view?usp=drivesdk\",\r\n }\r\n },\r\n {\r\n albumId: \"shalomInEveryStorm\",\r\n title: \"Shalom in Every Storm\",\r\n imgSrc: \"../../../assets/album-covers/SHALOM_IN_EVERY_STORM.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/2eD93Tv0UnCVlM2bXb9YJh?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/shalom-in-every-storm-single/1566423245?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n },\r\n {\r\n albumId: \"vantarHarPaDig\",\r\n title: \"Väntar här på dig (Psalm 130)\",\r\n imgSrc: \"../../../assets/album-covers/VANTAR_HAR_PA_DIG.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/6Av7keFlZCX1jZrkF06GI2?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/v%C3%A4ntar-h%C3%A4r-p%C3%A5-dig-psalm-130-single/1560725987?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"dark\",\r\n },\r\n {\r\n albumId: \"onlyYou\",\r\n title: \"Only You\",\r\n imgSrc: \"../../../assets/album-covers/ONLY_YOU.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/6ns1qWAHs8PmXF00bNWd3y?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/only-you-single/1543976313?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n },\r\n {\r\n albumId: \"identitet\",\r\n title: \"Identitet\",\r\n imgSrc: \"../../../assets/album-covers/IDENTITET.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/6aPyFTqPR4dG9MM6h20VB3?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/us/album/identitet/1484317305?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"album\",\r\n darkOrBrightCover: \"bright\",\r\n },\r\n {\r\n albumId: \"brinner\",\r\n title: \"Brinner\",\r\n imgSrc: \"../../../assets/album-covers/BRINNER.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/1DhvSBZ0zz7UUxywPoS7Pn?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/us/album/brinner-single/1481961709?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"dark\",\r\n },\r\n {\r\n albumId: \"duArDenDuAr\",\r\n title: \"Du är den Du är\",\r\n imgSrc: \"../../../assets/album-covers/DU_AR_DEN_DU_AR.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/1iH2RxncdppTQNALMUbRJ5?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/du-%C3%A4r-den-du-%C3%A4r-single/1481470043?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"dark\",\r\n },\r\n {\r\n albumId: \"nothingButGlory\",\r\n title: \"Nothing but Glory (feat. Mathias Danielsson)\",\r\n imgSrc: \"../../../assets/album-covers/NOTHING_BUT_GLORY.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/222oDqxNmlE0k7zTpUbJ4w?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/nothing-but-glory-feat-mathias-danielsson-single/1200854777?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n },\r\n {\r\n albumId: \"comeTearDownTheWalls\",\r\n title: \"Come and Tear Down the Walls (feat. Jenny Wahlström)\",\r\n imgSrc: \"../../../assets/album-covers/COME_AND_TEAR_DOWN_THE_WALLS.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/3s7b9EI4C4WzFdaC3r5W0j?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/come-and-tear-down-the-walls-feat-jenny-wahlstr%C3%B6m-single/1190118902?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"dark\",\r\n },\r\n {\r\n albumId: \"heavensDeclaration\",\r\n title: \"Heaven's Declaration (feat. Mark Alan Schoolmeesters)\",\r\n imgSrc: \"../../../assets/album-covers/HEAVENS_DECLARATION.jpg\",\r\n spotifySrc: \"https://open.spotify.com/embed/album/6tmNhzkFOCg2itiQLA2gNx?utm_source=generator\",\r\n appleSrc: \"https://embed.music.apple.com/se/album/heavens-declaration-feat-mark-alan-schoolmeesters-single/1181137076?app=music&itsct=music_box_player&itscg=30200&ls=1&theme=dark\",\r\n type: \"single\",\r\n darkOrBrightCover: \"bright\",\r\n },\r\n];\r\n\r\n\r\n// -D8j*yhBv\r\n","export const sessionsData: Sessions[] = [\r\n {\r\n sessionId: \"rise\",\r\n title: \"Rise (feat. Micke Fhinn)\",\r\n description: \"\",\r\n coverSrc: \"../../../assets/sessions/RISE.jpg\",\r\n videoSrc: 'https://www.youtube.com/embed/zRP5xYjXNCs?si=L-zhUrZf9mq5NNh_',\r\n time: \"\",\r\n duration: \"\",\r\n type: \"single\",\r\n },\r\n {\r\n sessionId: \"fullness\",\r\n title: \"Fullness (feat. Lucas Galovan)\",\r\n description: \"\",\r\n coverSrc: \"../../../assets/sessions/FULLNESS.jpg\",\r\n videoSrc: 'https://www.youtube.com/embed/nsvu0s15GIc',\r\n time: \"\",\r\n duration: \"\",\r\n type: \"single\",\r\n },\r\n {\r\n sessionId: \"fixYourEyes\",\r\n title: \"Fix Your Eyes (feat. Rebecka Almonte)\",\r\n description: \"\",\r\n coverSrc: \"../../../assets/sessions/FIX_YOUR_EYES.jpg\",\r\n videoSrc: 'https://www.youtube.com/embed/85MqEn5qeYc',\r\n time: \"\",\r\n duration: \"\",\r\n type: \"single\",\r\n },\r\n {\r\n sessionId: \"nuArJagDin\",\r\n title: \"Nu är jag Din\",\r\n description: \"\",\r\n coverSrc: \"../../../assets/sessions/NU_AR_JAG_DIN_SESSION_COVER.jpg\",\r\n videoSrc: 'https://www.youtube.com/embed/y1YnVQbFC48',\r\n time: \"\",\r\n duration: \"\",\r\n type: \"single\",\r\n },\r\n {\r\n sessionId: \"jagVillFoljaJesus\",\r\n title: \"Jag vill följa Jesus\",\r\n description: \"\",\r\n coverSrc: \"../../../assets/sessions/JAG_VILL_FOLJA_JESUS_SESSION_COVER.jpg\",\r\n videoSrc: 'https://www.youtube.com/embed/tNtNwcGY_IY?start=10',\r\n time: \"\",\r\n duration: \"\",\r\n type: \"single\",\r\n },\r\n];\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) { }\r\n\r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default: throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { UserService } from '../services/user.service';\r\nimport { Observable,of } from 'rxjs';\r\nimport { map ,tap} from 'rxjs/operators';\r\n\r\n@Pipe({\r\n name: 'userFullName'\r\n})\r\nexport class UserFullNamePipe implements PipeTransform {\r\n\r\n constructor(private userService: UserService ) {}\r\n\r\n transform(userId:string): Observable {\r\n\r\n if (!userId) {\r\n return of();\r\n }\r\n\r\n return this.userService.getUserById(userId).pipe(\r\n tap(x => {\r\n }),\r\n map((x:any) => {\r\n return x.firstName+' '+x.lastName;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private jwtHelper: JwtHelperService,private router: Router, private http:HttpClient ) {\r\n }\r\n async canActivate() {\r\n const token = localStorage.getItem('jwt');\r\n \r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n return true;\r\n }\r\n\r\n const isRefreshSuccess = await this.tryRefreshingTokens(token);\r\n if (!isRefreshSuccess) {\r\n this.router.navigate(['/admin']);\r\n }\r\n \r\n this.router.navigate(['/admin']);\r\n return false;\r\n }\r\n \r\n private async tryRefreshingTokens(token: string): Promise {\r\n\r\n // Try refreshing tokens using refresh token\r\n const refreshToken: string = localStorage.getItem('refreshToken');\r\n if (!token || !refreshToken) {\r\n return false;\r\n }\r\n const credentials = JSON.stringify({ accessToken: token, refreshToken: refreshToken });\r\n let isRefreshSuccess: boolean;\r\n try {\r\n const response = await this.http.post('http://localhost:5000/api/token/refresh', credentials, {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": 'application/json'\r\n }),\r\n observe: 'response'\r\n }).toPromise();\r\n\r\n const newToken = (response).body.accessToken;\r\n const newRefreshToken = (response).body.refreshToken;\r\n localStorage.setItem('jwt', newToken);\r\n localStorage.setItem('refreshToken', newRefreshToken);\r\n isRefreshSuccess = true;\r\n\r\n }\r\n catch (ex) {\r\n isRefreshSuccess = false;\r\n }\r\n return isRefreshSuccess;\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { EMPTY, empty, of } from \"rxjs\";\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n\r\n\r\n constructor(private router: Router, private http: HttpClient, @Inject('BASE_URL') private baseUrl: string, private jwtHelper: JwtHelperService) {\r\n this.userSubject = new BehaviorSubject(null);\r\n this.loggedInUser = this.userSubject.asObservable();\r\n }\r\n\r\n private userSubject: BehaviorSubject;\r\n public loggedInUser: Observable;\r\n\r\n private jwtTokenName = 'jwt';\r\n private refreshTokenName = 'refreshToken';\r\n\r\n private refreshTokenTimeout;\r\n\r\n public get userValue(): ILoggedInUser {\r\n return this.userSubject.value;\r\n }\r\n\r\n login(email: string, password: string) {\r\n\r\n\r\n localStorage.removeItem(this.jwtTokenName);\r\n localStorage.removeItem(this.refreshTokenName);\r\n\r\n return this.http.post(this.baseUrl + 'api/1.0/auth', {\r\n email: email,\r\n password: password\r\n })\r\n .pipe(map((x: ITokenAndRefreshTokenDto) => {\r\n\r\n // console.log('login response', x);\r\n this.setToken(x);\r\n this.startRefreshTokenTimer();\r\n return x;\r\n }));\r\n }\r\n\r\n // set new loggedInUser\r\n setLoggedInUserFromJwt() {\r\n\r\n let jwt = localStorage.getItem(this.jwtTokenName);\r\n if (jwt) {\r\n let decodedJwt = this.jwtHelper.decodeToken(jwt);\r\n // console.log('jwt decoded', decodedJwt);\r\n this.userSubject.next({ firstName: decodedJwt.firstName } as ILoggedInUser);\r\n } else {\r\n this.userSubject.next(null);\r\n }\r\n }\r\n\r\n logout() {\r\n\r\n this.http.post(this.baseUrl + 'api/1.0/token/revoke', {}, { withCredentials: true }).subscribe(x => { }, e => { }, () => {\r\n localStorage.removeItem(this.jwtTokenName);\r\n localStorage.removeItem(this.refreshTokenName);\r\n });\r\n\r\n this.stopRefreshTokenTimer();\r\n this.userSubject.next(null);\r\n this.router.navigate(['/admin']);\r\n\r\n }\r\n\r\n // save jwt localStorage\r\n setToken(token: ITokenAndRefreshTokenDto) {\r\n\r\n localStorage.setItem(this.jwtTokenName, token.accessToken);\r\n localStorage.setItem(this.refreshTokenName, token.refreshToken);\r\n this.setLoggedInUserFromJwt();\r\n }\r\n\r\n public refreshToken() {\r\n // console.log('refresh token starting..');\r\n\r\n let jwt = localStorage.getItem(this.jwtTokenName);\r\n let refreshToken = localStorage.getItem('refreshToken');\r\n\r\n if (!jwt || !refreshToken) {\r\n return EMPTY;\r\n }\r\n return this.http.post(this.baseUrl + 'api/1.0/token/refresh',\r\n {\r\n accessToken: jwt,\r\n refreshToken: refreshToken\r\n } as ITokenAndRefreshTokenDto, { withCredentials: true })\r\n .pipe(map((x: ITokenAndRefreshTokenDto) => {\r\n // console.log('refreshToken', x);\r\n this.setToken(x);\r\n this.startRefreshTokenTimer();\r\n return x;\r\n }),\r\n catchError((err, caught) => {\r\n\r\n // console.log('refreshToken pipe error ', err);\r\n if (err.error === 'Refresh token expired.' || err.error === 'Bad refresh token.') {\r\n this.logout();\r\n }\r\n\r\n return EMPTY;\r\n }));\r\n }\r\n\r\n private startRefreshTokenTimer() {\r\n\r\n let decodedJwt = this.jwtHelper.decodeToken(localStorage.getItem('jwt'));\r\n const exp = new Date(decodedJwt.exp * 1000);\r\n const timeout = exp.getTime() - Date.now() - (60 * 1000);\r\n // console.log('refresh timeout in minutes', timeout / 1000 / 60);\r\n\r\n this.refreshTokenTimeout = setTimeout(() => this.refreshToken().subscribe(), timeout);\r\n }\r\n\r\n private stopRefreshTokenTimer() {\r\n clearTimeout(this.refreshTokenTimeout);\r\n }\r\n\r\n resetPasswordInit(email: string) {\r\n return this.http.post('/api/1.0/auth/reset-password',\r\n { email: email });\r\n }\r\n\r\n resetPassword(email: string, password: string, token: string) {\r\n return this.http.put('/api/1.0/auth/reset-password',\r\n { email: email, password: password, token: token });\r\n }\r\n}\r\n","import { Injectable, TemplateRef } from '@angular/core';\r\nimport { NgbOffcanvas, OffcanvasDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class HelperService {\r\n\r\n give: Give = \"once\";\r\n isSideMenuOpen: boolean = false;\r\n offcanvasContent?: TemplateRef;\r\n closeResult = \"\";\r\n selectedEvent = new BehaviorSubject(undefined);\r\n activeTab = new BehaviorSubject(1);\r\n selectedSession = new BehaviorSubject(undefined);\r\n\r\n constructor(private offcanvasService: NgbOffcanvas) { }\r\n\r\n selectSession(session: Sessions) {\r\n this.selectedSession.next(session)\r\n }\r\n\r\n setActiveTab(active: ActiveTab) {\r\n this.activeTab.next(active);\r\n }\r\n\r\n selectEvent(event: ComingEvents) {\r\n this.selectedEvent.next(event);\r\n }\r\n\r\n get getIsSideMenuOpen() {\r\n return this.isSideMenuOpen;\r\n }\r\n\r\n toggleIsSideMenuOpen(content?: TemplateRef) {\r\n if (this.isSideMenuOpen === true) {\r\n this.offcanvasService.dismiss(content);\r\n this.isSideMenuOpen = false;\r\n }\r\n else if (this.isSideMenuOpen === false) {\r\n this.offcanvasService.open(content, { position: 'end' }).result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n },\r\n );\r\n this.isSideMenuOpen = true;\r\n }\r\n }\r\n\r\n private getDismissReason(reason: any): void {\r\n if (reason === OffcanvasDismissReasons.ESC) {\r\n // console.log('by pressing ESC');\r\n } else if (reason === OffcanvasDismissReasons.BACKDROP_CLICK) {\r\n // console.log('by clicking on the backdrop');\r\n this.isSideMenuOpen = false;\r\n } else {\r\n // console.log(`with: ${reason}`);\r\n }\r\n }\r\n\r\n closeSideMenu(content?: TemplateRef) {\r\n this.offcanvasService.dismiss(content);\r\n this.isSideMenuOpen = false;\r\n }\r\n\r\n get getGive() {\r\n return this.give;\r\n }\r\n setIsGive(give: Give) {\r\n this.give = give;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LyricsService {\r\n\r\n selectedLyricsId = new BehaviorSubject(\"\");\r\n editStatus = new Subject();\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAllLyrics(): Observable {\r\n return this.http.get(this.baseUrl + 'api/1.0/lyrics');\r\n }\r\n\r\n getLyricsById(lyricsId: string): Observable {\r\n return this.http.get(this.baseUrl + 'api/1.0/lyrics/' + lyricsId);\r\n }\r\n\r\n // getLyricsBySelectedId(): Observable {\r\n // return this.http.get(this.baseUrl + 'api/1.0/lyrics/' + this.selectedLyricsId);\r\n // }\r\n\r\n // getFirstLyricsInList(): Lyrics {\r\n // let returnValue: Lyrics;\r\n // const all = this.http.get(this.baseUrl + 'api/1.0/lyrics');\r\n // all.subscribe(x => { returnValue = x[0] });\r\n\r\n // return returnValue;\r\n // }\r\n\r\n addLyric(body: Lyrics) {\r\n return this.http.post(this.baseUrl + 'api/1.0/lyrics/', body);\r\n }\r\n\r\n editLyric(id: string, body: Lyrics) {\r\n const request: Lyrics = {\r\n id: id,\r\n title: body.title,\r\n songWriters: body.songWriters,\r\n youtubeLink: body.youtubeLink,\r\n lyricSection: body.lyricSection,\r\n };\r\n\r\n return this.http.put(this.baseUrl + 'api/1.0/lyrics/' + id, request);\r\n }\r\n\r\n deleteLyric(id: string) {\r\n return this.http.delete(this.baseUrl + 'api/1.0/lyrics/' + id);\r\n }\r\n\r\n changeLyricsId(id: string) {\r\n this.selectedLyricsId.next(id);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalsService {\r\n\r\n modal: Subject = new Subject();\r\n\r\n orderDetails = new BehaviorSubject(undefined);\r\n \r\n constructor() { }\r\n \r\n setOrderDetails(details: any) {\r\n this.orderDetails.next(details);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MusicService {\r\n\r\n selectedAlbumId = new BehaviorSubject(\"\");\r\n \r\n constructor() { }\r\n\r\n setAlbumId(id: AlbumId) {\r\n this.selectedAlbumId.next(id);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PayPalService {\n\n planId: string;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\n\n onTransactionComplete(body: PayPalPaymentConfirmed) {\n this.http.post(this.baseUrl + 'api/1.0/PayPal/', body);\n }\n\n getWebhookTest(): Observable {\n return this.http.get(this.baseUrl + 'api/1.0/PayPal/');\n }\n\n createTest() {\n return this.http.post(this.baseUrl + 'api/1.0/PayPal/test/', null);\n }\n\n createPlan(body: CreatePlanBody) {\n // console.log(body);\n return this.http.post(this.baseUrl + 'api/1.0/PayPal/createPlan/', body);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n \r\n getUser() {\r\n return this.http.get(this.baseUrl + 'api/1.0/user');\r\n }\r\n \r\n getCurrentUser() {\r\n return this.http.get(this.baseUrl + 'api/1.0/user/current');\r\n }\r\n\r\n //getUserByEmail(email) {\r\n // return this.http.get(this.baseUrl + 'api/1.0/user/email/' + email);\r\n //}\r\n\r\n updateUser(user: any) {\r\n return this.http.put(this.baseUrl + 'api/1.0/user', user);\r\n }\r\n\r\n findUsers(searchText = '') {\r\n let url = this.baseUrl + 'api/1.0/user?q=' + searchText;\r\n \r\n return this.http.get(url);\r\n }\r\n\r\n getUserById(userId: string) {\r\n return this.http.get(this.baseUrl + 'api/1.0/user/' + userId);\r\n }\r\n\r\n removeUser(userId: string) {\r\n return this.http.delete(this.baseUrl + 'api/1.0/user/' + userId);\r\n }\r\n \r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n paypalKey: 'AQ8I2vtTtLSTugxIs-WjkMJzN0FI63WmCpWay9UAdmHMCcRCNw1njxzLI2fVwzltpkfR_xL_oYvAO7mW',\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","var map = {\n\t\"./af\": 8685,\n\t\"./af.js\": 8685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 2614,\n\t\"./ar-kw.js\": 2614,\n\t\"./ar-ly\": 8630,\n\t\"./ar-ly.js\": 8630,\n\t\"./ar-ma\": 8674,\n\t\"./ar-ma.js\": 8674,\n\t\"./ar-sa\": 9032,\n\t\"./ar-sa.js\": 9032,\n\t\"./ar-tn\": 4730,\n\t\"./ar-tn.js\": 4730,\n\t\"./ar.js\": 254,\n\t\"./az\": 3052,\n\t\"./az.js\": 3052,\n\t\"./be\": 150,\n\t\"./be.js\": 150,\n\t\"./bg\": 3069,\n\t\"./bg.js\": 3069,\n\t\"./bm\": 3466,\n\t\"./bm.js\": 3466,\n\t\"./bn\": 8516,\n\t\"./bn-bd\": 557,\n\t\"./bn-bd.js\": 557,\n\t\"./bn.js\": 8516,\n\t\"./bo\": 6273,\n\t\"./bo.js\": 6273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 9815,\n\t\"./bs.js\": 9815,\n\t\"./ca\": 3331,\n\t\"./ca.js\": 3331,\n\t\"./cs\": 1320,\n\t\"./cs.js\": 1320,\n\t\"./cv\": 2219,\n\t\"./cv.js\": 2219,\n\t\"./cy\": 8266,\n\t\"./cy.js\": 8266,\n\t\"./da\": 6427,\n\t\"./da.js\": 6427,\n\t\"./de\": 7435,\n\t\"./de-at\": 2871,\n\t\"./de-at.js\": 2871,\n\t\"./de-ch\": 2994,\n\t\"./de-ch.js\": 2994,\n\t\"./de.js\": 7435,\n\t\"./dv\": 2357,\n\t\"./dv.js\": 2357,\n\t\"./el\": 5649,\n\t\"./el.js\": 5649,\n\t\"./en-au\": 9961,\n\t\"./en-au.js\": 9961,\n\t\"./en-ca\": 9878,\n\t\"./en-ca.js\": 9878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 864,\n\t\"./en-ie.js\": 864,\n\t\"./en-il\": 1579,\n\t\"./en-il.js\": 1579,\n\t\"./en-in\": 940,\n\t\"./en-in.js\": 940,\n\t\"./en-nz\": 6181,\n\t\"./en-nz.js\": 6181,\n\t\"./en-sg\": 4301,\n\t\"./en-sg.js\": 4301,\n\t\"./eo\": 5291,\n\t\"./eo.js\": 5291,\n\t\"./es\": 4529,\n\t\"./es-do\": 3764,\n\t\"./es-do.js\": 3764,\n\t\"./es-mx\": 2584,\n\t\"./es-mx.js\": 2584,\n\t\"./es-us\": 3425,\n\t\"./es-us.js\": 3425,\n\t\"./es.js\": 4529,\n\t\"./et\": 5203,\n\t\"./et.js\": 5203,\n\t\"./eu\": 678,\n\t\"./eu.js\": 678,\n\t\"./fa\": 3483,\n\t\"./fa.js\": 3483,\n\t\"./fi\": 6262,\n\t\"./fi.js\": 6262,\n\t\"./fil\": 2521,\n\t\"./fil.js\": 2521,\n\t\"./fo\": 4555,\n\t\"./fo.js\": 4555,\n\t\"./fr\": 3131,\n\t\"./fr-ca\": 8239,\n\t\"./fr-ca.js\": 8239,\n\t\"./fr-ch\": 1702,\n\t\"./fr-ch.js\": 1702,\n\t\"./fr.js\": 3131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 3821,\n\t\"./ga.js\": 3821,\n\t\"./gd\": 1753,\n\t\"./gd.js\": 1753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 2762,\n\t\"./gom-deva.js\": 2762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 2809,\n\t\"./gu.js\": 2809,\n\t\"./he\": 5402,\n\t\"./he.js\": 5402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 410,\n\t\"./hr.js\": 410,\n\t\"./hu\": 8288,\n\t\"./hu.js\": 8288,\n\t\"./hy-am\": 8999,\n\t\"./hy-am.js\": 8999,\n\t\"./id\": 1334,\n\t\"./id.js\": 1334,\n\t\"./is\": 6959,\n\t\"./is.js\": 6959,\n\t\"./it\": 4864,\n\t\"./it-ch\": 1124,\n\t\"./it-ch.js\": 1124,\n\t\"./it.js\": 4864,\n\t\"./ja\": 6141,\n\t\"./ja.js\": 6141,\n\t\"./jv\": 9187,\n\t\"./jv.js\": 9187,\n\t\"./ka\": 2136,\n\t\"./ka.js\": 2136,\n\t\"./kk\": 4332,\n\t\"./kk.js\": 4332,\n\t\"./km\": 8607,\n\t\"./km.js\": 8607,\n\t\"./kn\": 4305,\n\t\"./kn.js\": 4305,\n\t\"./ko\": 234,\n\t\"./ko.js\": 234,\n\t\"./ku\": 6003,\n\t\"./ku.js\": 6003,\n\t\"./ky\": 5061,\n\t\"./ky.js\": 5061,\n\t\"./lb\": 2786,\n\t\"./lb.js\": 2786,\n\t\"./lo\": 6183,\n\t\"./lo.js\": 6183,\n\t\"./lt\": 29,\n\t\"./lt.js\": 29,\n\t\"./lv\": 4169,\n\t\"./lv.js\": 4169,\n\t\"./me\": 8577,\n\t\"./me.js\": 8577,\n\t\"./mi\": 8177,\n\t\"./mi.js\": 8177,\n\t\"./mk\": 337,\n\t\"./mk.js\": 337,\n\t\"./ml\": 5260,\n\t\"./ml.js\": 5260,\n\t\"./mn\": 2325,\n\t\"./mn.js\": 2325,\n\t\"./mr\": 4695,\n\t\"./mr.js\": 4695,\n\t\"./ms\": 5334,\n\t\"./ms-my\": 7151,\n\t\"./ms-my.js\": 7151,\n\t\"./ms.js\": 5334,\n\t\"./mt\": 3570,\n\t\"./mt.js\": 3570,\n\t\"./my\": 7963,\n\t\"./my.js\": 7963,\n\t\"./nb\": 8028,\n\t\"./nb.js\": 8028,\n\t\"./ne\": 6638,\n\t\"./ne.js\": 6638,\n\t\"./nl\": 302,\n\t\"./nl-be\": 6782,\n\t\"./nl-be.js\": 6782,\n\t\"./nl.js\": 302,\n\t\"./nn\": 3501,\n\t\"./nn.js\": 3501,\n\t\"./oc-lnc\": 563,\n\t\"./oc-lnc.js\": 563,\n\t\"./pa-in\": 869,\n\t\"./pa-in.js\": 869,\n\t\"./pl\": 5302,\n\t\"./pl.js\": 5302,\n\t\"./pt\": 9687,\n\t\"./pt-br\": 4884,\n\t\"./pt-br.js\": 4884,\n\t\"./pt.js\": 9687,\n\t\"./ro\": 9107,\n\t\"./ro.js\": 9107,\n\t\"./ru\": 3627,\n\t\"./ru.js\": 3627,\n\t\"./sd\": 355,\n\t\"./sd.js\": 355,\n\t\"./se\": 3427,\n\t\"./se.js\": 3427,\n\t\"./si\": 1848,\n\t\"./si.js\": 1848,\n\t\"./sk\": 4590,\n\t\"./sk.js\": 4590,\n\t\"./sl\": 184,\n\t\"./sl.js\": 184,\n\t\"./sq\": 6361,\n\t\"./sq.js\": 6361,\n\t\"./sr\": 8965,\n\t\"./sr-cyrl\": 1287,\n\t\"./sr-cyrl.js\": 1287,\n\t\"./sr.js\": 8965,\n\t\"./ss\": 5456,\n\t\"./ss.js\": 5456,\n\t\"./sv\": 451,\n\t\"./sv.js\": 451,\n\t\"./sw\": 7558,\n\t\"./sw.js\": 7558,\n\t\"./ta\": 2702,\n\t\"./ta.js\": 2702,\n\t\"./te\": 3693,\n\t\"./te.js\": 3693,\n\t\"./tet\": 1243,\n\t\"./tet.js\": 1243,\n\t\"./tg\": 2469,\n\t\"./tg.js\": 2469,\n\t\"./th\": 5768,\n\t\"./th.js\": 5768,\n\t\"./tk\": 7761,\n\t\"./tk.js\": 7761,\n\t\"./tl-ph\": 5780,\n\t\"./tl-ph.js\": 5780,\n\t\"./tlh\": 9590,\n\t\"./tlh.js\": 9590,\n\t\"./tr\": 3807,\n\t\"./tr.js\": 3807,\n\t\"./tzl\": 3857,\n\t\"./tzl.js\": 3857,\n\t\"./tzm\": 654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 654,\n\t\"./ug-cn\": 845,\n\t\"./ug-cn.js\": 845,\n\t\"./uk\": 9232,\n\t\"./uk.js\": 9232,\n\t\"./ur\": 7052,\n\t\"./ur.js\": 7052,\n\t\"./uz\": 7967,\n\t\"./uz-latn\": 2233,\n\t\"./uz-latn.js\": 2233,\n\t\"./uz.js\": 7967,\n\t\"./vi\": 8615,\n\t\"./vi.js\": 8615,\n\t\"./x-pseudo\": 2320,\n\t\"./x-pseudo.js\": 2320,\n\t\"./yo\": 1313,\n\t\"./yo.js\": 1313,\n\t\"./zh-cn\": 4490,\n\t\"./zh-cn.js\": 4490,\n\t\"./zh-hk\": 5910,\n\t\"./zh-hk.js\": 5910,\n\t\"./zh-mo\": 8262,\n\t\"./zh-mo.js\": 8262,\n\t\"./zh-tw\": 4223,\n\t\"./zh-tw.js\": 4223\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 = 6700;"],"names":["Injectable","Router","JwtHelperService","HttpClient","HttpHeaders","AuthGuard","constructor","jwtHelper","router","http","canActivate","token","localStorage","getItem","isTokenExpired","isRefreshSuccess","tryRefreshingTokens","navigate","refreshToken","credentials","JSON","stringify","accessToken","response","post","headers","observe","toPromise","newToken","body","newRefreshToken","setItem","ex"],"sourceRoot":"webpack:///","x_google_ignoreList":[50]}