{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAA+D;AAEN;AAGa;AAEZ;AAC0B;;;;;;;;;;ICyDxC,sEAAyC;IAAA,uDAAoB;IAAA,4DAAM;;;IAA1B,0DAAoB;IAApB,wFAAoB;;;IADjE,0EAAyD;IACrD,yHAAmE;IACvE,4DAAM;;;IADI,0DAAiC;IAAjC,oGAAiC;;;IAOvC,sEAA2E;;;ADvDhH,MAAM,qBAAqB;IAW9B,YAAoB,IAAgB,EAAE,mCAAmC;IAC7D,WAAwB,EACxB,eAA+B,EAC/B,MAAc,EACd,QAAmB,EACnB,cAAoC,EACpC,KAA4B;QANpB,SAAI,GAAJ,IAAI,CAAY;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAW;QACnB,mBAAc,GAAd,cAAc,CAAsB;QACpC,UAAK,GAAL,KAAK,CAAuB;QAbxC,YAAO,GAAG,KAAK,CAAC;QAChB,WAAM,GAAQ,sEAAa,CAAC;QAErB,QAAG,GAAG,yEAAkB,CAAC;QAW5B,sBAAsB;QACtB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC3C,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,iFAAwB,CAAC,CAAC,CAAC;SACvF,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACX,UAAU,CAAC,GAAG,EAAE;YAEZ,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,CAAC;YAEpE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,CAAC;YAElE,IAAI,CAAC,KAAK,EAAE,CAAC;QAEjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,yBAAyB;QAErB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;SAE7D,CAAC,CAAC;QAGH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,GAAG,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzF,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;QAChD,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAGpC,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElD,QAAQ;QAGJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/B,OAAO;SACV;QAED,IAAI,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE;QAE/D,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAIrB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBAE5B,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,0EAAuB;oBAChD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;;oBAEhC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,sDAAsD;aACzD;iBAAM;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;IACN,CAAC;IAED,SAAS;QACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;;0FArGQ,qBAAqB;mHAArB,qBAAqB;QCuBlC,yEAAwC;QAQa,oEAAgE;QAAA,4DAAI;QAGjG,0EAA6G;QAAhD,iJAAY,cAAU,IAAC;QAEhF,2EAAiB;QAKG,sEAAkD;QAE1D,4DAAM;QACN,wEAE2E;QAC3E,oHAEM;QACV,4DAAM;QAEN,2EAAkB;QAEV,oEACA;QAAA,sHAA2E;QAC/E,4DAAS;;QAtBK,0DAA8B;QAA9B,2FAA8B;QAO/B,0DAA0C;QAA1C,6KAA0C;QAIhD,0DAA8E;QAA9E,oMAA8E;QAE/E,0DAAwB;QAAxB,wFAAwB;QAMrB,0DAA+C;QAA/C,gHAA+C;QAE7C,0DAAa;QAAb,6EAAa;;;;;;;;;;;;;;;;;;;;;ACxED;AAGpC;;;;;AAOpB,MAAM,cAAc;IAGvB,YAAoB,OAAe,EACvB,cAAoC,EACpC,IAAgB,EAAsB,IAAY;QAF1C,YAAO,GAAP,OAAO,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAsB;QACpC,SAAI,GAAJ,IAAI,CAAY;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAID,KAAK,CAAC,GAAQ;QAEV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sBAAsB,EAAE,GAAG,CAAC;aACjE,IAAI,CAAC,yCAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,SAAS,CAAC,GAAQ;QAEd,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;SAE7D,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,0BAA0B,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAClF,IAAI,CAAC,yCAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,GAAQ;QAEpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAAE,GAAG,CAAC;aAC3E,IAAI,CAAC,yCAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;4EAvCQ,cAAc,+aAKe,UAAU;+GALvC,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;ACNwB;AACF;;;;AAMrC,MAAM,gBAAgB;IAEzB,YAAoB,OAAe,EAAU,OAA0B;QAAnD,YAAO,GAAP,OAAO,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAmB;IAAI,CAAC;IAE5E,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAU,CAAC,GAAG,CAAC,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,OAAO,gDAAU,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;;gFAVQ,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB;;;;;;;;;;;;;;;;;;;ACFC;AAGY;;;AAGnC,MAAM,cAAc;IAEvB,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAI,CAAC;IAEnD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YACpB,UAAU,EAAE;gBACR,WAAW,EAAC,gCAAgC;gBAC5C,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;aAC7D;SACJ,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,mDAAG,CAAC,KAAK,CAAC,EAAE;YACR,IAAI,KAAK,YAAY,8DAAY,EAAE;gBAE/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;;4EAtBQ,cAAc;+GAAd,cAAc,WAAd,cAAc;;;;;;;;;;;;;;;;;;;;ACVA;AACwB;;;;AAK5C,MAAM,eAAe;IAIxB,YAAoB,OAAe,EAAU,IAAgB,EAAsB,IAAY;QAA3E,YAAO,GAAP,OAAO,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAY;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAGD,aAAa;;QAET,IAAI,SAAS,GAAG,kBAAY,CAAC,OAAO,CAAC,KAAK,CAAC,0CAAE,QAAQ,EAAE,CAAC;QACxD,IAAI,SAAS,IAAI,SAAS;YACtB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,IAAI,GAAG,IAAI,2DAAe,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QAErB,OAAO,IAAI,CAAC;IAEhB,CAAC;IAED,MAAM;QACF,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,oBAAoB,EAAE,GAAG,CAAC;aAC/D,IAAI,CAAC,yCAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;8EAtCQ,eAAe,4RAI+C,UAAU;gHAJxE,eAAe,WAAf,eAAe,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHS;AAC+D;AACd;AACgC;AACH;AACvB;AACc;AACZ;;;;;AAQjF,MAAM,oBAAoB;IAG7B,qDAAqD;IAErD,YAAoB,MAAc,EAEtB,KAAqB,EACrB,OAAkB,EAClB,gBAAiC;QAJzB,WAAM,GAAN,MAAM,CAAQ;QAEtB,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAW;QAClB,qBAAgB,GAAhB,gBAAgB,CAAiB;QAPtC,aAAQ,GAAG,IAAI,yCAAO,EAAO,CAAC;IAOY,CAAC;IAE3C,eAAe,CAAC,MAAc,EAAE,UAAkB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oHAAwB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kGAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wGAAoB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEM,OAAO,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0FAAgB,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtI,CAAC;IAEM,cAAc,CAAC,WAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iHAAuB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5H,CAAC;IAEM,KAAK,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oFAAc,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpI,CAAC;IAEM,UAAU,CAAC,OAAoB;QAElC,MAAM,cAAc,GAAG,IAAI,0DAAc,EAAE;QAC3C,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;QAC3B,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC;QAC3B,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3B,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;QAE3B,MAAM,UAAU,GAAG,IAAI,4DAAgB,EAAE;QACzC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;QAC1B,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACnB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC5B,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,iDAAK,EAAE,CAAC;QAEzB,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,SAAS,EAAE;YACX,kBAAkB;YAClB,yCAAyC;YACzC,oBAAoB;YACpB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,0CAAyC;YAClE,6DAA6D;YAC7D,IAAI,SAAS,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;YACzB,iEAAiE;YACjE,iSAAiS;YACjS,0BAA0B;SAC7B;QAED,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC;QACzB,OAAO,CAAC,GAAG,GAAG,cAAc,CAAC;QAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAEpB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,IAAS;QAE1B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;IACL,CAAC;IAED,YAAY,CAAC,MAAW;QACpB,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC;IAGD,iBAAiB;QACb,WAAW;QAEX,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3F,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAExD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,IAAI,SAAS;gBACvE,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;;gBACnD,YAAY,GAAG,EAAE,CAAC;YAGvB,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC3F;IACL,CAAC;;wFA7GQ,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;ACjByC;AAGnB;;;AAKrC,MAAM,cAAc;IAKvB,YAAoB,IAAgB,EACZ,IAAY;QADhB,SAAI,GAAJ,IAAI,CAAY;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,EAAE,CAAC,4BAA2B;IACzC,CAAC;IAED,MAAM,CAAC,WAAgB;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,EAAE,WAAW,EAAE;YACrE,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,GAAQ;QACpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa;QACT,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,iCAAiC;YACjD,WAAW,EAAE,0CAA0C;YACvD,6BAA6B,EAAE,KAAK;YACpC,eAAe,EAAE,SAAS;SAC7B,CAAC,CAAC;QAEH,QAAQ,CAAC;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,2GAA2G,EAAE,EAAE,OAAO,EAAE,CAAC;aAC9I,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YAEb,QAAQ,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc;QACV,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;aACjF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,uBAAuB,CAAC,GAAG;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,wCAAwC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChG,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,yBAAyB,CAAC,GAAG;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,0CAA0C,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAClG,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,uBAAuB,CAAC,GAAG;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,wCAAwC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChG,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAG;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAC9F,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,wBAAwB;QACpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAAE,EAAE,OAAO,EAAE,CAAC;aAC5F,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB;QAChB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC;aACvF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,wBAAwB;QACpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAAE,EAAE,OAAO,EAAE,CAAC;aAC3F,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YAEb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,sBAAsB,CAAC,GAAG;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC7E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;QAGR,gGAAgG;QAChG,yBAAyB;QACzB,sBAAsB;QACtB,UAAU;IACd,CAAC;IAED,iBAAiB,CAAC,GAAG;QACjB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACxE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;QACR,2FAA2F;QAC3F,yBAAyB;QACzB,sBAAsB;QACtB,UAAU;IACd,CAAC;IAED,sBAAsB;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC;aACzF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,wBAAwB;QACpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAAE,EAAE,OAAO,EAAE,CAAC;aAC3F,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe;QACX,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC;aAClF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB;QACb,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EAAE,EAAE,OAAO,EAAE,CAAC;aACpF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa;QACT,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC;aAChF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,EAAO;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACvE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,8BAA8B,EACpE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,kBAAkB,CAAC,GAAQ;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,mCAAmC,EACzE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,0BAA0B,CAAC,GAAQ;QAC/B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,2CAA2C,EACjF,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAQ;QAC1B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,2BAA2B,CAAC,GAAQ;QAChC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,4CAA4C,EAClF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,mBAAmB,CAAC,GAAQ;QACxB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,8BAA8B,EACpE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,kBAAkB,CAAC,EAAO;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,mCAAmC,EACxE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,uBAAuB,CAAC,GAAQ;QAC5B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,wCAAwC,EAC9E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB;QACZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EAAE,EAAE,OAAO,EAAE,CAAC;aACnF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,kBAAkB;QACd,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC;aACrF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,eAAe;QACX,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC;aAClF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,KAAU;QAE3B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC1E;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,KAAK,CAAC,KAAK;aAClB,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,wBAAwB,CAAC,GAAQ;QAE7B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aACjG,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,wBAAwB,CAAC,KAAU,EAAE,EAAO;QACxC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,wBAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAC9E;YACI,MAAM,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC5E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,yCAAyC;IACzC,mBAAmB,CAAC,GAAQ;QACxB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAC1E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC3E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,4BAA4B,CAAC,GAAQ;QACjC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,6CAA6C,EACnF,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,GAAQ;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACvE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,GAAQ;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC3E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,EAAO;QAChB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,6BAA6B,EAClE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,EAAO;QACjB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,8BAA8B,EACnE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,EAAO;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACvE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,YAAY,CAAC,GAAG;QACZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,6BAA6B,EACnE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAMD,kBAAkB;IAClB,WAAW,CAAC,GAAQ;QAChB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAClE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,mBAAmB;QACf,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC;aACtF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,kBAAkB,CAAC,GAAQ;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,mCAAmC,EACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,GAAQ;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;4EAjsBQ,cAAc,+KAMX,UAAU;+GANb,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;ACNyC;AAGnB;;;AAKrC,MAAM,gBAAgB;IAIzB,YAAoB,IAAgB,EACZ,IAAY;QADhB,SAAI,GAAJ,IAAI,CAAY;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,oGAAoG;IACpG,0BAA0B;IAC1B,GAAG;IAEH,cAAc,CAAC,GAAQ;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gDAAgD,EAAE,GAAG,CAAC;aAC3F,IAAI,CAAC,mDAAG,CAAC,QAAQ,CAAC,EAAE;YACjB,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,sBAAsB;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC5E;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,QAAQ;QACJ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,2BAA2B,EAChE;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB;QACZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,mCAAmC,EACxE;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,uBAAuB,CAAC,GAAQ;QAE5B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,0CAA0C,EAChF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;gFAhFQ,gBAAgB,+KAKb,UAAU;iHALb,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;;;ACN2C;AAIP;;;;;;AAMjD,MAAM,eAAe;IAMxB,YAAoB,OAAe,EACvB,IAAgB,EACJ,IAAY,EACxB,KAAe,EACf,eAA+B;QAJvB,YAAO,GAAP,OAAO,CAAQ;QACvB,SAAI,GAAJ,IAAI,CAAY;QAEhB,UAAK,GAAL,KAAK,CAAU;QACf,oBAAe,GAAf,eAAe,CAAgB;QAN3C,oBAAe,GAAG,EAAE,CAAC;QAOjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,eAAe,GAAG;YACnB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B;IACL,CAAC;IAKD,IAAW,gBAAgB;QACvB,OAAO,EAAE,CAAC,4BAA2B;IACzC,CAAC;IAED,cAAc,CAAC,GAAQ;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,EAAO;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACtE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,KAAU;QAC5B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC5E;YACI,MAAM,EAAE;gBACJ,KAAK,EAAE,KAAK;aACf,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAO;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACrE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAO;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACrE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,kBAAkB,CAAC,EAAO;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EACzE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,EAAO;QACjB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACpE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,EAAO;QACxB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC3E;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,aAAa,CAAC,EAAO;QACjB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACpE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,oBAAoB,CAAC,EAAO;QACxB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC3E;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,GAAG;QAGhB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,8EAA8E;QAC9E,OAAO;QACP,iBAAiB;QACjB,QAAQ;QACR,yBAAyB;QACzB,sBAAsB;QACtB,UAAU;QAGV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACxE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,sBAAsB,CAAC,UAAe;QAClC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,wCAAwC,EAC7E;YACI,MAAM,EAAE;gBACJ,UAAU,EAAE,UAAU;aACzB,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,cAAc,CAAC,GAAG;QAEd,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,mBAAmB,CAAC,GAAG;QAEnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC3E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,cAAc,CAAC,GAAG;QAEd,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe;QAEX,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACtE,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,GAAG;QAEhB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACxE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAID,wBAAwB;QAEpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,0CAA0C,EAC/E;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,eAAe,CAAC,GAAG;QAEf,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACvE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB;QACZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACvE;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa;QACT,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACpE;YACI,OAAO;SACV,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,aAAa,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC7E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC7E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAGD,kBAAkB,CAAC,GAAQ;QACvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,GAAQ;QACnB,QAAQ,CAAC;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,iCAAiC,EAAE,GAAG,CAAC,CAAC;QAGrH,iCAAiC;QACjC,0CAA0C;QAC1C,iCAAiC;QACjC,KAAK;QAEL,8EAA8E;QAC9E,uCAAuC;QACvC,yBAAyB;QACzB,mBAAmB;QACnB,sBAAsB;QACtB,UAAU;IACd,CAAC;IAMD,aAAa,CAAC,GAAQ;QAElB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,4BAA4B,CAAC,GAAQ;QACjC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,+CAA+C,EACrF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,2BAA2B,CAAC,GAAQ;QAChC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,8CAA8C,EACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,GAAQ;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,2BAA2B,CAAC,GAAQ;QAChC,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,8CAA8C,EACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC7E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAQ;QAC1B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC7E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,GAAQ;QACrB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACxE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,kBAAkB;QACd,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC;aACtF,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,EAAO;QACpB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACvE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;8EA7oBQ,eAAe,4RAQZ,UAAU;gHARb,eAAe,WAAf,eAAe,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;ACRyC;AAGnB;;;;AAKrC,MAAM,cAAc;IAKvB,YAAoB,OAAe,EACvB,IAAgB,EACJ,IAAY;QAFhB,YAAO,GAAP,OAAO,CAAQ;QACvB,SAAI,GAAJ,IAAI,CAAY;QAExB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,EAAE,CAAC,4BAA2B;IACzC,CAAC;IAGD,gBAAgB;QAEZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,iCAAiC,EACtE,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,GAAQ;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAO;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACpE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,EAAO;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC3E;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,6BAA6B;QACzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,8CAA8C,EACnF,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IAEZ,CAAC;IAED,0BAA0B;QACtB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,2CAA2C,EAChF,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IAEZ,CAAC;IAID,uBAAuB,CAAC,GAAG;QAEvB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,wCAAwC,EAC9E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,EAAO;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACrE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAQ;QAC1B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,mBAAmB,CAAC,GAAG;QACnB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,qCAAqC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;aAChC,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAG;QAErB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC5E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,yBAAyB,CAAC,GAAG;QAEzB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,0CAA0C,EAChF,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,4BAA4B,CAAC,GAAG;QAE5B,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,6CAA6C,EACnF,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAO;QAClB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,+BAA+B,EACpE;YACI,MAAM,EAAE;gBACJ,EAAE,EAAE,EAAE;aACT,EAAE,OAAO;SACb,CAAC;aACD,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,GAAG;QAEf,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACtE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,qBAAqB,CAAC,GAAG;QAErB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAC5E,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,GAAG;QAEZ,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,OAAO,GAAG,6BAA6B,EACnE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;aAChB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,sBAAsB;QAElB,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAC5E,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;4EA9RQ,cAAc,4RAOX,UAAU;+GAPb,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;;ACNyC;AAIxB;;;;;AAMhC,MAAM,cAAc;IAMvB,YAAoB,OAAe,EACvB,IAAgB,EACJ,IAAY,EACxB,KAAe;QAHP,YAAO,GAAP,OAAO,CAAQ;QACvB,SAAI,GAAJ,IAAI,CAAY;QAEhB,UAAK,GAAL,KAAK,CAAU;QAL3B,oBAAe,GAAG,EAAE,CAAC;QAOjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,eAAe,GAAG;YACnB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,IAAI,CAAC,KAAK;SAC9B;IACL,CAAC;IAED,YAAY,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe;QAC3D,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC,eAAe,CAAC,CAAC;QAC/C,QAAQ,CAAC;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,SAAS,GAAG,KAAK,EACxC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;YAC7C,qBAAqB;YAGrB,eAAe;YACf,kBAAkB;YAClB,GAAG;YACH,KAAK;aAGJ,IAAI,CACD,yCAAG,CAAC,MAAM,CAAC,EAAE;YACT,WAAW;YACX,IAAI,MAAM,IAAI,IAAI,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;aAChD;;gBACI,OAAO,MAAM,CAAC;QACvB,CAAC,CAAC,EACF,gDAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,CACL;IACT,CAAC;;4EAjDQ,cAAc,4RAQX,UAAU;+GARb,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;ACPyC;AAC3B;;;;AAM7B,MAAM,qBAAqB;IAI9B,YAAoB,IAAgB,EACxB,SAA2B,EACf,IAAY;QAFhB,SAAI,GAAJ,IAAI,CAAY;QACxB,cAAS,GAAT,SAAS,CAAkB;QAJ/B,kBAAa,GAAG,IAAI,yCAAO,EAAW;QACvC,gBAAW,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAQvD,0EAA0E;QAC1E,oHAAoH;QACpH,GAAG;QAEH,yEAAyE;QACzE,4GAA4G;QAC5G,GAAG;QAEI,oCAA+B,GAAG,CAAC,eAAwB,EAAE,EAAE;YAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;QAEM,WAAM,GAAG,GAAG,EAAE;YACjB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAEM,mBAAc,GAAG,GAAY,EAAE;YAClC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE5C,2DAA2D;YAC3D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;gBACvC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;gBAE5C,OAAO,IAAI,CAAC,CAAC,2BAA2B;QAChD,CAAC;QAwBM,aAAQ,GAAG,GAAW,EAAE;YAG3B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;gBAEzC,IAAI,IAAI,GAAG;oBACP,SAAS,EAAE,EAAE;oBACb,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,EAAE;oBACZ,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,EAAE;iBACX;gBACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC,IAAI,CAAC;gBACjB,2CAA2C;aAC9C;;gBACI,OAAO,EAAE,CAAC;YAEf,sBAAsB;QAC1B,CAAC;QAKM,gBAAW,GAAG,GAAY,EAAE;YAC/B,8CAA8C;YAC9C,yDAAyD;YACzD,2FAA2F;YAE3F,OAAO,IAAI,CAAC;YACZ,kCAAkC;QACtC,CAAC;QAEO,wBAAmB,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,EAAE;YAChE,OAAO,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;QACpC,CAAC;QA7FG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IA6BM,eAAe;QAClB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;YAEzC,IAAI,IAAI,GAAG;gBACP,SAAS,EAAE,EAAE;gBACb,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,EAAE;aACX;YACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAE1E;IACL,CAAC;IA8CD,eAAe;QAEX,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7D,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,OAAO,GAAG,gCAAgC,EACrE,EAAE,OAAO,EAAE,CAAC;aACX,IAAI,CAAC,yCAAG,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;;0FAlHQ,qBAAqB,ySAMlB,UAAU;sHANb,qBAAqB,WAArB,qBAAqB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;ACCf,MAAM,SAAS;IAElB,YAAoB,WAAkC,EAAU,MAAc;QAA1D,gBAAW,GAAX,WAAW,CAAuB;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEnF,WAAW,CAAC,IAA4B,EAAE,KAA0B;QAGhE,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpF,OAAO,KAAK,CAAC;IAGjB,CAAC;IAGD,YAAY;QAER,UAAU,CAAC,GAAG,EAAE;YAGZ,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE;gBAEpC,2CAA2C;gBAC3C,iEAAiE;gBACjE,MAAM;gBACN,mCAAmC;gBACnC,gCAAgC;gBAGhC,OAAO;gBACP,YAAY;gBACZ,sCAAsC;gBACtC,OAAO;gBAEP,uBAAuB;gBAEvB,kDAAkD;gBAClD,iCAAiC;gBACjC,yCAAyC;gBACzC,mDAAmD;gBACnD,OAAO;gBACP,YAAY;gBACZ,kDAAkD;gBAClD,mDAAmD;gBACnD,OAAO;gBACP,IAAI;aACP;YACD,uBAAuB;iBAClB;gBACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAC5C;YAED,2CAA2C;YAC3C,oBAAoB;YAEpB,GAAG;YACH,QAAQ;YACR,+CAA+C;YAC/C,qBAAqB;YACrB,GAAG;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IAGD,cAAc;QAEV,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,mDAAmD;QACnD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE5D,8BAA8B;QAC9B,0BAA0B;IAK9B,CAAC;IASD,qCAAqC;IACrC,gBAAgB;QAEZ,2DAA2D;QAC3D,IAAI,mBAAmB,GAAG,OAAO,CAAC,CAAC,sDAAsD;QAEzF,qCAAqC;QACrC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEtC,gCAAgC;QAEhC,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,qDAAqD;YACrD,kBAAkB;YAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,gBAAgB,CAAC;YACxC,8DAA8D;QAClE,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAE5B,CAAC;;kEAnHQ,SAAS;0GAAT,SAAS,WAAT,SAAS,mBAFN,MAAM;;;;;;;;;;;;;;;;;;ACLf,MAAM,QAAQ;CAMpB;AAEM,MAAM,YAAa,SAAQ,QAAQ;CAEzC;AAEM,MAAM,WAAY,SAAQ,QAAQ;CAExC;AAEM,MAAM,aAAc,SAAQ,QAAQ;CAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;AChBM,MAAM,WAAW;IAAxB;QACW,QAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC7B,QAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3B,SAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACnB,QAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;IAEnC,CAAC;CAAA;AAGM,MAAM,gBAAgB;CAY5B;AAEM,MAAM,cAAc;CAM1B;AAEM,MAAM,KAAK;CAejB;AAEM,MAAM,GAAG;IAAhB;QAQW,UAAK,GAAG,IAAI,MAAM,EAAE,CAAC;QACrB,UAAK,GAAG,IAAI,MAAM,EAAE,CAAC;QACrB,QAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,KAAK;CAIjB;AAEM,MAAM,GAAG;CAKf;AAED,IAAY,MAMX;AAND,WAAY,MAAM;IACd,mCAAQ;IACR,iCAAO;IACP,iCAAG;IACH,qCAAK;IACL,mCAAI;AACR,CAAC,EANW,MAAM,KAAN,MAAM,QAMjB;AAEM,MAAM,SAAS,GAAG;IACrB,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACxC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACxC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;CACzC;AAEM,MAAM,eAAe;CAO3B;AAED,IAAY,cAmBX;AAnBD,WAAY,cAAc;IACtB,qDAAS;IACT,uDAAU;IACV,+EAAsB;IACtB,yEAAmB;IACnB,mEAAgB;IAChB,yEAAmB;IACnB,+DAAc;IACd,kEAAgB;IAChB,oEAAiB;IACjB,sFAA0B;IAC1B,sEAAkB;IAClB,wEAAmB;IACnB,gFAAuB;IACvB,kGAAgC;IAChC,wEAAmB;IACnB,8EAAsB;IACtB,8EAAsB;IACtB,oDAAS;AACb,CAAC,EAnBW,cAAc,KAAd,cAAc,QAmBzB;AAEM,MAAM,gBAAgB;CAgB5B;;;;;;;;;;;;;;;;;AC7IM,MAAM,YAAY;;AACE,6BAAgB,GAAW,SAAS,CAAC;AACrC,6BAAgB,GAAW,SAAS,CAAC;AACrC,eAAE,GAAW,IAAI,CAAC;AAClB,uBAAU,GAAW,OAAO,CAAC;AAC7B,uBAAU,GAAW,OAAO,CAAC;AAC7B,2BAAc,GAAW,OAAO,CAAC;AAOrD,MAAM,UAAU;;AACI,kBAAO,GAAW,SAAS,CAAC;AAC5B,gBAAK,GAAW,OAAO,CAAC;AACxB,kBAAO,GAAW,SAAS,CAAC;AAC5B,kBAAO,GAAW,SAAS,CAAC;AAC5B,gBAAK,GAAW,OAAO,CAAC;AACxB,iBAAM,GAAW,iBAAiB,CAAC;AAGvD,MAAM,OAAO;;AACF,aAAK,GAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;ACtB7B,MAAM,QAAQ;;AAEV,aAAI,GAAG,iBAAiB,CAAC;AACzB,mBAAU,GAAG,YAAY,CAAC;AAC1B,gBAAO,GAAG,aAAa,CAAC;AACxB,6BAAoB,GAAG,YAAY,CAAC;AACpC,0BAAiB,GAAG,YAAY,CAAC;AAIrC,MAAM,UAAU,GAA2B;IAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IAChG,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CACpF,CAAC;AAEK,MAAM,cAAc,GAA8B;IACrD,QAAQ,EAAE,oEAAoE;IAC9E,gCAAgC;IAChC,MAAM,EAAE,kBAAkB;IAC1B,GAAG,EAAE,gBAAgB;IACrB,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,iBAAiB;IAE5B,qBAAqB;IACrB,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,WAAW;IAChB,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,kDAAkD;IACzD,0DAA0D;IAC1D,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,qBAAqB;IAC7B,GAAG,EAAE,oBAAoB;IACzB,mBAAmB,EAAE,8BAA8B;IACnD,cAAc,EAAE,WAAW;IAC3B,gDAAgD;IAChD,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,2DAA2D;CACzE,CAAC;AAGK,MAAM,aAAa,GAA8B;IACpD,MAAM,EAAE,wDAAwD;IAChE,kEAAkE;IAClE,IAAI,EAAE,iDAAiD;IACvD,MAAM,EAAE,4BAA4B;IACpC,QAAQ,EAAE,gDAAgD;IAC1D,KAAK,EAAE,2DAA2D;IAClE,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,2HAA2H;IACrI,eAAe,EAAE,sBAAsB;IACvC,GAAG,EAAE,wBAAwB;IAE7B,WAAW,EAAE,iCAAiC;IAC9C,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,6BAA6B;IACvC,eAAe,EAAE,uBAAuB;IACxC,UAAU,EAAE,mCAAmC;IAC/C,cAAc,EAAE,0CAA0C;IAC1D,kBAAkB,EAAE,yCAAyC;IAC7D,MAAM,EAAE,qCAAqC;IAC7C,GAAG,EAAE,qCAAqC;IAC1C,GAAG,EAAE,iCAAiC;IACtC,mBAAmB,EAAE,+DAA+D;IACpF,cAAc,EAAE,yBAAyB;IACzC,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,uBAAuB;IACpC,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,qBAAqB;CACrC,CAAC;AAEF,IAAY,QAaX;AAbD,WAAY,QAAQ;IAChB,iDAAa;IACb,6CAAO;IACP,iDAAS;IACT,6CAAO;IACP,6CAAO;IACP,+CAAQ;IACR,iBAAiB;IACjB,yCAAK;IACL,+CAAQ;IACR,2CAAM;IACN,+CAAQ;IACR,8CAAO;AACX,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AAED,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,iDAAW;IACX,2DAAY;IACZ,qDAAS;IACT,mDAAQ;IACR,iDAAO;IACP,iDAAO;AACX,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,IAAY,iBAQX;AARD,WAAY,iBAAiB;IACzB,uDAAO;IACP,2DAAK;IACL,mEAAS;IACT,+DAAO;IACP,qEAAU;IACV,yDAAI;IACJ,6DAAM;AACV,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GwH;AACxC;AAIvD;AAGR;AACa;AAGqC;AACE;AAGZ;AAE4B;;;;;;;;;;;;;;;;;;;ICClF,0EAAsD;IAIK,4JAAS,wBAAwB,IAAC;IACjF,iEAAK;IAAA,+EAA0E;IAAA,oEAAS;IAAA,4DAAW;IAEvG,qFAA0B;IACA,wSAAS,yBAAiB,IAAC;IAAC,2EAAgB;IAAA,4DAAS;IAC3E,8EAAiD;IAA3B,ySAAS,wBAAgB,IAAC;IAAC,2EAAe;IAAA,4DAAS;IAOjF,8EAA+E;IAA9B,ySAAS,2BAAmB,IAAC;IAC1E,kFACJ;IAAA,4DAAS;;;IAdmB,0DAA0B;IAA1B,kFAA0B;;;;IAyBtD,0EAA6C;IACE,ySAAS,yBAAiB,IAAC;IAClE,8EACJ;IAAA,4DAAS;IACT,6EAAiE;IAA3B,ySAAS,wBAAgB,IAAC;IAC5D,6EACJ;IAAA,4DAAS;IAET,6EAAkE;IAA5B,ySAAS,yBAAiB,IAAC;IAC7D,0EACJ;IAAA,4DAAS;;;IAUL,iFAAuE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA1D,qFAAwB;IAAC,0DAAoB;IAApB,qFAAoB;;;IAO3F,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,gFAAmB;IAAC,0DAAgB;IAAhB,iFAAgB;;;;IAJvF,qFAEoD;IAFR,2XAAmC,6RAChD,2CAAmC,IADa;IAG3E,iFAAwB;IAAA,wEAAa;IAAA,4DAAa;IAClD,uJAAgG;IACpG,4DAAa;;;IAL+B,kGAAmC;IAG/D,0DAAW;IAAX,oEAAW;IACQ,0DAAc;IAAd,wFAAc;;;;IAK7C,uEAA8C;IACI,wXAAS,yCAA6B,IAAC;IAArF,4DAAsF;IACtF,4EAA+B;IAAA,uDAAiF;;IAAA,4DAAQ;;;IADjG,0DAAsB;IAAtB,4FAAsB;IACtC,0DAAuB;IAAvB,6FAAuB;IAAC,0DAAiF;IAAjF,4NAAiF;;;IAHxH,0EAAiD;IAC7C,oIAGO;IACX,4DAAM;;;IAJqB,0DAAqB;IAArB,+FAAqB;;;;IAnBpD,sEAAuC;IAGf,sWAA4B,yQACjB,gCAAwB,KAAK,CAAC,IADb;IAG5C,iFAAwB;IAAA,4EAAiB;IAAA,4DAAa;IACtD,0IAAwG;IAC5G,4DAAa;IAEb,0IAKa;IAGb,4HAKM;IAEV,4DAAM;;;IAtBkB,0DAA4B;IAA5B,0FAA4B;IAGhC,0DAAW;IAAX,oEAAW;IACM,0DAAe;IAAf,wFAAe;IAGnC,0DAAqB;IAArB,wFAAqB;IAQ5B,0DAA2B;IAA3B,8FAA2B;;;IAwBzB,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,gFAAmB;IAAC,0DAAgB;IAAhB,iFAAgB;;;;IAKvF,uEAA8C;IACI,4WAAS,gDAAoC,IAAC;IAA5F,4DAAqG;IACrG,4EAA+B;IAAA,uDAAiF;;IAAA,4DAAQ;;;IADjG,0DAAsB;IAAtB,4FAAsB;IACtC,0DAAuB;IAAvB,6FAAuB;IAAC,0DAAiF;IAAjF,4NAAiF;;;;IAIxH,6EAAyG;IAA9B,mTAAS,2BAAmB,IAAC;IACpG,iFACJ;IAAA,4DAAS;;;;IAET,6EAA0G;IAA9B,oTAAS,2BAAmB,IAAC;IACrG,0EACJ;IAAA,4DAAS;;;;IAhCb,sEAA8B;IAYV,uUAAmB,2CAAmC,IAAC;IAE/D,iFAAwB;IAAA,wEAAa;IAAA,4DAAa;IAClD,0IAAgG;IACpG,4DAAa;IAGjB,0EAAmB;IACf,8HAGO;IACX,4DAAM;IAEN,kIAES;IAET,oIAES;IACb,4DAAM;;;IAxBI,0DAAyB;IAAzB,yFAAyB;IAKX,0DAAW;IAAX,oEAAW;IACQ,0DAAc;IAAd,uFAAc;IAK1B,0DAAqB;IAArB,8FAAqB;IAMvC,0DAAuB;IAAvB,0FAAuB;IAIvB,0DAAwB;IAAxB,2FAAwB;;;IAe7B,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,gFAAmB;IAAC,0DAAgB;IAAhB,iFAAgB;;;;IAJvF,qFAEoD;IAFR,2XAAmC,6RAChD,yCAAiC,IADe;IAG3E,iFAAwB;IAAA,wEAAa;IAAA,4DAAa;IAClD,uJAAgG;IACpG,4DAAa;;;IAL+B,kGAAmC;IAG/D,0DAAW;IAAX,oEAAW;IACQ,0DAAc;IAAd,wFAAc;;;IAPrD,sEAAuC;IAGnC,0IAKa;IAkBjB,4DAAM;;;IAvBW,0DAAqB;IAArB,wFAAqB;;;IA8C9B,qEAAmD;IAC/C,uDACJ;IAAA,4DAAK;;;IADD,0DACJ;IADI,mGACJ;;;IA6BY,sEAAiD;IAA+E,uDAAyD;;IAAA,4DAAO;;;;IAAzI,0DAAwE;IAAxE,yIAAwE;IAAC,0DAAyD;IAAzD,6LAAyD;;;IACzL,sEAAiD;IAA+E,uDAAyD;;IAAA,4DAAO;;;;IAAzI,0DAAwE;IAAxE,yIAAwE;IAAC,0DAAyD;IAAzD,6LAAyD;;;IACzL,sEAAiD;IAA+E,uDAAyD;;IAAA,4DAAO;;;;IAAzI,0DAAwE;IAAxE,yIAAwE;IAAC,0DAAyD;IAAzD,6LAAyD;;;IACzL,sEAAiD;IAA+E,uDAAyD;;IAAA,4DAAO;;;;IAAzI,0DAAwE;IAAxE,yIAAwE;IAAC,0DAAyD;IAAzD,6LAAyD;;;IAP7L,sEAAyD;IACrD,uDAGA;IAAA,mJAAsM;IACtM,mJAAsM;IACtM,mJAAsM;IACtM,mJAAsM;IAC1M,4DAAM;;;;IAPF,0DAGA;IAHA,yGAGA;IAAM,0DAAyC;IAAzC,yGAAyC;IACzC,0DAAyC;IAAzC,yGAAyC;IACzC,0DAAyC;IAAzC,yGAAyC;IACzC,0DAAyC;IAAzC,yGAAyC;;;IAVvD,sEAAyD;IAGrD,6IAQM;IAIV,4DAAM;;;;IAZI,0DAAiD;IAAjD,qHAAiD;;;IAP/D,qEAAmD;IAI/C,wIAeM;IACV,4DAAK;;;IAhB6B,0DAAyB;IAAzB,+FAAyB;;;IApB/D,qEAA4C;IAEpC,uDACJ;IAAA,4DAAK;IACL,qEAAI;IACA,uDACJ;;IAAA,4DAAK;IACL,qEAAI;IACA,uDACJ;;IAAA,4DAAK;IACL,qEAAI;IACA,wDACJ;;IAAA,4DAAK;IACL,sEAAI;IACA,wDACJ;;IAAA,4DAAK;IACL,kIAoBK;IAOT,4DAAK;;;;IAzCG,0DACJ;IADI,kGACJ;IAEI,0DACJ;IADI,0KACJ;IAEI,0DACJ;IADI,0KACJ;IAEI,0DACJ;IADI,4KACJ;IAEI,0DACJ;IADI,4KACJ;IACwB,0DAAyB;IAAzB,mGAAyB;;;IAvC7D,0EAAwD;IAKxC,mEACJ;IAAA,4DAAK;IACL,qEAAI;IACA,kEACJ;IAAA,4DAAK;IACL,qEAAI;IACA,kEACJ;IAAA,4DAAK;IACL,qEAAI;IACA,mEACJ;IAAA,4DAAK;IACL,sEAAI;IACA,mEACJ;IAAA,4DAAK;IACL,4HAEK;IACT,4DAAK;IACL,8HA2CK;IACT,4DAAQ;;;IAhDwB,2DAAyB;IAAzB,kGAAyB;IAI9B,0DAAmB;IAAnB,4FAAmB;;;IA4DtC,2EAAuD;IAAA,uDAAoB;IAAA,4DAAO;;;IAA3B,0DAAoB;IAApB,mFAAoB;;;IAK/E,4EAA4D;IAAA,uDAAiB;IAAA,4DAAQ;;;IAAzB,0DAAiB;IAAjB,gFAAiB;;;IAN7E,0EAA0B;IACtB,4IAAkF;IAClF,2EAA6B;IAAA,uDAAyD;;IAAA,4DAAO;IAIjG,8IAAqF;;;;IALpD,0DAAwB;IAAxB,wFAAwB;IACxB,0DAAyD;IAAzD,gLAAyD;IAIjE,0DAAa;IAAb,mFAAa;;;;IAwDtC,8FAS6D;IAJpC,sWAAc,8BAAsB,IAAC,kTACrB,oBAAY,SAAS,eAAe,IADf,4TAEhB,iCAAyB,IAFT,0TAGjB,qCAA6B,IAHZ;IAK9D,4DAA0B;;;;;IATD,sFAAqB;;;;IAU9C,6FAKwE;IADhD,0WAAgB,qBAAY,SAAS,eAAe,IAAC,4TAChC,kCAAyB,IADO;IAE7E,4DAAyB;;;IALD,sFAAqB;;;;IAM7C,4FAKuE;IADhD,wWAAgB,qBAAY,SAAS,eAAe,IAAC,0TAChC,kCAAyB,IADO;IAE5E,4DAAwB;;;IALD,sFAAqB;;;;IA7FpD,0EAAyD;IAWrD,wNASc;IAGd,0EAA6B;IAMZ,8VAAuB,kQACL,gCAAuB,IADlB;IAExB,qEACJ;IAAA,4DAAM;IACN,0EAE6B;IAAxB,8VAAuB;IACxB,kEACJ;IAAA,4DAAM;IACN,2EAIgD;IAD3C,+VAAuB,mQACL,gCAAuB,IADlB;IAExB,kEACJ;IAAA,4DAAM;IAGd,2EAAsB;IACd,wDAAuD;;IAAA,4DAAK;IAsBxE,iEAAM;IAGN,2EAAuB;IACnB,sKAU0B;IAC1B,oKAMyB;IACzB,kKAMwB;IAC5B,4DAAM;;;IAvEW,0DAAa;IAAb,6EAAa;IAOb,0DAAuB;IAAvB,qFAAuB;IAKvB,0DAAa;IAAb,6EAAa;IAQlB,0DAAuD;IAAvD,oLAAuD;IAyB9D,0DAAiB;IAAjB,iFAAiB;IACQ,0DAAgC;IAAhC,mGAAgC;IAWjC,0DAA+B;IAA/B,kGAA+B;IAOhC,0DAA8B;IAA9B,iGAA8B;;;IAyBlD,iFAAuE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA1D,sFAAwB;IAAC,0DAAoB;IAApB,sFAAoB;;;IAQ3F,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,iFAAmB;IAAC,0DAAgB;IAAhB,kFAAgB;;;IAOnF,iFAA4E;IAAA,uDAAiF;;IAAA,4DAAa;;;IAAtH,qFAAuB;IAAC,0DAAiF;IAAjF,8NAAiF;;;;IA3BzK,0EAAkC;IAEE,uDAAU;IAAA,4DAAK;IAGnD,0EAA6B;IACoC,uTAAY,mCAA0B,IAAC;IAEhG,qFAEwD;IAD5C,0UAAmB,iCAAwB,IAAI,CAAC,SAAE,kCAAyB,IAAC;IAEpF,iFAAwB;IAAA,4EAAiB;IAAA,4DAAa;IACtD,kJAAwG;IAC5G,4DAAa;IAGb,sFAE2C;IAD/B,kVAAmB,yCAAgC,IAAC;IAE5D,kFAAwB;IAAA,yEAAa;IAAA,4DAAa;IAClD,oJAAgG;IACpG,4DAAa;IAEb,sFAE2C;IAD/B,kVAAmB,sCAA6B,IAAC;IAEzD,kFAAwB;IAAA,8EAAkB;IAAA,4DAAa;IACvD,oJAA0K;IAC9K,4DAAa;IAKb,2EAA0B;IAEiB,6WAAS,YAAO,SAAE,uBAAc,IAAE;IACrE,oEACJ;IAAA,4DAAS;IAET,2EAAc;IAGN,kEACJ;IAAA,4DAAS;;;IAzCW,0DAAU;IAAV,8EAAU;IAIZ,0DAA8B;IAA9B,8FAA8B;IAKxC,0DAAW;IAAX,oEAAW;IACM,0DAAe;IAAf,wFAAe;IAOhC,0DAAW;IAAX,oEAAW;IACQ,0DAAc;IAAd,uFAAc;IAMjC,0DAAW;IAAX,oEAAW;IACM,0DAAqB;IAArB,8FAAqB;IAatC,0DAAoC;IAApC,oGAAoC;;AD7VhE,MAAM,MAAM,GAAQ;IAChB,GAAG,EAAE;QACD,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,IAAI,EAAE;QACF,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;CACJ,CAAC;AAmBK,MAAM,wBAAwB;IA0XjC,YAAoB,IAAgB,EACxB,KAAe,EACf,KAA4B,EAC5B,WAAwB,EACxB,cAAoC,EACpC,OAAkB,EAClB,eAA+B;QANvB,SAAI,GAAJ,IAAI,CAAY;QACxB,UAAK,GAAL,KAAK,CAAU;QACf,UAAK,GAAL,KAAK,CAAuB;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAsB;QACpC,YAAO,GAAP,OAAO,CAAW;QAClB,oBAAe,GAAf,eAAe,CAAgB;QA9X3C,cAAS,GAAG;YACR,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;SAC9B;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAWpD,SAAI,GAAiB,gEAAkB,CAAC;QAExC,iBAAY,GAAG,0DAAY,CAAC;QAE5B,aAAQ,GAAS,IAAI,IAAI,EAAE,CAAC;QAQrB,QAAG,GAAG,yEAAkB,CAAC;QACzB,WAAM,GAAG,eAAe,CAAC;QAchC,WAAM,GAAQ,sEAAa,CAAC;QAC5B,eAAU,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAK9C,aAAQ,GAAQ,KAAK,CAAC;QACtB,cAAS,GAAQ,KAAK,CAAC;QACvB,mBAAc,GAAQ,CAAC,CAAC;QACxB,0BAAqB,GAAQ,CAAC,CAAC;QAE/B,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,oBAAe,GAAY,KAAK,CAAC;QACjC,0BAAqB,GAAY,KAAK,CAAC;QACvC,sBAAiB,GAAY,KAAK,CAAC;QA+7BnC,YAAO,GAA0B;YAC7B;gBACI,KAAK,EAAE,oDAAoD;gBAC3D,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAA4B,EAAQ,EAAE;oBAEnD,IAAI,cAAmB,CAAC;oBACxB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;wBACvD,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAE3C,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;qBAGtC;oBAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;aACJ;YACD;gBACI,KAAK,EAAE,mDAAmD;gBAC1D,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAA4B,EAAQ,EAAE;oBACnD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAGvB,wDAAwD;oBACxD,uBAAuB;oBACvB,yBAAyB;oBACzB,+EAA+E;oBAC/E,KAAK;oBAEL,kEAAkE;oBAIlE,6BAA6B;oBAC7B,uEAAuE;oBACvE,4BAA4B;oBAE5B,gCAAgC;oBAChC,2CAA2C;oBAC3C,KAAK;oBAEL,oEAAoE;oBAEpE,8BAA8B;oBAC9B,KAAK;oBAaL,2CAA2C;oBAC3C,yDAAyD;oBACzD,GAAG;oBAEH,4DAA4D;gBAEhE,CAAC;aACJ;SACJ,CAAC;QA2IF,YAAO,GAAG,IAAI,0CAAO,EAAQ,CAAC;QAE9B,WAAM,GAAoB;QACtB,GAAG;QACH,gDAAgD;QAChD,kCAAkC;QAClC,6BAA6B;QAC7B,wBAAwB;QACxB,4BAA4B;QAC5B,mBAAmB;QACnB,kBAAkB;QAClB,4BAA4B;QAC5B,yBAAyB;QACzB,QAAQ;QACR,sBAAsB;QACtB,IAAI;QACJ,GAAG;QACH,oCAAoC;QACpC,yCAAyC;QACzC,2BAA2B;QAC3B,4BAA4B;QAC5B,IAAI;QACJ,GAAG;QACH,gDAAgD;QAChD,8CAA8C;QAC9C,gDAAgD;QAChD,yBAAyB;QACzB,mBAAmB;QACnB,IAAI;QACJ,GAAG;QACH,iDAAiD;QACjD,mCAAmC;QACnC,+CAA+C;QAC/C,2BAA2B;QAC3B,4BAA4B;QAC5B,kBAAkB;QAClB,4BAA4B;QAC5B,yBAAyB;QACzB,QAAQ;QACR,sBAAsB;QACtB,IAAI;SACP,CAAC;QAEF,oBAAe,GAAY,KAAK,CAAC;QA33B7B,UAAU,CAAC,GAAG,EAAE;YACZ,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;QAGR,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,yEAAsB,EAAE;YACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;QAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAGxC,CAAC;IAzUD,mBAAmB,CAAC,SAAS;QACzB,IAAI,GAAG,GAAG;YACN,QAAQ,EAAE,SAAS;SACtB;QACD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC;aAI3C;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAIM,8BAA8B,CAAC,IAAS;QAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAG/B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,gDAAgD;YAChD,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBAE5C,IAAI,IAAI,IAAI,IAAI,EAAE;wBAEd,IAAI,OAAO,IAAI,IAAI,EAAE;4BACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACxC,OAAO,GAAG,KAAK,CAAC;yBACnB;wBAED,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,EAAE,EAAE,IAAI,CAAC,QAAQ;gCACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC5B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;gCACjC,sDAAsD;gCACtD,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,EAAE,EAAE,IAAI,CAAC,QAAQ;gCACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC5B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;gCACjC,KAAK,EAAE,MAAM,CAAC,GAAG;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,EAAE,EAAE,IAAI,CAAC,QAAQ;gCACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC5B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;gCACjC,KAAK,EAAE,MAAM,CAAC,IAAI;gCAClB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCAEZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,EAAE,EAAE,IAAI,CAAC,QAAQ;gCACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC5B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;gCACjC,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;qBACvB;gBACL,CAAC,CAAC,CAAC;SACV;aACI;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,KAAK,GAAG,OAAO,CAAC;gBAChB,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAGM,eAAe,CAAC,IAAS,EAAE,KAAK;QAGnC,iCAAiC;QAEjC,IAAI,YAAY,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,YAAY;YACZ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,sBAAsB;QACtB,8CAA8C;QAC9C,GAAG;QAEH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QAGnB,IAAI,YAAY,EAAE;YACd,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;oBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACtD,OAAO,GAAG,KAAK,CAAC;iBACnB;gBAED,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC1C,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,sDAAsD;wBACtD,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC1C,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC1C,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,IAAI;wBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC1C,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;SACJ;aACI;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,KAAK,GAAG,OAAO,CAAC;gBAChB,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IA6DD,QAAQ;QAEJ,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC3C,qBAAqB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChD,oBAAoB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/C,wBAAwB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SAEtD,CAAC,CAAC;IAGP,CAAC;IAGD,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,4EAA4E;aAE/E;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAEhC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAE5E;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI;gBAE/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAGvE;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5C,2BAA2B,CAAC,EAAO;QAE/B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAEnC,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI;YAChB,EAAE,CAAC,KAAK,IAAI,SAAS;YACrB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAEtB,IAAI,GAAG,GAAG;YACN,aAAa,EAAE,EAAE,CAAC,KAAK;YACvB,SAAS,EAAE,IAAI,CAAC,cAAc;SACjC;QAGD,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGzE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAElC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAEpB;iBAAM;gBAEH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAC5D;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,wBAAwB,CAAC,EAAO;QAG5B,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI;YAChB,EAAE,CAAC,KAAK,IAAI,SAAS;YACrB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAEtB,IAAI,GAAG,GAAG;YACN,aAAa,EAAE,EAAE,CAAC,KAAK;YACvB,SAAS,EAAE,IAAI,CAAC,cAAc;SACjC;QAGD,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGzE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI;gBAErC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,IAAI,CAAC;gBAEnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACjC,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE;wBAC/B,wBAAwB;wBACxB,+DAA+D;wBAC/D,sBAAsB;wBACtB,GAAG;wBAEH,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAExC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACzD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAED,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACtE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;oCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,sDAAsD;oCACtD,KAAK,EAAE,MAAM,CAAC,MAAM;oCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAExC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACzD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACtE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;oCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,GAAG;oCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAExC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACzD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACtE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;oCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,IAAI;oCAClB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAExC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACzD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACtE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;oCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,MAAM;oCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAGD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAOpB,kBAAkB;wBAClB,oEAAoE;wBACpE,sDAAsD;wBACtD,iCAAiC;wBACjC,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mBAAmB;wBACnB,kBAAkB;wBAClB,4BAA4B;wBAC5B,yBAAyB;wBACzB,QAAQ;wBACR,qBAAqB;wBACrB,GAAG;qBAGN;gBACL,CAAC,CAAC,CAAC;aAEN;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,yBAAyB,CAAC,KAAS;QAE/B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YACnB,KAAK,CAAC,KAAK,IAAI,SAAS;YACxB,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;QAE5B,IAAI,GAAG,GAAG;YACN,aAAa,EAAE,KAAK,CAAC,KAAK;YAC1B,gCAAgC;SACnC;QAID,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG1E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAE7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAG9B,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,iCAAiC;aAEpC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,kBAAkB;QAItC,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,cAAc;SACjC,CAAC;QAEF,IAAI,kBAAkB,IAAI,IAAI,EAAE;YAC5B,GAAG,GAAG;gBACF,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK;aACxE,CAAC;YAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC;SACpF;QAED,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGxE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;aAElC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;QAK9B,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7B,kBAAkB;YAClB,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,mCAAmC;QAEnC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG7E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;aAI3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAK;QACZ,IAAI,GAAG,GAAG;YACN,gCAAgC;YAChC,kBAAkB;YAClB,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGrE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAEvB;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,GAAQ;QAGpB,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;QAC5B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAChE,uBAAuB;YAIvB,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAKxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBAEjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACjC,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE;wBAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACzD,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,sDAAsD;gCACtD,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,GAAG;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,IAAI;gCAClB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAC3D,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC7C,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAIF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAOpB,kBAAkB;wBAClB,oEAAoE;wBACpE,sDAAsD;wBACtD,iCAAiC;wBACjC,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mBAAmB;wBACnB,kBAAkB;wBAClB,4BAA4B;wBAC5B,yBAAyB;wBACzB,QAAQ;wBACR,qBAAqB;wBACrB,GAAG;qBAGN;gBACL,CAAC,CAAC,CAAC;gBAEH,iBAAiB;aACpB;iBAAM;gBACH,mBAAmB;gBACnB,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;QAEF,iCAAiC;QACjC,0CAA0C;QAC1C,gEAAgE;QAEhE,KAAK;QAGL,iGAAiG;QACjG,iEAAiE;QACjE,oDAAoD;QACpD,kCAAkC;IAGtC,CAAC;IAED,qBAAqB,CAAC,WAA+C;QACjE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACnD,2BAA2B;aAC9B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IA+ED,YAAY;IACZ,0BAA0B;IAC1B,+DAA+D;IAC/D,GAAG;IAEH,cAAc;QAEV,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAG9G,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACpD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACjD,KAAK,EAAE;gBACH,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;aACf;YACD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;SAGtD,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,8DAA8D;gBAC9D,qDAAqD;gBAErD,qEAAqE;gBAErE,qBAAqB;gBACrB,yBAAyB;gBACzB,WAAW;gBACX,qGAAqG;gBACrG,2EAA2E;gBAC3E,2BAA2B;gBAC3B,yDAAyD;gBACzD,2CAA2C;gBAC3C,qCAAqC;gBACrC,oEAAoE;gBACpE,mCAAmC;gBACnC,oCAAoC;gBACpC,2BAA2B;gBAC3B,0BAA0B;gBAC1B,oCAAoC;gBACpC,iCAAiC;gBACjC,gBAAgB;gBAChB,6BAA6B;gBAE7B,YAAY;gBACZ,QAAQ;gBAER,0BAA0B;gBAC1B,GAAG;aAEN;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAIN,CAAC;IAED,cAAc,CAAC,KAAK;QAGhB,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACnD,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC3C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC/C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC7C,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;oBACvD,IAAI,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAE/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;oBAE/D,IAAI,CAAC,MAAM,GAAG;wBACV,GAAG,IAAI,CAAC,MAAM;wBACd;4BACI,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG;gCACjF,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ;4BAC5D,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;4BAC5B,KAAK,EAAE,GAAG,CAAC,WAAW;4BACtB,sDAAsD;4BACtD,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,QAAQ,EAAE,IAAI;6BACjB;4BACD,SAAS,EAAE,IAAI;yBAElB;qBACJ,CAAC;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBACvB;gBAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAGN,CAAC;IAiDD,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAA2C;QAEhE,yCAAyC;QACzC,UAAU;QACV,8EAA8E;QAC9E,6BAA6B;QAC7B,SAAS;QACT,uCAAuC;QACvC,cAAc;QACd,sCAAsC;QACtC,OAAO;QACP,2BAA2B;QAC3B,GAAG;IACP,CAAC;IAED,iBAAiB,CAAC,EACd,KAAK,EACL,QAAQ,EACR,MAAM,GACuB;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,KAAK,KAAK,EAAE;gBAElB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAEzC,uCACO,KAAK,KACR,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,IACb;aACL;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAAoB;QAE5C,qCAAqC;QAErC,4BAA4B;QAE5B,8BAA8B;QAC9B,kEAAkE;QAClE,qDAAqD;QAErD,iDAAiD;QACjD,4CAA4C;QAC5C,6CAA6C;QAG7C,OAAO;QAEP,8BAA8B;QAE9B,gEAAgE;QAChE,GAAG;QACH,gCAAgC;QAChC,6DAA6D;QAC7D,GAAG;IAEP,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,IAAI,CAAC,MAAM;YACd;gBACI,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,qDAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,GAAG,EAAE,qDAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,GAAG;gBACjB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,IAAI;iBACjB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,WAAW,CAAC,aAA4B;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,IAAkB;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAGD,eAAe;QACX,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc;QACV,IAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,cAAc,EAAE;SACzF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAG1D,qDAAqD;YAIrD,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBAE1D;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAIN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,KAAK;QAEnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED,wBAAwB;QACpB,0DAA0D;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4EAA4E,EAAE,KAAK,EAAE,eAAe,EAAE;SAC9M,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAG1D,qDAAqD;YAErD,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAG;oBACN,SAAS,EAAE,IAAI,CAAC,cAAc;oBAC9B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK;iBAC1E,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBAExB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;qBAEhE;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;iBACI;gBAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;aACtD;QAGL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAGH,2CAA2C;QAC3C,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,oGAAoG,EAAE,KAAK,EAAE,YAAY,EAAE;SAC/I,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAG1D,qDAAqD;YAErD,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAG;oBACN,SAAS,EAAE,IAAI,CAAC,cAAc;oBAC9B,+BAA+B;iBAClC,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAGxE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBAExB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;qBAE1D;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;iBACI;gBAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;aACtD;QAGL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAGH,2CAA2C;QAC3C,yDAAyD;QACzD,GAAG;IAGP,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,qBAAqB,CAAC,KAAK;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;IACjF,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,CAAC;IAED,eAAe;QACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,cAAc;QACV,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,sBAAsB;QACtB,0BAA0B;QAC1B,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,eAAe;QACX,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,mCAAmC;IACvC,CAAC;;gGAjjDQ,wBAAwB;sHAAxB,wBAAwB;;;;;;;;QC1DrC,qEAAoG;QASpG,yEAAiB;QAIgC,2EAAgB;QAAA,4DAAO;QAAC,oFAEjE;QAAA,4DAAK;QAIT,qHAmBM;QAGV,4DAAM;QAIN,yEAA2C;QAGnC,sHAWM;QAEN,sHAyBM;QAEN,uHAiCM;QAKN,sHA0BM;QACV,4DAAM;QAGN,wHAoEM;QAEN,yHAqGM;QACV,4DAAM;QAEN,oNAmDc;;QA1WkB,0DAAwB;QAAxB,wFAAwB;QA6B1C,0DAAwB;QAAxB,wFAAwB;QAaxB,0DAA+B;QAA/B,+FAA+B;QA2B/B,0DAAsB;QAAtB,sFAAsB;QAsCtB,0DAA+B;QAA/B,+FAA+B;QA8BnC,0DAA+B;QAA/B,+FAA+B;QAsE/B,0DAAgC;QAAhC,gGAAgC;;;;;;;;;;;;;;;;;;;ACjOa;AACyB;;;AAIhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC1D,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC3D;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAHxB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,sBAAsB,oFAFvB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBuB;AAEqB;AACY;AACM;AACpB;AACP;AACI;AAC/D,uDAAuD;AAEQ;AACU;AACN;AACW;AACvB;AACI;AACO;AACT;AACzD,0DAA0D;AACH;AACA;AACkC;;;AAsClF,MAAM,eAAe;;8EAAf,eAAe;4GAAf,eAAe;iHAJb;QACX,EAAE,OAAO,EAAE,mEAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;KAChD,YA5BQ;YACP,yDAAY;YACV,6EAAsB;YACtB,uDAAW;YACX,+DAAmB;YACnB,qEAAe;YACf,yEAAiB;YACjB,8EAAmB;YACnB,uEAAmB;YACnB,kEAAa;YACb,sEAAqB;YACrB,6EAAkB;YAClB,oEAAc;YACd,kEAAa;YACb,kEAAa;YACb,4BAA4B;YAC5B,qEAAsB,CAAC;gBACnB,OAAO,EAAE,0DAAW;gBACpB,UAAU,EAAE,oFAAc;aAC7B,CAAC;SACH;mIAUQ,eAAe,mBAlCpB,yFAAqB;QACrB,+FAAuB;QACvB,kGAAwB,aAG5B,yDAAY;QACV,6EAAsB;QACtB,uDAAW;QACX,+DAAmB;QACnB,qEAAe;QACf,yEAAiB;QACjB,8EAAmB;QACnB,uEAAmB;QACnB,kEAAa;QACb,sEAAqB;QACrB,6EAAkB;QAClB,oEAAc;QACd,kEAAa;QACb,kEAAa,4EAQX,yFAAqB;QACrB,+FAAuB;QACvB,kGAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CT;AAUL;AACa;AAQL;AAE4C;AAIW;AACK;AAElB;;;;;;;;;;;;;;;;;;;;;ICcpD,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,gFAAmB;IAAC,0DAAgB;IAAhB,iFAAgB;;;;IAmBvF,uEAA8C;IACI,kWAAS,iCAAqB,IAAC;IAA7E,4DAAsF;IACtF,4EAA+B;IAAA,uDAAyE;;IAAA,4DAAQ;;;IADzF,0DAAsB;IAAtB,4FAAsB;IACtC,0DAAuB;IAAvB,6FAAuB;IAAC,0DAAyE;IAAzE,oNAAyE;;;;IAmE5G,8FAQ4E;IAHnD,2VAAc,8BAAsB,IAAC,uSACrB,oBAAY,SAAS,eAAe,IADf,iTAEhB,iCAAyB,IAFT,+SAGjB,qCAA6B,IAHZ;IAI9D,4DAA0B;;;IARD,qFAAqB;;;;IAS9C,6FAKwE;IADhD,6VAAgB,oBAAY,SAAS,eAAe,IAAC,+SAChC,iCAAyB,IADO;IAE7E,4DAAyB;;;IALD,qFAAqB;;;;IAM7C,4FAKuE;IADhD,2VAAgB,oBAAY,SAAS,eAAe,IAAC,6SAChC,iCAAyB,IADO;IAE5E,4DAAwB;;;IALD,qFAAqB;;;;IA4FpD,0EAAkC;IAEE,uDAAU;IAAA,4DAAK;IAKnD,0EAA6B;IAeb,qEACJ;IAAA,4DAAM;IAEN,0EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,sEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAUvB,2EAA0B;IACiB,yRAAS,WAAO,IAAC;IACpD,gEACJ;IAAA,4DAAS;;;IA7GuB,0DAAU;IAAV,8EAAU;IAyB1B,0DACJ;IADI,2FACJ;IAaI,0DACJ;IADI,gGACJ;IAaI,0DACJ;IADI,0IACJ;IAaI,0DACJ;IADI,4MACJ;IAaI,0DACJ;IADI,0MACJ;IAaI,0DACJ;IADI,4FACJ;;;IA0CI,sEAA0C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADpE,0EAA2D;IACvD,wIAAsE;IAC1E,4DAAM;;;IADI,0DAAkC;IAAlC,sGAAkC;;;IAOxC,iFAAyE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA5D,uFAA0B;IAAC,0DAAoB;IAApB,qFAAoB;;;IAM7F,iFAAqE;IAAA,uDAAgB;IAAA,4DAAa;;;IAApD,mFAAsB;IAAC,0DAAgB;IAAhB,iFAAgB;;;IAMrF,iFAAiE;IAAA,uDAAa;IAAA,4DAAa;;;IAA9C,gFAAmB;IAAC,0DAAa;IAAb,8EAAa;;;;;IAtClG,0EAAkC;IAEE,uDAAU;IAAA,4DAAK;IAKnD,0EAA6B;IAE0B,kTAAY,kFAAgC,IAAC;IAE5F,yEAAiB;IAGkB,iEAAM;IAAA,4DAAQ;IACzC,uEAEgE;IAChE,mIAEM;IAGN,6EAA2B;IAAA,oEAAQ;IAAA,4DAAQ;IAC3C,sFAC2C;IACvC,iJAA0G;IAC9G,4DAAa;IAEb,6EAA2B;IAAA,qEAAS;IAAA,4DAAQ;IAC5C,sFAC2C;IACvC,iJAAkG;IACtG,4DAAa;IAEb,6EAA2B;IAAA,oEAAQ;IAAA,4DAAQ;IAC3C,sFAC2C;IACvC,iJAA2F;IAC/F,4DAAa;IAEb,sFAA6B;IACd,sEAAU;IAAA,4DAAY;IACjC,wEAEmE;IASvE,4DAAiB;IAyBzB,2EAA0B;IAId,2EACJ;IAAA,4DAAS;IAEb,8EAAyD;IAAlB,yRAAS,WAAO,IAAC;IACpD,oEACJ;IAAA,4DAAS;;;;IAtFe,0DAAU;IAAV,+EAAU;IAOZ,0DAAoB;IAApB,qFAAoB;IAO/B,0DAAkD;IAAlD,yKAAkD;IAEnD,0DAA0B;IAA1B,8FAA0B;IAQC,0DAAe;IAAf,yFAAe;IAMhB,0DAAgB;IAAhB,0FAAgB;IAMhB,0DAAe;IAAf,yFAAe;IAK3B,0DAAyB;IAAzB,+EAAyB;IAGR,0DAAe;IAAf,qEAAe;IAmC5C,0DAA0B;IAA1B,2FAA0B;;;IAwC9B,sEAA0C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADpE,0EAA2D;IACvD,wIAAsE;IAC1E,4DAAM;;;IADI,0DAAkC;IAAlC,sGAAkC;;;IAMxC,iFAAyE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA5D,uFAA0B;IAAC,0DAAoB;IAApB,qFAAoB;;;IAM7F,iFAAqE;IAAA,uDAAgB;IAAA,4DAAa;;;IAApD,mFAAsB;IAAC,0DAAgB;IAAhB,iFAAgB;;;IAMrF,iFAAiE;IAAA,uDAAa;IAAA,4DAAa;;;IAA9C,gFAAmB;IAAC,0DAAa;IAAb,8EAAa;;;;IArClG,0EAAkC;IAEE,uDAAU;IAAA,4DAAK;IAGnD,0EAA6B;IAG8B,kTAAY,wBAAgB,IAAC;IAGhF,yEAAiB;IAGkB,iEAAM;IAAA,4DAAQ;IACzC,uEAEgE;IAChE,mIAEM;IAEN,6EAA2B;IAAA,oEAAQ;IAAA,4DAAQ;IAC3C,sFAC2C;IACvC,iJAA0G;IAC9G,4DAAa;IAEb,6EAA2B;IAAA,qEAAS;IAAA,4DAAQ;IAC5C,sFAC2C;IACvC,iJAAkG;IACtG,4DAAa;IAEb,6EAA2B;IAAA,oEAAQ;IAAA,4DAAQ;IAC3C,sFAC2C;IACvC,iJAA2F;IAC/F,4DAAa;IAGb,2EAAsB;IAGC,iEAAK;IAAA,4DAAY;IAC5B,wEAEoE;IAGxE,4DAAiB;IAGrB,2EAAsB;IAEH,iEAAK;IAAA,4DAAY;IAC5B,wEAEoE;IAGxE,4DAAiB;IAGrB,2EAAsB;IAEH,iEAAK;IAAA,4DAAY;IAC5B,wEAEoE;IAGxE,4DAAiB;IAGrB,2EAAsB;IAEH,iEAAK;IAAA,4DAAY;IAC5B,wEAEoE;IAGxE,4DAAiB;IASjC,qEAKM;IAEN,2EAA0B;IAId,kEACJ;IAAA,4DAAS;IAEb,8EAA8E;IAAlB,yRAAS,WAAO,IAAC;IACzE,oEACJ;IAAA,4DAAS;;;;;;;IA1Ge,0DAAU;IAAV,+EAAU;IAMZ,0DAAwB;IAAxB,yFAAwB;IAQnC,0DAAkD;IAAlD,yKAAkD;IAEnD,0DAA0B;IAA1B,8FAA0B;IAOC,0DAAe;IAAf,yFAAe;IAMhB,0DAAgB;IAAhB,0FAAgB;IAMhB,0DAAe;IAAf,yFAAe;IAQnB,0DAA6B;IAA7B,+EAA6B;IAGZ,0DAAmB;IAAnB,qEAAmB;IAQpC,0DAA6B;IAA7B,+EAA6B;IAGZ,0DAAmB;IAAnB,qEAAmB;IAQpC,0DAA6B;IAA7B,+EAA6B;IAGZ,0DAAmB;IAAnB,qEAAmB;IAQpC,0DAA6B;IAA7B,+EAA6B;IAGZ,0DAAmB;IAAnB,qEAAmB;IAoBxD,0DAA8B;IAA9B,+FAA8B;;ADthB1D,MAAM,MAAM,GAAQ;IAChB,GAAG,EAAE;QACD,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,IAAI,EAAE;QACF,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;KACvB;CACJ,CAAC;AAyBK,MAAM,qBAAqB;IAiM9B,YAAoB,IAAgB,EACxB,KAAe,EACf,OAAkB,EAClB,WAAwB,EACxB,eAA+B;QAJvB,SAAI,GAAJ,IAAI,CAAY;QACxB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAW;QAClB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAnM3C,cAAS,GAAG;YACR,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;SAC9B;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAWpD,SAAI,GAAiB,gEAAkB,CAAC;QAExC,iBAAY,GAAG,0DAAY,CAAC;QAE5B,aAAQ,GAAS,IAAI,IAAI,EAAE,CAAC;QAOrB,QAAG,GAAG,yEAAkB,CAAC;QACzB,WAAM,GAAG,SAAS,CAAC;QAa1B,WAAM,GAAQ,sEAAa,CAAC;QAC5B,eAAU,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAspB9C,YAAO,GAA0B;YAC7B;gBACI,KAAK,EAAE,oDAAoD;gBAC3D,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAA4B,EAAQ,EAAE;oBAEnD,IAAI,cAAmB,CAAC;oBACxB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;wBACvD,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAE3C,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;qBAGtC;oBAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;aACJ;YACD;gBACI,KAAK,EAAE,mDAAmD;gBAC1D,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAA4B,EAAQ,EAAE;oBACnD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAGvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;wBACjD,SAAS,EAAE,KAAK;wBAChB,YAAY,EAAE,IAAI;wBAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;qBAC5E,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;wBAI1D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,iEAAiE;wBACjE,sBAAsB;wBAEtB,0BAA0B;wBAC1B,qCAAqC;oBACzC,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;wBAE5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBAGH,2CAA2C;oBAC3C,yDAAyD;oBACzD,GAAG;oBAEH,4DAA4D;gBAEhE,CAAC;aACJ;SACJ,CAAC;QA2IF,YAAO,GAAG,IAAI,yCAAO,EAAQ,CAAC;QAE9B,WAAM,GAAoB;QACtB,GAAG;QACH,gDAAgD;QAChD,kCAAkC;QAClC,6BAA6B;QAC7B,wBAAwB;QACxB,4BAA4B;QAC5B,mBAAmB;QACnB,kBAAkB;QAClB,4BAA4B;QAC5B,yBAAyB;QACzB,QAAQ;QACR,sBAAsB;QACtB,IAAI;QACJ,GAAG;QACH,oCAAoC;QACpC,yCAAyC;QACzC,2BAA2B;QAC3B,4BAA4B;QAC5B,IAAI;QACJ,GAAG;QACH,gDAAgD;QAChD,8CAA8C;QAC9C,gDAAgD;QAChD,yBAAyB;QACzB,mBAAmB;QACnB,IAAI;QACJ,GAAG;QACH,iDAAiD;QACjD,mCAAmC;QACnC,+CAA+C;QAC/C,2BAA2B;QAC3B,4BAA4B;QAC5B,kBAAkB;QAClB,4BAA4B;QAC5B,yBAAyB;QACzB,QAAQ;QACR,sBAAsB;QACtB,IAAI;SACP,CAAC;QAEF,oBAAe,GAAY,KAAK,CAAC;QAnvB7B,UAAU,CAAC,GAAG,EAAE;YACZ,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IA9JM,eAAe,CAAC,IAAS;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAI/B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBACpB,wBAAwB;gBACxB,oDAAoD;gBACpD,sBAAsB;gBACtB,GAAG;gBAEH,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAClC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,sDAAsD;wBACtD,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAClC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAClC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,IAAI;wBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG;oBACV,GAAG,IAAI,CAAC,MAAM;oBACd;wBACI,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAChD,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAClC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW;wBACjC,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACP,WAAW,EAAE,IAAI;4BACjB,QAAQ,EAAE,IAAI;yBACjB;wBACD,SAAS,EAAE,IAAI;qBAIlB;iBACJ,CAAC;aACL;SACJ;aACI;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,KAAK,GAAG,OAAO,CAAC;gBAChB,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAmDD,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI;gBAE/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;aAE7E;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAEhC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAE5E;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI;gBAE/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAGvE;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAG5C,oBAAoB,CAAC,EAAO;QAExB,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI;YAChB,EAAE,CAAC,KAAK,IAAI,SAAS;YACrB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAGtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI;gBAErC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,IAAI,CAAC;gBAEnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACjC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;wBACvB,wBAAwB;wBACxB,uDAAuD;wBACvD,sBAAsB;wBACtB,GAAG;wBAEH,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAEhC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACjD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAED,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACxE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,sDAAsD;oCACtD,KAAK,EAAE,MAAM,CAAC,MAAM;oCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAEhC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACjD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACxE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,GAAG;oCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAEhC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACjD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACxE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,IAAI;oCAClB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAED,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;4BAEhC,IAAI,OAAO,IAAI,IAAI,EAAE;gCACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACjD,OAAO,GAAG,KAAK,CAAC;6BACnB;4BAGD,IAAI,CAAC,MAAM,GAAG;gCACV,GAAG,IAAI,CAAC,MAAM;gCACd;oCACI,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG;wCACxE,OAAO,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ;oCAC7E,EAAE,EAAE,OAAO,CAAC,QAAQ;oCACpB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;oCACpC,KAAK,EAAE,MAAM,CAAC,MAAM;oCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI;oCACZ,SAAS,EAAE;wCACP,WAAW,EAAE,IAAI;wCACjB,QAAQ,EAAE,IAAI;qCACjB;oCACD,SAAS,EAAE,IAAI;iCAIlB;6BACJ,CAAC;yBACL;wBAGD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAOpB,kBAAkB;wBAClB,4DAA4D;wBAC5D,8CAA8C;wBAC9C,iCAAiC;wBACjC,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mBAAmB;wBACnB,kBAAkB;wBAClB,4BAA4B;wBAC5B,yBAAyB;wBACzB,QAAQ;wBACR,qBAAqB;wBACrB,GAAG;qBAGN;gBACL,CAAC,CAAC,CAAC;aAEN;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QAIV,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG5D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI;gBAE9B,kFAAkF;gBAClF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAExD,uDAAuD;aAE1D;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;QAE9B,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC7B,kBAAkB;YAClB,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGrE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;aAI3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAK;QACZ,IAAI,GAAG,GAAG;YACN,gCAAgC;YAChC,kBAAkB;YAClB,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGrE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAEvB;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,GAAQ;QAGpB,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;QAC5B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAChE,uBAAuB;YAIvB,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAKxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBAEjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACjC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;wBACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,sDAAsD;gCACtD,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,GAAG;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,IAAI;gCAClB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAEF,IAAI,CAAC,MAAM,GAAG;4BACV,GAAG,IAAI,CAAC,MAAM;4BACd;gCACI,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCACnD,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACrC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gCACpC,KAAK,EAAE,MAAM,CAAC,MAAM;gCACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI;gCACZ,SAAS,EAAE;oCACP,WAAW,EAAE,IAAI;oCACjB,QAAQ,EAAE,IAAI;iCACjB;gCACD,SAAS,EAAE,IAAI;6BAIlB;yBACJ,CAAC;wBAIF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAOpB,kBAAkB;wBAClB,4DAA4D;wBAC5D,8CAA8C;wBAC9C,iCAAiC;wBACjC,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mBAAmB;wBACnB,kBAAkB;wBAClB,4BAA4B;wBAC5B,yBAAyB;wBACzB,QAAQ;wBACR,qBAAqB;wBACrB,GAAG;qBAGN;gBACL,CAAC,CAAC,CAAC;gBAEH,iBAAiB;aACpB;iBAAM;gBACH,mBAAmB;gBACnB,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;QAEF,iCAAiC;QACjC,0CAA0C;QAC1C,gEAAgE;QAEhE,KAAK;QAGL,iGAAiG;QACjG,iEAAiE;QACjE,oDAAoD;QACpD,kCAAkC;IAGtC,CAAC;IAED,qBAAqB,CAAC,WAA+C;QACjE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACnD,2BAA2B;aAC9B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAqED,MAAM;QACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc;QAEV,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAG9G,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACpD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACjD,KAAK,EAAE;gBACH,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;aACf;YACD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;SAGtD,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,8DAA8D;gBAC9D,qDAAqD;gBAErD,qEAAqE;gBAErE,qBAAqB;gBACrB,yBAAyB;gBACzB,WAAW;gBACX,qGAAqG;gBACrG,2EAA2E;gBAC3E,2BAA2B;gBAC3B,yDAAyD;gBACzD,2CAA2C;gBAC3C,qCAAqC;gBACrC,oEAAoE;gBACpE,mCAAmC;gBACnC,oCAAoC;gBACpC,2BAA2B;gBAC3B,0BAA0B;gBAC1B,oCAAoC;gBACpC,iCAAiC;gBACjC,gBAAgB;gBAChB,6BAA6B;gBAE7B,YAAY;gBACZ,QAAQ;gBAER,0BAA0B;gBAC1B,GAAG;aAEN;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAIN,CAAC;IAED,cAAc,CAAC,KAAK;QAGhB,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACnD,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC3C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC/C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC7C,UAAU,EAAE,KAAK,CAAC,QAAQ;SAC7B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;oBACvD,IAAI,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAE/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;oBAE/D,IAAI,CAAC,MAAM,GAAG;wBACV,GAAG,IAAI,CAAC,MAAM;wBACd;4BACI,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG;gCACjF,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ;4BAC5D,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC1C,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;4BAC5B,KAAK,EAAE,GAAG,CAAC,WAAW;4BACtB,sDAAsD;4BACtD,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,QAAQ,EAAE,IAAI;6BACjB;4BACD,SAAS,EAAE,IAAI;yBAElB;qBACJ,CAAC;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBACvB;gBAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAGN,CAAC;IAiDD,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAA2C;QAEhE,IAAI,oDAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAClC,IACI,CAAC,qDAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;gBACjE,MAAM,CAAC,MAAM,KAAK,CAAC,EACrB;gBACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAChC;iBAAM;gBACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;IACL,CAAC;IAED,iBAAiB,CAAC,EACd,KAAK,EACL,QAAQ,EACR,MAAM,GACuB;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,KAAK,KAAK,EAAE;gBAElB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAEzC,uCACO,KAAK,KACR,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,IACb;aACL;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAAoB;QAE5C,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAEnC,IAAI,MAAM,IAAI,SAAS,EAAE;YAErB,IAAI,cAAmB,CAAC;YACxB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;gBACvD,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE3C,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;aAGtC;YAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7D;aACI,IAAI,MAAM,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1D;IAEL,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,IAAI,CAAC,MAAM;YACd;gBACI,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,oDAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,GAAG,EAAE,qDAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,GAAG;gBACjB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,IAAI;iBACjB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,WAAW,CAAC,aAA4B;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,IAAkB;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,eAAe,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SAC7C,CAAC,CAAC;QAIH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,+DAAmB,CAAC;SAC1D,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,+DAAmB,CAAC;YAC5D,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAID,cAAc;QACV,IAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACX,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;;0FAvkCQ,qBAAqB;mHAArB,qBAAqB;;;;;;;;;;;;QCjFlC,qEAAoG;QASpG,yEAAiB;QAIgC,2EAAgB;QAAA,4DAAO;QAAC,oEAC7D;QACJ,4DAAK;QAGT,yEAA2B;QAIgC,mJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,+EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,8IAAS,YAAQ,IAAC;QAAC,0EAAc;QAAA,4DAAS;QAChE,8EAAiD;QAA3B,8IAAS,oBAAgB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACzE,8EAAkD;QAA5B,8IAAS,qBAAiB,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAc3F,2EAA2C;QAMnB,4KAAmB,gCAA4B,IAAC;QAExD,kFAAwB;QAAA,yEAAa;QAAA,4DAAa;QAClD,kIAAgG;QACpG,4DAAa;QAiBjB,2EAAmB;QACf,sHAYO;QACX,4DAAM;QAIV,2EAAsB;QASD,4LAAuB,qGACL,2BAAuB,IADlB;QAExB,sEACJ;QAAA,4DAAM;QACN,2EAE6B;QAAxB,4LAAuB;QACxB,mEACJ;QAAA,4DAAM;QACN,2EAIgD;QAD3C,4LAAuB,qGACL,2BAAuB,IADlB;QAExB,kEACJ;QAAA,4DAAM;QAGd,2EAAsB;QACd,wDAAuD;;QAAA,4DAAK;QAEpE,2EAAsB;QAGT,2IAAS,mCAA2B,IAAC;QAEtC,mEACJ;QAAA,4DAAM;QACN,2EAEiD;QAD5C,2IAAS,kCAA0B,IAAC;QAErC,kEACJ;QAAA,4DAAM;QACN,2EAEgD;QAD3C,2IAAS,iCAAyB,IAAC;QAEpC,iEACJ;QAAA,4DAAM;QAIlB,iEAAM;QACN,2EAAuB;QACnB,4JAS0B;QAC1B,0JAMyB;QACzB,wJAMwB;QAC5B,4DAAM;QAqFd,kNAkHc;QAOd,kNA+Fc;QAOd,kNAuHc;;;QAxjBsB,0DAA0B;QAA1B,kFAA0B;QAwBhD,2DAAyB;QAAzB,sFAAyB;QAIX,0DAAW;QAAX,oEAAW;QACQ,0DAAc;QAAd,oFAAc;QAmB1B,0DAAqB;QAArB,2FAAqB;QAyB/B,0DAAa;QAAb,0EAAa;QAOb,0DAAuB;QAAvB,kFAAuB;QAKvB,0DAAa;QAAb,0EAAa;QAQlB,0DAAuD;QAAvD,8KAAuD;QAMlD,0DAA4C;QAA5C,wGAA4C;QAK5C,0DAA2C;QAA3C,uGAA2C;QAK3C,0DAA0C;QAA1C,sGAA0C;QAOtD,0DAAiB;QAAjB,8EAAiB;QACQ,0DAAgC;QAAhC,gGAAgC;QAUjC,0DAA+B;QAA/B,+FAA+B;QAOhC,0DAA8B;QAA9B,8FAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5JiB;AAC3B;AAEjB;AAEmB;;;;;;;;;;;;;IC+E9C,iFAAkE;IAAA,uDAAgB;IAAA,4DAAa;;;IAApD,mFAAsB;IAAC,0DAAgB;IAAhB,iFAAgB;;;IAoB9E,iFAAqE;IAAA,uDAAa;IAAA,4DAAa;;;IAAlD,oFAAuB;IAAC,0DAAa;IAAb,8EAAa;;;IASlF,iFAAuE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAjD,gFAAmB;IAAC,0DAAgB;IAAhB,iFAAgB;;;IASvF,iFAAuE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA1D,qFAAwB;IAAC,0DAAoB;IAApB,qFAAoB;;;IAS3F,iFAAmE;IAAA,uDAAgB;IAAA,4DAAa;;;IAAlD,iFAAoB;IAAC,0DAAgB;IAAhB,iFAAgB;;AD1HnG,IAAI,MAAM,GAAG,mBAAO,CAAC,kDAAuC,CAAC,CAAC;AAC9D,IAAI,KAAK,GAAG,mBAAO,CAAC,qCAA0B,CAAC,CAAC;AAChD,IAAI,cAAc,GAAG,mBAAO,CAAC,uCAA4B,CAAC,CAAC;AAE3D,MAAM,CAAC,wDAAU,CAAC,CAAC;AACnB,KAAK,CAAC,wDAAU,CAAC,CAAC;AAClB,cAAc,CAAC,wDAAU,CAAC,CAAC;AAE3B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AAO1B,MAAM,uBAAuB;IAoDhC,YAAoB,eAA+B;QAE/C,sCAAsC;QAFtB,oBAAe,GAAf,eAAe,CAAgB;QAlDnD,cAAS,GAAG;YACR,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;SAC9B;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAGpD,uBAAkB,GAAQ,EAAE,CAAC;QAC7B,qBAAgB,GAAQ,EAAE,CAAC;QAK3B,eAAU,GAAG,KAAK,CAAC;QAEZ,SAAI,GAAG,IAAI,CAAC;QACnB,mBAAc,GAAQ,CAAC,CAAC;QACxB,sBAAiB,GAAQ,CAAC,CAAC;QAC3B,mBAAc,GAAQ,CAAC,CAAC;QACxB,oBAAe,GAAQ,CAAC,CAAC;QAOzB,SAAI,GAAG,IAAI,CAAC;QAOZ,aAAQ,GAAO,MAAM,CAAC;QAItB,qBAAgB,GAAQ,KAAK,CAAC;QAC9B,cAAS,GAAQ,KAAK,CAAC;QACvB,0CAA0C;QAE1C,YAAO,GAAG,KAAK,CAAC;QAER,YAAO,GAAG,IAAI,iDAAe,CAAqB,EAAE,CAAC,CAAC;QAC9D,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAEpC,eAAU,GAAsB,wDAAU,CAAC;QAirB3C,6CAA6C;QAE7C,kBAAa,GAAa,UAAU,KAAK;YACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;QAKF,sCAAsC;QACtC,iBAAY,GAAuB;YAC/B,KAAK,EAAE;gBACH,IAAI,EAAE,yBAAyB;aAClC;YACD,aAAa,EAAE;gBACX,kBAAkB,EAAE;oBAChB,gBAAgB,EAAE;wBACd,IAAI,EAAE,WAAW;qBACpB;iBACJ;aACJ;YACD,KAAK,EAAE;gBAEH,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,CAAC;wBACR,+BAA+B;wBAC/B,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,CAAC;qBACX,CAAC;gBACF,+BAA+B;gBAC/B,kBAAkB;gBAClB,WAAW;gBACX,cAAc;gBACd,yCAAyC;gBACzC,wCAAwC;gBACxC,OAAO;gBACP,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;aAC9B;YACD,uBAAuB;YACvB,MAAM,EAAE;gBACJ,OAAO;gBACP,wBAAwB;gBACxB,4BAA4B;gBAC5B,iBAAiB;gBACjB,eAAe;gBAEf,+BAA+B;gBAC/B,gDAAgD;gBAChD,8CAA8C;gBAC9C,iCAAiC;gBACjC,eAAe;gBACf,WAAW;gBACX,SAAS;gBACT,GAAG;gBACH,GAAG;gBACH,oBAAoB;gBACpB,wBAAwB;gBACxB,aAAa;gBACb,WAAW;gBAEX,2BAA2B;gBAC3B,4CAA4C;gBAC5C,0CAA0C;gBAC1C,6BAA6B;gBAC7B,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ;oBAEI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACF;4BAEI,EAAE,EAAE,GAAG;4BACP,IAAI,EAAE,WAAW;4BACjB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;4BAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;4BAC3B,iBAAiB;yBACpB;wBACD;4BACI,EAAE,EAAE,GAAG;4BACP,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;4BAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;yBAC9B;wBACD;4BACI,EAAE,EAAE,GAAG;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC1B,cAAc;4BACd,mBAAmB;4BACnB,kBAAkB;4BAClB,GAAG;yBACN;wBACD;4BACI,IAAI,EAAE,MAAM;4BACZ,EAAE,EAAE,MAAM;4BACV,KAAK,EAAE,SAAS;4BAChB,+BAA+B;4BAC/B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;yBAC7B;wBAED;4BACI,IAAI,EAAE,MAAM;4BACZ,EAAE,EAAE,MAAM;4BACV,KAAK,EAAE,SAAS;4BAChB,+BAA+B;4BAC/B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;yBAC7B;qBACJ;iBACJ;aAAC;YACN,KAAK,EAAE;gBACH,iBAAiB;gBACjB,aAAa,EAAE,CAAC;gBAChB,mCAAmC;gBACnC,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,KAAK;gBACf,cAAc;gBACd,mBAAmB;gBACnB,GAAG;aACN;YAED,KAAK,EAAE;gBACH,kBAAkB,EAAE;oBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,eAAe,EAAE,CAAC;iBACrB;gBACD,cAAc;gBACd,aAAa;gBACb,MAAM,EAAE;oBACJ,IAAI;oBAEJ,CAAC;iBACJ;aACJ;YAED,WAAW,EAAE;gBACT,MAAM,EAAE;oBACJ,cAAc;oBACd,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE;wBACJ,SAAS,EAAE;4BACP,sEAAsE;4BACtE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gCACxC,wIAAwI;gCAGxI,kDAAkD;gCAClD,0CAA0C;4BAC9C,CAAC,CAAC,CAAC;wBACP,CAAC;wBACD,QAAQ,EAAE;4BACN,mEAAmE;wBACvE,CAAC;qBACJ;oBACD,KAAK,EAAE;wBACH,MAAM,EAAE;4BACJ,SAAS,EAAE;gCAEP,sGAAsG;gCACtG,2BAA2B;4BAC/B,CAAC;4BACD,QAAQ,EAAE;gCACN,oGAAoG;gCACpG,8BAA8B;4BAClC,CAAC;yBACJ;qBACJ;iBAIJ;aACJ;SACJ,CAAC;QAEF,gBAAW,GAAG,IAAI,qDAAS,CAAC;YACxB,oDAAoD;YACpD,kDAAkD;YAElD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAC9C,CAAC,CAAC;QAz2BC,UAAU,CAAC,GAAG,EAAE;YACZ,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;IAGZ,CAAC;IAED,QAAQ;QACJ,2CAA2C;QAC3C,kEAAkE;QAClE,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7G,IAAI,CAAC,cAAc,EAAE,CAAC;QAGtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,gBAAgB;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;aACnC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE5D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,8CAA8C;gBAC9C,yDAAyD;gBACzD,IAAI,CAAC,YAAY,EAAE,CAAC;aAEvB;iBAAM;gBAEH,8CAA8C;aACjD;QACL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,YAAY;QAE5B,IAAI,YAAY,EAAE;YAEd,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,+BAA+B;SAClC;aACI;YACD,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,iBAAiB;YACjB,gCAAgC;SACnC;IACL,CAAC;IAED,OAAO,CAAC,SAAS;QAEb,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;aACI;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,yDAAyD;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAC1B;IACL,CAAC;IAED,YAAY;QAER,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAExB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC7B;QAED,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK;YACvC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG;YACnC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,WAAW,EAAE,IAAI,CAAC,cAAc;YAChC,YAAY,EAAE,IAAI,CAAC,iBAAiB;YACpC,MAAM,EAAE,IAAI,CAAC,eAAe;YAC5B,SAAS,EAAE,IAAI,CAAC,cAAc;SACjC,CAAC;QAIF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;YACzB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,KAAU;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,OAAY;QAE1B,IAAI,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,eAAe,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACnD,IAAI,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAExD,IAAI,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,eAAe,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACnD,IAAI,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAIxD,aAAa;QACb,8CAA8C;QAC9C,0CAA0C;QAC1C,kBAAkB;QAClB,mBAAmB;QACnB,+BAA+B;QAC/B,sBAAsB;QACtB,gBAAgB;QAChB,iBAAiB;QACjB,IAAI;QAGJ,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEtB,EAAE;gBACF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI;gBAE9B,IAAI,IAAI,GAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,IAAI,WAAW,GAAG,IAAI,CAAC;gBAEvB,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEnB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEjD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACtC,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI;2BAClC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE;wBAExC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wBAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;wBAExD,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wBACxD,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;wBACtC,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;wBACnC,IAAI,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;wBAGxC,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;wBACtD,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;wBACtC,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;wBACnC,IAAI,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;wBAGxC,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,OAAO;wBAG/B,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,QAAQ;4BAC1C,MAAM,GAAG,SAAS,CAAC;;4BAEnB,MAAM,GAAG,SAAS,CAAC;wBAGvB,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE;4BAC9B,IAAI,GAAG,GAAG;gCACN,EAAE,EAAE,OAAO,CAAC,WAAW;gCACvB,IAAI,EAAE,OAAO,CAAC,WAAW;gCACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;gCACvC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;gCACrC,KAAK,EAAE,MAAM;gCACb,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,wBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,GAAG,OAAO,CAAC,QAAQ;gCACpH,MAAM;gCACN,iBAAiB;6BACpB,CAAC;4BACF,WAAW,GAAG,CAAC,WAAW,CAAC;yBAC9B;;4BAEG,IAAI,GAAG,GAAG;gCACN,EAAE,EAAE,OAAO,CAAC,WAAW;gCACvB,IAAI,EAAE,OAAO,CAAC,WAAW;gCACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;gCACvC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;gCACrC,KAAK,EAAE,MAAM;gCACb,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ;gCACxC,MAAM;gCACN,iBAAiB;6BACpB,CAAC;wBAMN,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBAEZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAGf,MAAM,OAAO,GAAG,IAAI,IAAI,CACpB,IAAI,CAAC,GAAG,CACJ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;4BACrC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC,CAAC,CACL,CACJ,CAAC;wBAIF,iBAAiB,GAAG,OAAO,CAAC;wBAC5B,eAAe,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;wBAClD,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBAC/C,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;wBAEpD,MAAM,OAAO,GAAG,IAAI,IAAI,CACpB,IAAI,CAAC,GAAG,CACJ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;4BACnC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC,CAAC,CACL,CACJ,CAAC;wBAGF,iBAAiB,GAAG,OAAO,CAAC;wBAC5B,eAAe,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;wBAClD,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBAC/C,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;qBAGvD;oBAED,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBAGH,IAAI,CAAC,MAAM,GAAG,CAAC;wBACX,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,GAAG;wBAChB,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,IAAI;wBACV,cAAc,EAAE,OAAO;qBAC1B,CAAC,CAAC;gBAIH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG;oBAChB,KAAK,EAAE;wBACH,IAAI,EAAE,yBAAyB;qBAClC;oBACD,aAAa,EAAE;wBACX,kBAAkB,EAAE;4BAChB,gBAAgB,EAAE;gCACd,IAAI,EAAE,WAAW;6BACpB;yBACJ;qBACJ;oBACD,KAAK,EAAE;wBAEH,iBAAiB;wBACjB,KAAK,EAAE,MAAM;wBACb,SAAS,EAAE,CAAC;gCACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;gCACjC,KAAK,EAAE,OAAO;gCACd,KAAK,EAAE,CAAC;6BACX,CAAC;wBACF,cAAc;wBACd,mBAAmB;wBACnB,IAAI;wBACJ,+BAA+B;wBAC/B,kBAAkB;wBAClB,WAAW;wBACX,cAAc;wBACd,yCAAyC;wBACzC,wCAAwC;wBACxC,OAAO;wBACP,IAAI;wBACJ,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC;wBACrE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAE,4BAA4B;wBACnG,gCAAgC;wBAChC,iCAAiC;qBACpC;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBAEnB,KAAK,EAAE;wBAEH,oBAAoB;wBACpB,SAAS,EAAE;4BACP,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,KAAK;4BACf,UAAU,EAAE,KAAK;yBACpB;wBACD,IAAI,EAAE;4BACF,OAAO,EAAE,IAAI;yBAChB;wBACD,MAAM,EAAE;4BACJ;gCACI,SAAS,EAAE,GAAG;gCACd,IAAI,EAAE,CAAC;gCACP,EAAE,EAAE,CAAC;6BACR;yBACJ;wBACD,iBAAiB;wBACjB,aAAa,EAAE,CAAC;wBAChB,mCAAmC;wBACnC,WAAW,EAAE,IAAI;wBACjB,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;wBACb,mBAAmB;wBACnB,QAAQ,EAAE,KAAK;qBAElB;oBACD,cAAc;oBACd,gCAAgC;oBAChC,oBAAoB;oBACpB,eAAe;oBACf,wBAAwB;oBACxB,8BAA8B;oBAC9B,6BAA6B;oBAC7B,oCAAoC;oBACpC,QAAQ;oBACR,cAAc;oBACd,wBAAwB;oBACxB,0BAA0B;oBAC1B,OAAO;oBACP,IAAI;oBACJ,KAAK,EAAE;wBACH,sBAAsB;wBACtB,mBAAmB;wBACnB,kBAAkB,EAAE;4BAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,eAAe,EAAE,CAAC;yBACrB;wBACD,MAAM,EAAE;4BACJ,KAAK;4BAEL,CAAC;4BACD,IAAI;gCACA,mBAAmB;gCAEnB,0CAA0C;gCAG1C,qBAAqB;gCACrB,0DAA0D;gCAC1D,oCAAoC;gCACpC,mBAAmB;gCACnB,wCAAwC;gCACxC,OAAO;gCACP,YAAY;gCACZ,EAAE;gCACF,oBAAoB;gCACpB,4EAA4E;gCAC5E,UAAU;gCACV,sCAAsC;gCACtC,qDAAqD;gCACrD,qDAAqD;gCACrD,qDAAqD;4BACzD,CAAC;yBACJ;qBACJ;oBACD,IAAI,EAAE;wBACF,MAAM,EAAE,KAAK;qBAChB;oBACD,SAAS,EAAE;wBACP,aAAa,EAAE,eAAe;wBAC9B,SAAS,EAAE;4BACP,oEAAoE;4BAEpE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;4BAEtD,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAErC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAGpF,MAAM,KAAK,GAAG;gCACV,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;6BACpB,CAAC;4BAEF,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;4BACpC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;4BAGvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,QAAQ;gCACpD,SAAS,GAAG,mEAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM;gCACxE,OAAO,GAAG,mEAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;wBAE3E,CAAC;qBACJ;oBACD,WAAW,EAAE;wBACT,MAAM,EAAE;4BACJ,cAAc;4BACd,SAAS,EAAE,KAAK;4BAChB,MAAM,EAAE;gCACJ,YAAY;oCACR,mBAAmB;oCAEnB,+CAA+C;oCAE/C,qBAAqB;oCACrB,EAAE;oCACF,4DAA4D;oCAC5D,yCAAyC;oCACzC,mBAAmB;oCACnB,yCAAyC;oCACzC,OAAO;oCACP,YAAY;oCAIZ,oBAAoB;oCACpB,4EAA4E;oCAC5E,UAAU;oCACV,uCAAuC;oCACvC,qDAAqD;oCACrD,qDAAqD;oCACrD,qDAAqD;gCACzD,CAAC;gCACD,SAAS,EAAE;oCAGP,sEAAsE;oCACtE,gDAAgD;oCAChD,wIAAwI;oCAGxI,kDAAkD;oCAClD,0CAA0C;oCAC1C,KAAK;gCACT,CAAC;gCACD,QAAQ,EAAE;oCACN,mEAAmE;gCACvE,CAAC;6BACJ;4BACD,KAAK,EAAE;gCAEH,MAAM,EAAE;oCAEJ,SAAS,EAAE;wCAEP,kDAAkD;wCAElD,uCAAuC;wCAEvC,4CAA4C;wCAE5C,sFAAsF;wCAGtF,oEAAoE;wCAEpE,mCAAmC;wCACnC,sGAAsG;wCACtG,2BAA2B;oCAI/B,CAAC;oCACD,QAAQ,EAAE;wCACN,oGAAoG;wCACpG,8BAA8B;oCAClC,CAAC;iCACJ;6BACJ;yBAEJ;qBACJ;iBAGJ,CAAC;gBAIF,UAAU,CAAC,GAAG,EAAE;oBACZ,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBACjD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,mEAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;aAE7C;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,QAAQ,CAAC,KAAoC;QAEzC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,mBAAmB,CAAC,OAAO;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS;YACxD,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;;YACxB,OAAO,IAAI,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;QAE5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,gBAAgB;QAC/K,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,cAAc;QACzK,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,SAAS;QACtK,OAAO,KAAK,CAAC;QAEb,8KAA8K;QAE9K,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,OAAO;QAE7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,OAAO,KAAK,CAAC;QAEjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;aAE/D;YACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBACxC,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;wBAChD,IACI,IAAI,CAAC,iBAAiB,CAClB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAChE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CACnE,EACH;4BACE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;4BAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;4BAG/B,uCAAuC;4BACvC,kCAAkC;4BAElC,uCAAuC;4BACvC,sCAAsC;4BACtC,iBAAiB;4BACjB,MAAM;yBACT;iBACR;aACJ;YACD,OAAO,KAAK,CAAC;SAChB;QAED;;;;;;;;;;;;;;uBAce;IACnB,CAAC;IAwMD,gBAAgB,CAAC,MAAM,EAAE,OAAO;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAAA,CAAC;IAEF,iBAAiB,CAAC,KAAK,EAAE,OAAO;QAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SACxE;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAAA,CAAC;IAEF,gBAAgB,CAAC,GAAG,EAAE,KAAK;QACvB,OAAO,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC;IAChE,CAAC;IAAA,CAAC;IAEF,OAAO,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,CAAC,CAAC;YACX,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAAA,CAAC;IAEF,eAAe,CAAC,OAAO,EAAE,OAAO;QAC5B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAAA,CAAC;IAIF,eAAe;QACX,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACX,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;;8FAt9BQ,uBAAuB;qHAAvB,uBAAuB;QCMpC,yEAAiB;QAKgC,2EAAgB;QAAA,4DAAO;QAAC,mEACjE;QAAA,4DAAK;QAGT,yEAA2B;QAGgC,qJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,+EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QAEA,gJAAS,qBAAiB,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAC3E,6EAAkD;QAA5B,gJAAS,qBAAiB,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAa3F,2EAAkE;QAG3C,0EAAc;QAAA,4DAAY;QACrC,4FACwD;QACpD,wEAAqE;QACrE,6EAA+F;QAAhC,+JAAc,oBAAgB,IAAC;QAA9F,4DAA+F;QAGnG,wFAAmF;QAEvF,4DAAiB;QAGrB,2EAA2B;QACH,yMAA4B,gHACjB,kBAAc,IADG;QAG5C,kFAAwB;QAAA,yEAAa;QAAA,4DAAa;QAClD,oIAA+F;QACnG,4DAAa;QAIjB,2EAA2B;QACQ,6MAA8B,sGACrC,uCAAmC,IADE;QAEzD,4EAA0B;QAAA,iFAAqB;QAAA,4DAAO;QAI9D,2EAAuC;QAIX,yMAA4B,gHACjB,kBAAc,IADG;QAG5C,kFAAwB;QAAA,6EAAiB;QAAA,4DAAa;QACtD,oIAA+F;QACnG,4DAAa;QAGjB,2EAA2B;QACH,4MAA+B,gHACpB,kBAAc,IADM;QAG/C,kFAAwB;QAAA,iFAAqB;QAAA,4DAAa;QAC1D,oIAAoG;QACxG,4DAAa;QAGjB,2EAA2B;QACH,yMAA4B,gHACjB,kBAAc,IADG;QAG5C,kFAAwB;QAAA,6EAAiB;QAAA,4DAAa;QACtD,oIAAwG;QAC5G,4DAAa;QAGjB,2EAA2B;QACH,0MAA6B,gHAClB,kBAAc,IADI;QAG7C,kFAAwB;QAAA,8EAAkB;QAAA,4DAAa;QACvD,oIAAgG;QACpG,4DAAa;QAEjB,2EAA2B;QACI,sMAAuB,sGAC1B,2BAAuB,IADG;QAE9C,4EAA0B;QAAA,mFAAuB;QAAA,4DAAO;QAQpE,2EAAsC;QAClC,sEAAqI;QACzI,4DAAM;;;;QAtG0B,0DAA0B;QAA1B,kFAA0B;QAuB5B,2DAAyB;QAAzB,sFAAyB;QAMd,0DAAyB;QAAzB,oEAAyB;QAM1C,0DAA4B;QAA5B,uFAA4B;QAGhC,0DAAW;QAAX,oEAAW;QACQ,0DAAU;QAAV,gFAAU;QAMd,0DAA8B;QAA9B,yFAA8B;QAUrC,0DAA4B;QAA5B,uFAA4B;QAGhC,0DAAW;QAAX,oEAAW;QACK,0DAAe;QAAf,qFAAe;QAK3B,0DAA+B;QAA/B,0FAA+B;QAGnC,0DAAW;QAAX,oEAAW;QACQ,0DAAkB;QAAlB,wFAAkB;QAKjC,0DAA4B;QAA5B,uFAA4B;QAGhC,0DAAW;QAAX,oEAAW;QACM,0DAAe;QAAf,qFAAe;QAK5B,0DAA6B;QAA7B,wFAA6B;QAGjC,0DAAW;QAAX,oEAAW;QACK,0DAAgB;QAAhB,sFAAgB;QAIrB,0DAAuB;QAAvB,kFAAuB;QAWtC,0DAA6D;QAA7D,0HAA6D;;;;;;;;;;;;;;;;;;;ACjJ9B;AACyB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAEzD,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACjE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAEhE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAG1D;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAHpB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,kBAAkB,oFAFnB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BuB;AAEa;AACwB;AAC7B;AACA;AACA;AACW;AAC6B;AACoB;AACpE;AACY;AACF;AACU;AACD;AACwB;AACW;AACL;AACjC;AAC8D;AAC1B;AAC3B;AACuB;;AAwCxF,MAAM,WAAW;;sEAAX,WAAW;yGAAX,WAAW;6GA1BX;YACL,0DAAY;YACZ,wDAAW;YACX,gEAAmB;YACnB,kEAAa;YACb,kEAAa;YACb,kEAAa;YACb,qEAAkB;YAClB,0DAAY;YACZ,sEAAe;YACf,oEAAc;YACd,8EAAmB;YACnB,6EAAkB;YAClB,0EAAiB;YACjB,mFAAqB;SACxB;oIAWQ,WAAW,mBApChB,4FAAsB;QACtB,uGAAuB;QACvB,2HAA6B;QAC7B,kGAAqB;QACrB,6GAAwB;QACxB,wGAAuB;QACvB,qIAAgC;QAChC,2GAAwB;QACxB,uGAAuB,aAGvB,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,kEAAa;QACb,kEAAa;QACb,kEAAa;QACb,qEAAkB;QAClB,0DAAY;QACZ,sEAAe;QACf,oEAAc;QACd,8EAAmB;QACnB,6EAAkB;QAClB,0EAAiB;QACjB,mFAAqB,aAGrB,4FAAsB;QACtB,uGAAuB;QACvB,2HAA6B;QAC7B,kGAAqB;QACrB,6GAAwB;QACxB,wGAAuB;QACvB,uGAAuB;;;;;;;;;;;;;;;;;ACrDxB,MAAM,4BAA4B;IAEvC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wGALU,4BAA4B;0HAA5B,4BAA4B;QCNzC,wEAAgF;QACvC,sFAA2B;QAAA,4DAAO;QAG3E,yEAOU;QAEH,4NAAiK;QAAA,4DAAI;QAExK,uEAA6B;QACzB,4LACA;QAAA,uEAAoC;QAAA,6EAAkB;QAAA,4DAAI;QAAA,8DAC9D;QAAA,4DAAI;QAEJ,qEAAG;QAAA,+HAAmE;QAAA,wEAAoC;QAAA,8EAAkB;QAAA,4DAAI;QAAA,6DAAC;QAAA,4DAAI;QAErI,qEAAG;QAAA,kGAAsC;QAAA,wEAAoC;QAAA,8EAAkB;QAAA,4DAAI;QAAC,2FAA8B;QAAA,4DAAI;QAK1I,yEAAgF;QAAqC,mFAAuB;QAAA,4DAAO;QAAC,mEAAM;QAAA,4DAAK;QAG/J,yEAA6D;QAEjC,gOAAoK;QAAA,4DAAK;QAEjM,yEAAwB;QAAA,kKAAsG;QAAA,4DAAK;QAEnI,yEAAwB;QAAA,sKAA0G;QAAA,4DAAK;QAEvI,yEAAwB;QAAA,oKAAwG;QAAA,4DAAK;QAErI,yEAAwB;QAAA,oRAAwN;QAAA,4DAAK;QAErP,yEAAwB;QAAQ,kIAAsE;QAAA,4DAAS;QAE/G,yEAAwB;QAAA,sPAA0L;QAAA,4DAAK;QAEvN,yEAAwB;QAAA,qJAAyF;QAAA,wEAA8D;QAAA,gFAAoB;QAAA,4DAAI;QAAA,6DAAC;QAAA,4DAAK;QAE7M,yEAAwB;QAAA,mSAAuO;QAAA,4DAAK;QAEpQ,0EAA6C;QAAA,+EAAmB;QAAA,4DAAM;QAEtE,yEAAwB;QAAA,qNAAyJ;QAAA,4DAAK;QAEtL,0EAA6C;QAAA,sFAA0B;QAAA,4DAAM;QAE7E,yEAAwB;QAAA,wPAA4L;QAAA,4DAAK;QAEzN,yEAAwB;QAAA,wHAA4D;QAAA,4DAAK;QAEzF,yEAAwB;QAAA,2IAA+E;QAAA,4DAAK;QAE5G,0EAA6C;QAAA,kGAAsC;QAAA,4DAAM;QAEzF,yEAAwB;QAAA,6MAAiJ;QAAA,4DAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChE9G;AAES;;;;;;;;;;;;;ICoF7C,4EAA8D;IAC1D,yEACJ;IAAA,4DAAQ;;;IAUR,wEAAuJ;IACnJ,8EACJ;IAAA,4DAAQ;;;IAwHR,oGACJ;;;IAGI,gEAAI;IAAA,gKACR;;;IAIJ,0EAAiH;IAC7G,iIAAqE;IAAA,4EAAyB;IAAA,+DAAI;IAAA,4DAAO;IAAC,iEAAK;IAAA,gEAAI;IAAA,mGAAwC;IAAA,oEAAG;IAAA,4EAAiB;IAAA,4DAAI;IAAA,6DACvL;IAAA,4DAAM;;;IAuFN,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,2EAAyD;IACrD,qHAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAcjC,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,qHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,sGAAmC;;;IA4CzC,sEAAsC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD7D,2EAA4D;IACxD,qHAA+D;IACnE,4DAAM;;;IADI,0DAA8B;IAA9B,kGAA8B;;;IAmBpC,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,2EAAyD;IACrD,qHAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,+FAA2B;;;IAajC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD9D,2EAA6D;IACzD,qHAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,mGAA+B;;;IAYrC,sEAAwC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD/D,2EAA8D;IAC1D,qHAAiE;IACrE,4DAAM;;;IADI,0DAAgC;IAAhC,oGAAgC;;;IAetC,sEAAoC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD3D,2EAA0D;IACtD,qHAA6D;IACjE,4DAAM;;;IADI,0DAA4B;IAA5B,gGAA4B;;;IAM9C,sEAA2G;IAuBnG,wMAGA;IASJ,4DAAM;IAEN,2EAE+C;IAE3C,iOAEA;IAAA,6EAAiH;IAGpF,uFAA4B;IAAA,4DAAM;IAEvD,sEAAI;IACA,4EAGyC;IAC7C,4DAAK;;;;IAazB,0FAC0G;IAA7D,iUAAU,gBAAQ,CAAC,CAAC,IAAC,yQAAW,wBAAgB,IAA3B;IAC9D,6FAA4B;IAEpB,mFACJ;IAAA,4DAAkB;IAGtB,0EAA6F;IAG3E,gUAAU,2CAAmC,IAAC;IAAC,mEAAQ;IAAA,2EAAgC;IAAA,2EAAgB;IAAA,4DAAO;IAGhI,0EAAiB;IAEkB,iEAAK;IAAA,4DAAQ;IAE5C,2EAA4B;IACxB,yEACuD;IAC3D,4DAAM;IAGN,2EAAsB;IACS,oEAAQ;IAAA,4DAAQ;IAE/C,2EAA4B;IACxB,yEAC0D;IAC9D,4DAAM;IAEN,2EAAsB;IACS,sEAAU;IAAA,4DAAQ;IAEjD,2EAA4B;IACxB,yEACuD;IAC3D,4DAAM;IAUN,2EAAsB;IACS,qEAAS;IAAA,4DAAQ;IAEhD,2EAA4B;IACxB,yEAC2D;IAC/D,4DAAM;IAEN,2EAAsB;IACS,sEAAU;IAAA,4DAAQ;IAEjD,2EAA4B;IACxB,yEACqE;IACzE,4DAAM;IAQV,4EAWU;IAE8C,2EAAe;IAAA,4DAAM;IAEzE,keAGJ;IAAA,4DAAM;IAGN,kFAAgB;IACqC,8SAAS,kBAAU,IAAC;IAAC,oEAAQ;IAAA,4DAAI;IAClF,yEAAoE;IAArB,8SAAS,kBAAU,IAAC;IAAC,gEAAI;IAAA,4DAAI;;;IA5F/D,wFAAuB;;;IA4H5B,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,qHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;IAYzC,sEAAmD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1E,2EAAyE;IACrE,qHAA4E;IAChF,4DAAM;;;IADI,0DAA2C;IAA3C,+GAA2C;;;IAajD,sEAAiD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADxE,2EAAuE;IACnE,qHAA0E;IAC9E,4DAAM;;;IADI,0DAAyC;IAAzC,6GAAyC;;;IAY/C,sEAA8C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADrE,2EAAoE;IAChE,qHAAuE;IAC3E,4DAAM;;;IADI,0DAAsC;IAAtC,0GAAsC;;;IAa5C,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,qHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;IAqBzC,sEAA+C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADtE,2EAAqE;IACjE,qHAAwE;IAC5E,4DAAM;;;IADI,0DAAuC;IAAvC,2GAAuC;;;IAY7C,sEAAgD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADvE,2EAAsE;IAClE,qHAAyE;IAC7E,4DAAM;;;IADI,0DAAwC;IAAxC,4GAAwC;;;IAa9C,sEAA4C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADnE,2EAAkE;IAC9D,qHAAqE;IACzE,4DAAM;;;IADI,0DAAoC;IAApC,wGAAoC;;;IAoE1C,sEAA0C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADjE,2EAAgE;IAC5D,qHAAmE;IACvE,4DAAM;;;IADI,0DAAkC;IAAlC,sGAAkC;;;IAYxC,sEAA+C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADtE,2EAAqE;IACjE,qHAAwE;IAC5E,4DAAM;;;IADI,0DAAuC;IAAvC,2GAAuC;;;IAY7C,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,qHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;AD/yBjE,sEAAsE;AAO/D,MAAM,gBAAgB;IA6BzB,YAAoB,gBAAiC,EACzC,eAA+B,EAC/B,WAAwB,EACxB,MAAc,EACd,KAAqB;QAJb,qBAAgB,GAAhB,gBAAgB,CAAiB;QACzC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QA/BjC,4JAA4J;QAC5J,YAAO,GAAG,KAAK,CAAC;QAChB,SAAI,GAAG,CAAC,CAAC;QAMT,WAAM,GAAQ,sEAAa,CAAC;QAQ5B,mBAAc,GAAQ,eAAe,CAAC;QACtC,mBAAc,GAAQ,eAAe,CAAC;QACtC,iBAAY,GAAQ,KAAK,CAAC;QAC1B,mBAAc,GAAQ,OAAO,CAAC;QAI9B,eAAU,GAAQ,KAAK,CAAC;QACxB,eAAU,GAAQ,KAAK,CAAC;QACxB,eAAU,GAAQ,IAAI,CAAC;QAQnB,IAAI,CAAC,KAAK,CAAC,aAAa;aACnB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAElB,IAAI,CAAC,OAAO,mCAAQ,MAAM,CAAC,IAAI,GAAK,MAAM,CAAE,CAAC;YAE7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/C,CAAC,CAAC,CAAC;QAGP,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,QAAQ;QAEJ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,2CAA2C;YAC3C,6CAA6C;YAC7C,mDAAmD;YACnD,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACjC,SAAS,EAAE,CAAC,EAAE,CAAC;YAEf,mBAAmB,EAAE,CAAC,EAAE,CAAC;YAEzB,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,SAAS,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACpC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACjC,UAAU,EAAE,CAAC,EAAE,CAAC;YAEhB,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,oBAAoB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/C,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,eAAe,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC1C,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,gBAAgB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC5C,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAC3B,iBAAiB,EAAE,CAAC,EAAE,CAAC;YAEvB,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,gBAAgB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAEvC,eAAe,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,CAAC,KAAK,EAAE,+DAAmB,CAAC;YACxC,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,OAAO,EAAC,CAAC,EAAE,CAAC;YAEZ,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,gBAAgB,EAAE,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;QAGH,0BAA0B;QAC1B,wBAAwB;QACxB,0BAA0B;QAC1B,wCAAwC;QACxC,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE7D,UAAU,CAAC,GAAG,EAAE;YACZ,2DAA2D;YAC3D,mEAAmE;YACnE,kEAAkE;QACtE,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAGD,cAAc;QAGV,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,GAAG,2JAA2J,CAAC;QACxK,4DAA4D;QAC5D,QAAQ,CAAC;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;gBACf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAE5B,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK;gBACxB,OAAO,KAAK,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,UAAU;YACf,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B;iBACI;gBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B;IACT,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aAGxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,aAAa,CAAC,CAAC;QAEX,IAAI,CAAC,IAAI,eAAe,EAAE;YAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;QACzD,IAAI,CAAC,IAAI,eAAe,EAAE;YAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;IAE7D,CAAC,CAAC,2BAA2B;IAE7B,OAAO,CAAC,CAAC;QAEL,IAAI,CAAC,IAAI,YAAY,EAAE;YAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;QACnD,IAAI,CAAC,IAAI,YAAY,EAAE;YAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;IAEvD,CAAC,CAAC,qBAAqB;IAEvB,cAAc,CAAC,GAAG;QACd,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,oBAAoB,CAAC,GAAG;QAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;YAEb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxF,0GAA0G;YAC1G,kGAAkG;SAGrG;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,+DAA+D;YAC/D,2DAA2D;SAC9D;IAEL,CAAC;IAED,mBAAmB,CAAC,GAAG;QAEnB,IAAI,GAAG,IAAI,IAAI,EAAE;YAEb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAGlG;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC3D;IAEL,CAAC;IAED,mBAAmB,CAAC,GAAG;QAEnB,IAAI,GAAG,IAAI,UAAU,EAAE;YAEnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAE1F;aAAM,IAAI,GAAG,IAAI,SAAS,EAAE;YAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAElG;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YAEtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAEvD;IAGL,CAAC;IAKD,eAAe,CAAC,KAAU;QAEtB,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;aACI;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,cAAc;QACV,oBAAoB;QAEpB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,uDAAuD;YAC/G,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;iBACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;;gBAEd,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;;YAEG,IAAI,CAAC,IAAI,EAAE,CAAC;IAGpB,CAAC;IAED,QAAQ;QAEJ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,uDAAuD;YAC/G,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;iBACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;;gBAEd,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;;YAEG,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAID,oBAAoB,CAAC,KAAU;QAE3B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YACnB,KAAK,CAAC,KAAK,IAAI,SAAS;YACxB,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;QAG5B,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI;aAIxC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,8CAA8C;QAC9C,IAAI,WAAW,GAAG,gFAAuB,CAAC;QAC1C,QAAQ,CAAC;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,WAAW,GAAG,2EAAkB,CAAC;aAChC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC;YAC7B,WAAW,GAAG,2EAAkB,CAAC;aAChC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,qDAAqD;YAChH,WAAW,GAAG,gFAAuB,CAAC;QAI1C,IAAI,GAAG,GAAG;YACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YAChE,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAElE,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC9C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YACtD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAChD,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YACtD,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACpD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;YAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC9C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK;YAC1E,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK;YACtE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YAChE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAClE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACpE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YAC5D,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK;YAC5E,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAClE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,OAAO,EAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE;YACvD,cAAc,EAAE,CAAC,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAE;YAChE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAChD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACpD,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACjF,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAEd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC7D,2DAA2D;gBAC3D,mEAAmE;gBACnE,kEAAkE;gBAGlE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;aAEtD;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;;gFA9cQ,gBAAgB;8GAAhB,gBAAgB;QCZ7B,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAO5C,yEAAkB;QAG+F,yEAAc;QAAA,4DAAO;QAAC,gEAAI;QAAA,4DAAK;QAExI,yEAAiD;QAAA,kFAAsB;QAAA,4DAAK;QAE5E,wEAA6B;QAAA,iMAAqI;QAAA,wEAA+D;QAAA,gEAAI;QAAA,4DAAI;QAAC,6FAAgC;QAAA,4DAAI;QAIlR,2EAA6F;QACzF,gGAAmC;QAAA,4EAAkB;QAAA,+DAAG;QAAA,4DAAO;QAKvE,4EAAmG;QAA/B,6IAAY,qBAAiB,IAAC;QA6B9F,qFAA6C;QACI,wJAAU,YAAQ,CAAC,CAAC,IAAC,gGAAW,oBAAgB,IAA3B;QAC9D,8FAA4B;QAEpB,4EACJ;QAAA,4DAAkB;QAOtB,2EAAuB;QAMkC,yEAAa;QAAA,4DAAQ;QAE9D,2EAAmB;QACY,wDAAc;QAAA,4DAAQ;QAIzD,2EAAkD;QAEL,iEAAK;QAAA,4DAAQ;QAEtD,2EAAmB;QACY,wDAA2B;QAAA,4DAAQ;QAC9D,mHAEQ;QAEZ,4DAAM;QAGV,2EAAkD;QAEL,iEAAK;QAAA,4DAAQ;QAEtD,2EAAmB;QACf,mHAEQ;QACR,6EAA2B;QAAA,wDAAkC;;QAAA,4DAAQ;QAI7E,2EAAkD;QAEL,iEAAK;QAAA,4DAAQ;QAEtD,2EAAmB;QACY,wDAAkB;QAAA,4DAAQ;QAI7D,2EAAkD;QAEL,+FAAmC;QAAA,4DAAQ;QAEpF,2EAAsB;QAI2B,kMAA4B,+GAC1C,2BAAuB,IADmB;QAIrE,kFAAgE;QAAA,yEAAa;QAAA,4DAAa;QAE1F,kFAA0C;QACtC,mFACJ;QAAA,4DAAa;QAEb,kFAAiC;QAC7B,0EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,+EACJ;QAAA,4DAAa;QAEb,kFAA2E;QACvE,oHACJ;QAAA,4DAAa;QAEb,kFAAoC;QAChC,6EACJ;QAAA,4DAAa;QAEb,kFAA4C;QACxC,qFACJ;QAAA,4DAAa;QAEb,kFAAmC;QAC/B,4EACJ;QAAA,4DAAa;QAEb,kFAAmC;QAC/B,4EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,+EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,mFACJ;QAAA,4DAAa;QAEb,kFAA0B;QACtB,mEACJ;QAAA,4DAAa;QAIjB,wEACqD;QACzD,4DAAM;QAOtB,kFAAgB;QACmC,oIAAS,cAAU,IAAC;QAAC,gEAAI;QAAA,4DAAI;QAIpF,2FAA0G;QAA7D,wJAAU,YAAQ,CAAC,CAAC,IAAC,gGAAW,oBAAgB,IAA3B;QAC9D,8FAA4B;QAEpB,oEACJ;QAAA,4DAAkB;QAGtB,8EAAiH;QAInE,yFAA4B;QAAA,4DAAM;QAEpE,sEAAG;QACC,uEAAgL;QACpL,4DAAI;QAEJ,4EAAkD;QAC3C,iEAAI;QAAA,0EAAiE;QAAA,qFAAwB;QAAA,4DAAI;QAAC,oRAAsN;QAAA,4DAAI;QAE/T,2EAAgC;QACxB,qFAAwB;QAAA,4DAAK;QACjC,uEAAI;QAAA,qIAAwE;QAAA,4DAAK;QAKzF,4EAAwD;QAE1B,wEAAW;QAAA,4DAAO;QAE5C,iIAEc;QAEd,6MAEc;QAElB,4DAAM;QAEN,kHAEM;QAEN,4EAAoD;QAEd,+FAAkC;QAAA,4DAAO;QAE3E,8EAAiG;QAA1C,yIAAS,kBAAc,eAAe,CAAC,IAAE;QAAhG,4DAAiG;QAAC,4EAGlG;QAAA,yEAEkD;QAElD,8EAAgG;QAA1C,yIAAS,kBAAc,eAAe,CAAC,IAAE;QAA/F,4DAAgG;QAAC,iEAErG;QAAA,4DAAM;QAIN,4EAAmD;QAE/C,8LAEJ;QAAA,4DAAM;QAqClB,mFAAgB;QACqC,qIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,qIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,4FAA0G;QAA7D,yJAAU,YAAQ,CAAC,CAAC,IAAC,iGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,+EACJ;QAAA,4DAAkB;QAGtB,4EAAiB;QAEkB,kEAAK;QAAA,4DAAQ;QAE5C,4EAA4B;QACsD,uIAAQ,oBAAgB,IAAC;QAAvG,4DAEyD;QAEzD,4EAAoD;QAChD,yHACJ;QAAA,4DAAM;QAEN,iHAEM;QAGV,4DAAM;QAEN,4EAAsB;QACS,0EAAa;QAAA,4DAAQ;QAEpD,4EAA4B;QACxB,yEAEiE;QACjE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,oEAAO;QAAA,4DAAQ;QAE9C,4EAA4B;QACqB,mMAA4B,gHAC1C,2BAAuB,IADmB;QAIrE,mFAAuD;QAAA,0EAAa;QAAA,4DAAa;QACjF,mFAAuC;QAAA,+EAAkB;QAAA,4DAAa;QACtE,mFAAkC;QAAA,0EAAa;QAAA,4DAAa;QAC5D,mFAA8B;QAAA,sEAAS;QAAA,4DAAa;QACpD,mFAAuC;QAAA,+EAAkB;QAAA,4DAAa;QACtE,mFAAkC;QAAA,0EAAa;QAAA,4DAAa;QAC5D,mFAAqC;QAAA,6EAAgB;QAAA,4DAAa;QAClE,mFAAqC;QAAA,6EAAgB;QAAA,4DAAa;QAClE,mFAAmC;QAAA,2EAAc;QAAA,4DAAa;QAE9D,mFAAiC;QAAA,yFAA4B;QAAA,4DAAa;QAKlF,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEACsD;QAE1D,4DAAM;QAEN,4EAAsB;QACS,qEAAQ;QAAA,4DAAQ;QAE/C,4EAA4B;QACxB,yEAE4D;QAC5D,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QASjD,4EAA4B;QACxB,yEAEyD;QACzD,iHAEM;QACV,4DAAM;QAGN,4EAAsB;QACS,sEAAS;QAAA,4DAAQ;QAEhD,4EAA4B;QACxB,yEAE6D;QAC7D,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,yEAE8D;QAC9D,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QAMgC,uIAAQ,oBAAgB,IAAC;QAFjF,4DAEoF;QACpF,iHAEM;QACV,4DAAM;QAIV,kHA0DM;QAEN,mFAAgB;QACqC,qIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,qIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,kJA+FsB;QAEtB,4FAA0G;QAA7D,yJAAU,YAAQ,CAAC,CAAC,IAAC,iGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,8EACJ;QAAA,4DAAkB;QAItB,4EAA6F;QACzF,uJACJ;QAAA,4DAAM;QAGN,4EAA6F;QAG3E,wJAAU,wCAAoC,IAAC;QAAC,qEAAQ;QAAA,6EAAgC;QAAA,6EAAgB;QAAA,4DAAO;QAGjI,4EAAiB;QAEkB,kEAAK;QAAA,4DAAQ;QAE5C,4EAA4B;QACxB,yEAEiE;QACjE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,0EAAa;QAAA,4DAAQ;QAEpD,4EAA4B;QACxB,yEAEyE;QACzE,iHAEM;QACV,4DAAM;QAGN,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEAE8D;QAC9D,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,qEAAQ;QAAA,4DAAQ;QAE/C,4EAA4B;QACxB,yEAEoE;QACpE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAGjD,4EAA4B;QACxB,yEAEiE;QACjE,iHAEM;QACV,4DAAM;QAUN,4EAAsB;QACS,sEAAS;QAAA,4DAAQ;QAGhD,4EAA4B;QACxB,yEAEqE;QACrE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,yEAEsE;QACtE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QAExB,yEAEkE;QAClE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,4EAAe;QAAA,4DAAQ;QAEtD,4EAA4B;QACxB,yEACiE;QAErE,4DAAM;QAEN,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEAC6D;QAEjE,4DAAM;QAGV,mFAAgB;QACqC,qIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,qIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,4FAA0G;QAA7D,yJAAU,YAAQ,CAAC,CAAC,IAAC,iGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,4FACJ;QAAA,4DAAkB;QAGtB,4EAAiB;QAYyB,oJAAS,wBAAoB,UAAU,CAAC,IAAC;QACnE,sEAAQ;QAAA,6EAAmD;QAAA,6EAAgB;QAAA,4DAAO;QAEtF,yFAAsE;QAAzC,oJAAS,wBAAoB,SAAS,CAAC,IAAC;QACjE,sEAAQ;QAAA,6EAAmD;QAAA,4EAAe;QAAA,4DAAO;QAErF,0FAAwE;QAAtC,oJAAS,wBAAoB,MAAM,CAAC,IAAC;QACnE,6EAAgC;QAAA,kEAAK;QAAA,4DAAO;QAKxD,4EAAsB;QACS,kEAAK;QAAA,4DAAQ;QAE5C,4EAA4B;QACxB,0EAEgE;QAChE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,0EAEqE;QACrE,iHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QACxB,0EAEiE;QACjE,iHAEM;QACV,4DAAM;QAIV,mFAAgB;QACqC,qIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,qIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,4FAA0G;QAA7D,yJAAU,YAAQ,CAAC,CAAC,IAAC,iGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,mFACJ;QAAA,4DAAkB;QAGtB,6EAA4G;QAExG,yGAA2C;QAAA,2EAAQ;QAAA,kEAAK;QAAA,4DAAS;QAAC,mLAAqH;QAAA,8EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,+DAElP;QAAA,6EAA+B;QAQW,gEAAG;QAAA,4DAAmB;QACpD,0FAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,0FAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QAQvF,6EAAgH;QAE5G,wGAA0C;QAAA,2EAAQ;QAAA,iEAAI;QAAA,4DAAS;QAAC,iKAAmG;QAAA,8EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,+DAE9N;QAAA,6EAA+B;QAOW,gEAAG;QAAA,4DAAmB;QACpD,0FAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,0FAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QASvF,4EAAoE;QAAqC,oFAAuB;QAAA,4DAAO;QAAC,oEAAM;QAAA,4DAAK;QAGnJ,4EAA6D;QAEjC,iOAAoK;QAAA,4DAAK;QAEjM,4EAAwB;QAAA,mKAAsG;QAAA,4DAAK;QAEnI,4EAAwB;QAAA,uKAA0G;QAAA,4DAAK;QAEvI,4EAAwB;QAAA,qKAAwG;QAAA,4DAAK;QAErI,4EAAwB;QAAA,qRAAwN;QAAA,4DAAK;QAErP,4EAAwB;QAAQ,mIAAsE;QAAA,4DAAS;QAE/G,4EAAwB;QAAA,uPAA0L;QAAA,4DAAK;QAEvN,4EAAwB;QAAA,sJAAyF;QAAA,2EAA8D;QAAA,iFAAoB;QAAA,4DAAI;QAAA,8DAAC;QAAA,4DAAK;QAE7M,4EAAwB;QAAA,oSAAuO;QAAA,4DAAK;QAEpQ,6EAA6C;QAAA,gFAAmB;QAAA,4DAAM;QAEtE,4EAAwB;QAAA,sNAAyJ;QAAA,4DAAK;QAEtL,6EAA6C;QAAA,uFAA0B;QAAA,4DAAM;QAE7E,4EAAwB;QAAA,yPAA4L;QAAA,4DAAK;QAEzN,4EAAwB;QAAA,yHAA4D;QAAA,4DAAK;QAEzF,4EAAwB;QAAA,4IAA+E;QAAA,4DAAK;QAE5G,6EAA6C;QAAA,mGAAsC;QAAA,4DAAM;QAEzF,4EAAwB;QAAA,8MAAiJ;QAAA,4DAAK;QAMlL,6EAA0B;QAER,wJAAU,kCAA8B,IAAC;QAAC,4GAA+C;QAAA,4DAAe;QAM1H,mFAAgB;QACqC,qIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,gFAAoI;QAAA,mEAAM;QAAA,4DAAS;;;QA94B7J,2DAAyB;QAAzB,sFAAyB;QA8BF,0DAAuB;QAAvB,oFAAuB;QAoBO,2DAAc;QAAd,+EAAc;QASd,0DAA2B;QAA3B,oGAA2B;QAC1B,0DAAgC;QAAhC,gGAAgC;QAYpD,0DAA6I;QAA7I,qNAA6I;QAG1H,0DAAkC;QAAlC,gKAAkC;QASlC,0DAAkB;QAAlB,mFAAkB;QAYA,0DAA4B;QAA5B,uFAA4B;QAoDlE,2DAAwB;QAAxB,qFAAwB;QAclC,0DAAuB;QAAvB,oFAAuB;QA+BX,2DAA+D;QAA/D,4HAA+D;QAU1E,0DAA0D;QAA1D,0HAA0D;QAoE3D,2DAAuB;QAAvB,oFAAuB;QAazB,0DAA0D;QAA1D,iLAA0D;QAO3D,0DAAmB;QAAnB,mFAAmB;QAYlB,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QASY,0DAA4B;QAA5B,uFAA4B;QAiClE,2DAA8C;QAA9C,iKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QAiBrB,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAWlB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAUtB,0DAAgD;QAAhD,mKAAgD;QAEjD,0DAAwB;QAAxB,wFAAwB;QAavB,0DAAyC;QAAzC,4JAAyC;QAE1C,0DAAoB;QAApB,oFAAoB;QAO5B,0DAAmG;QAAnG,sKAAmG;QAkEvF,0DAAkE;QAAlE,kIAAkE;QAiGnE,0DAAuB;QAAvB,oFAAuB;QAyBzB,2DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAU1B,0DAA2D;QAA3D,8KAA2D;QAE5D,0DAAmC;QAAnC,mGAAmC;QAWlC,0DAAyD;QAAzD,4KAAyD;QAE1D,0DAAiC;QAAjC,iGAAiC;QAUhC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAA8B;QAA9B,8FAA8B;QAW7B,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAmB1B,0DAAuD;QAAvD,0KAAuD;QAExD,0DAA+B;QAA/B,+FAA+B;QAU9B,0DAAwD;QAAxD,2KAAwD;QAEzD,0DAAgC;QAAhC,gGAAgC;QAW/B,0DAAoD;QAApD,uKAAoD;QAErD,0DAA4B;QAA5B,4FAA4B;QA8BzB,2DAAuB;QAAvB,oFAAuB;QAoCzB,2DAAkD;QAAlD,qKAAkD;QAEnD,0DAA0B;QAA1B,0FAA0B;QAUzB,0DAAuD;QAAvD,0KAAuD;QAExD,0DAA+B;QAA/B,+FAA+B;QAU9B,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAaxB,0DAAuB;QAAvB,oFAAuB;QAwGgB,2DAA+E;QAA/E,kJAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACx6B/E;AAEY;;;;;;;;;;;;;IC+FhD,4EAA8D;IAC1D,8EACJ;IAAA,4DAAQ;;;IAiII,oGACJ;;;IAGI,gEAAI;IAAA,gKACR;;;IAIJ,2EAAiH;IAC7G,iIAAqE;IAAA,4EAAyB;IAAA,+DAAI;IAAA,4DAAO;IAAC,iEAAK;IAAA,gEAAI;IAAA,mGAAwC;IAAA,oEAAG;IAAA,4EAAiB;IAAA,4DAAI;IAAA,6DACvL;IAAA,4DAAM;;;;IApClB,4EAAgK;IAIlH,uFAA4B;IAAA,4DAAM;IAEpE,oEAAG;IACC,qEAAgL;IACpL,4DAAI;IAEJ,2EAAkD;IAC3C,+DAAI;IAAA,0EAAiE;IAAA,oFAAwB;IAAA,4DAAI;IAAC,mRAAsN;IAAA,4DAAI;IAE/T,2EAAgC;IACxB,oFAAwB;IAAA,4DAAK;IACjC,sEAAI;IAAA,oIAAwE;IAAA,4DAAK;IAKzF,4EAA0B;IAEI,uEAAW;IAAA,4DAAO;IAE5C,6IAEc;IAEd,yNAEc;IAElB,4DAAM;IAEN,8HAEM;IAEN,4EAAoD;IAEd,8FAAkC;IAAA,4DAAO;IAE3E,8EAAiG;IAA1C,uSAAS,sBAAc,eAAe,CAAC,IAAE;IAAhG,4DAAiG;IAAC,2EAGlG;IAAA,yEAEkD;IAElD,8EAAgG;IAA1C,uSAAS,sBAAc,eAAe,CAAC,IAAE;IAA/F,4DAAgG;IAAC,gEAErG;IAAA,4DAAM;IAIN,4EAAmD;IAE/C,6LAEJ;IAAA,4DAAM;;;;IAnCW,2DAA+D;IAA/D,kIAA+D;IAU1E,0DAA0D;IAA1D,6HAA0D;;;IAkL5E,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,2EAAyD;IACrD,wHAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAcjC,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,wHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,sGAAmC;;;IA4CzC,sEAAsC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD7D,2EAA4D;IACxD,yHAA+D;IACnE,4DAAM;;;IADI,0DAA8B;IAA9B,iGAA8B;;;IAmBpC,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,2EAAyD;IACrD,yHAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAajC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD9D,2EAA6D;IACzD,yHAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAYrC,sEAAwC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD/D,2EAA8D;IAC1D,yHAAiE;IACrE,4DAAM;;;IADI,0DAAgC;IAAhC,oGAAgC;;;IAatC,sEAAoC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD3D,2EAA0D;IACtD,yHAA6D;IACjE,4DAAM;;;IADI,0DAA4B;IAA5B,gGAA4B;;;IAK9C,sEAA2G;IAKnG,qEAEM;IACN,0EAA4B;IAEpB,2JACJ;IAAA,4DAAO;IACP,2EAA4B;IACxB,wEACsD;IAE1D,4DAAM;IAId,2EAA6B;IAIzB,wMAGA;IASJ,4DAAM;IAEN,4EAE+C;IAE3C,kOAEA;IAAA,8EAAiH;IAGpF,wFAA4B;IAAA,4DAAM;IAEvD,sEAAI;IACA,4EAGyC;IAC7C,4DAAK;;;;IAazB,yFAC0G;IAA7D,qUAAU,gBAAQ,CAAC,CAAC,IAAC,6QAAW,wBAAgB,IAA3B;IAC9D,6FAA4B;IAEpB,mFACJ;IAAA,4DAAkB;IAGtB,0EAA6F;IAG3E,oUAAU,2CAAmC,IAAC;IAAC,mEAAQ;IAAA,2EAAgC;IAAA,2EAAgB;IAAA,4DAAO;IAGhI,yEAAiB;IAEkB,iEAAK;IAAA,4DAAQ;IAE5C,2EAA4B;IACxB,yEACuD;IAC3D,4DAAM;IAGN,2EAAsB;IACS,oEAAQ;IAAA,4DAAQ;IAE/C,2EAA4B;IACxB,yEAC0D;IAC9D,4DAAM;IAEN,2EAAsB;IACS,sEAAU;IAAA,4DAAQ;IAEjD,2EAA4B;IACxB,yEACuD;IAC3D,4DAAM;IAUN,2EAAsB;IACS,qEAAS;IAAA,4DAAQ;IAEhD,2EAA4B;IACxB,+DACA;IAAA,yEAC2D;IAC/D,4DAAM;IAEN,2EAAsB;IACS,sEAAU;IAAA,4DAAQ;IAEjD,2EAA4B;IACxB,yEAC4D;IAChE,4DAAM;IAQV,4EAWU;IAE8C,2EAAe;IAAA,4DAAM;IAEzE,keAGJ;IAAA,4DAAM;IAGN,kFAAgB;IACqC,kTAAS,kBAAU,IAAC;IAAC,oEAAQ;IAAA,4DAAI;IAClF,yEAAoE;IAArB,kTAAS,kBAAU,IAAC;IAAC,gEAAI;IAAA,4DAAI;;;IA7F/D,wFAAuB;;;IA6H5B,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,yHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;IAYzC,sEAAmD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1E,2EAAyE;IACrE,yHAA4E;IAChF,4DAAM;;;IADI,0DAA2C;IAA3C,+GAA2C;;;IAajD,sEAAiD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADxE,2EAAuE;IACnE,yHAA0E;IAC9E,4DAAM;;;IADI,0DAAyC;IAAzC,6GAAyC;;;IAY/C,sEAA8C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADrE,2EAAoE;IAChE,yHAAuE;IAC3E,4DAAM;;;IADI,0DAAsC;IAAtC,0GAAsC;;;IAa5C,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,yHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;IAuBzC,sEAA+C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADtE,2EAAqE;IACjE,yHAAwE;IAC5E,4DAAM;;;IADI,0DAAuC;IAAvC,2GAAuC;;;IAY7C,sEAAgD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADvE,2EAAsE;IAClE,yHAAyE;IAC7E,4DAAM;;;IADI,0DAAwC;IAAxC,4GAAwC;;;IAY9C,sEAA4C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADnE,2EAAkE;IAC9D,yHAAqE;IACzE,4DAAM;;;IADI,0DAAoC;IAApC,wGAAoC;;;IAoE1C,sEAA0C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADjE,2EAAgE;IAC5D,yHAAmE;IACvE,4DAAM;;;IADI,0DAAkC;IAAlC,sGAAkC;;;IAYxC,sEAA+C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADtE,2EAAqE;IACjE,yHAAwE;IAC5E,4DAAM;;;IADI,0DAAuC;IAAvC,2GAAuC;;;IAY7C,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,2EAAiE;IAC7D,yHAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;AD14B1D,MAAM,oBAAoB;IAiC7B,YAAoB,gBAAiC,EACzC,eAA+B,EAC/B,WAAwB,EACxB,MAAc,EACd,KAAqB;QAJb,qBAAgB,GAAhB,gBAAgB,CAAiB;QACzC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QAnCjC,4FAA4F;QAC5F,mGAAmG;QAGnG,YAAO,GAAG,KAAK,CAAC;QAChB,SAAI,GAAG,CAAC,CAAC;QAMT,WAAM,GAAQ,sEAAa,CAAC;QAS5B,mBAAc,GAAQ,eAAe,CAAC;QACtC,mBAAc,GAAQ,eAAe,CAAC;QACtC,iBAAY,GAAQ,KAAK,CAAC;QAC1B,mBAAc,GAAQ,EAAE,CAAC;QAIzB,eAAU,GAAQ,KAAK,CAAC;QACxB,eAAU,GAAQ,KAAK,CAAC;QACxB,eAAU,GAAQ,IAAI,CAAC;QAQnB,IAAI,CAAC,KAAK,CAAC,aAAa;aACnB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAElB,IAAI,CAAC,OAAO,mCAAQ,MAAM,CAAC,IAAI,GAAK,MAAM,CAAE,CAAC;YAE7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,mDAAmD;YACnD,2DAA2D;YAC3D,2DAA2D;YAC3D,6CAA6C;YAC7C,6CAA6C;QACjD,CAAC,CAAC,CAAC;QAGP,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,QAAQ;QAEJ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,2CAA2C;YAC3C,6CAA6C;YAC7C,mDAAmD;YACnD,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACjC,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,QAAQ,EAAC,CAAC,EAAE,CAAC;YACb,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,SAAS,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACpC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACjC,UAAU,EAAE,CAAC,EAAE,CAAC;YAEhB,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,oBAAoB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/C,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,eAAe,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC1C,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,gBAAgB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC5C,aAAa,EAAE,CAAC,EAAE,EAAE,4DAAgB,CAAC;YACrC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAC3B,iBAAiB,EAAE,CAAC,EAAE,CAAC;YAEvB,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,gBAAgB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,4DAAgB,CAAC;YAEpC,eAAe,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,CAAC,KAAK,EAAE,+DAAmB,CAAC;YACxC,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,mBAAmB,EAAC,CAAC,EAAE,CAAC;YAExB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,gBAAgB,EAAE,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;QAGH,0BAA0B;QAC1B,wBAAwB;QACxB,0BAA0B;QAC1B,wCAAwC;QACxC,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE7D,UAAU,CAAC,GAAG,EAAE;YACZ,2DAA2D;YAC3D,mEAAmE;YACnE,kEAAkE;QACtE,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAGD,cAAc;QAGV,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,GAAG,2JAA2J,CAAC;QAExK,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;SACJ;QAED,IAAI,IAAI,CAAC,UAAU;YACf,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B;iBACI;gBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B;IACT,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aAGxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,aAAa,CAAC,CAAC;QAEX,IAAI,CAAC,IAAI,eAAe,EAAE;YAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;QACzD,IAAI,CAAC,IAAI,eAAe,EAAE;YAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;IAE7D,CAAC,CAAC,2BAA2B;IAE7B,OAAO,CAAC,CAAC;QAEL,IAAI,CAAC,IAAI,YAAY,EAAE;YAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;QACnD,IAAI,CAAC,IAAI,YAAY,EAAE;YAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAAE;IAEvD,CAAC,CAAC,qBAAqB;IAEvB,cAAc,CAAC,GAAG;QACd,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,oBAAoB,CAAC,GAAG;QAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;YAEb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxF,0GAA0G;YAC1G,kGAAkG;SAGrG;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,+DAA+D;YAC/D,2DAA2D;SAC9D;IAEL,CAAC;IAED,mBAAmB,CAAC,GAAG;QAEnB,IAAI,GAAG,IAAI,IAAI,EAAE;YAEb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAGlG;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC3D;IAEL,CAAC;IAED,mBAAmB,CAAC,GAAG;QAEnB,IAAI,GAAG,IAAI,UAAU,EAAE;YAEnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAE1F;aAAM,IAAI,GAAG,IAAI,SAAS,EAAE;YAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAElG;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YAEtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAEvD;IAGL,CAAC;IAKD,eAAe,CAAC,KAAU;QAEtB,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;aACI;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,cAAc;QACV,oBAAoB;QAEpB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,sBAAsB;YAClD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;iBACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;;gBAEd,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;;YAEG,IAAI,CAAC,IAAI,EAAE,CAAC;IAGpB,CAAC;IAED,QAAQ;QAEJ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,sBAAsB;YAClD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;iBACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;;gBAEd,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;;YAEG,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAID,oBAAoB,CAAC,KAAU;QAE3B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YACnB,KAAK,CAAC,KAAK,IAAI,SAAS;YACxB,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;QAG5B,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI;aAIxC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,8CAA8C;QAC9C,IAAI,WAAW,GAAG,6EAAoB,CAAC;QAIvC,IAAI,GAAG,GAAG;YACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YAChE,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAElE,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,sCAAsC;YACtC,gCAAgC;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,sCAAsC;YACtC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC9C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YACtD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAChD,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YACtD,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACpD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;YAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC9C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK;YAC1E,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK;YACtE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YAChE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAClE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACpE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YAC5D,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK;YAC5E,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACxD,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAClE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,OAAO,EAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE;YACjD,UAAU,EAAE,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE;YACvD,cAAc,EAAE,CAAC,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAE;YAChE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAC9E,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAChD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACpD,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChE,CAAC;QAGF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAEd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC7D,2DAA2D;gBAC3D,mEAAmE;gBACnE,kEAAkE;gBAElE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;aAEtD;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;;wFAxcQ,oBAAoB;kHAApB,oBAAoB;QCNjC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QA8B5C,0EAAgH;QAA5C,gJAAY,qBAAiB,IAAC;QA6B9F,mFAA6C;QACI,2JAAU,YAAQ,CAAC,CAAC,IAAC,mGAAW,oBAAgB,IAA3B;QAC9D,6FAA4B;QAEpB,2EACJ;QAAA,4DAAkB;QAOtB,0EAAuB;QAMkC,yEAAa;QAAA,4DAAQ;QAE9D,2EAAmB;QACY,wDAAc;QAAA,4DAAQ;QAIzD,0EAAkD;QAEL,iEAAK;QAAA,4DAAQ;QAEtD,2EAAmB;QACY,wDAAoC;QAAA,4DAAQ;QACvE,uHAEQ;QAEZ,4DAAM;QAGV,0EAAkD;QAEf,oFAAwB;QAAA,4DAAQ;QAE/D,2EAAmB;QACf,wEACoD;QACxD,4DAAM;QAwBV,0EAAkD;QAEL,8FAAkC;QAAA,4DAAQ;QAEnF,2EAAmB;QAI8B,sMAA4B,mHAC1C,2BAAuB,IADmB;QAIrE,kFAAgE;QAAA,yEAAa;QAAA,4DAAa;QAE1F,kFAA0C;QACtC,mFACJ;QAAA,4DAAa;QAEb,kFAAiC;QAC7B,0EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,+EACJ;QAAA,4DAAa;QAEb,kFAA2E;QACvE,oHACJ;QAAA,4DAAa;QAEb,kFAAoC;QAChC,6EACJ;QAAA,4DAAa;QAEb,kFAA4C;QACxC,qFACJ;QAAA,4DAAa;QAEb,kFAAmC;QAC/B,4EACJ;QAAA,4DAAa;QAEb,kFAAmC;QAC/B,4EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,+EACJ;QAAA,4DAAa;QAEb,kFAAsC;QAClC,mFACJ;QAAA,4DAAa;QAEb,kFAA0B;QACtB,mEACJ;QAAA,4DAAa;QAIjB,wEACqD;QACzD,4DAAM;QAMV,wHAoEQ;QACZ,4DAAM;QAId,kFAAgB;QACmC,wIAAS,cAAU,IAAC;QAAC,gEAAI;QAAA,4DAAI;QAqHpF,0FAA0G;QAA7D,4JAAU,YAAQ,CAAC,CAAC,IAAC,oGAAW,oBAAgB,IAA3B;QAC9D,8FAA4B;QAEpB,8EACJ;QAAA,4DAAkB;QAGtB,0EAAiB;QAEkB,iEAAK;QAAA,4DAAQ;QAE5C,2EAA4B;QACsD,0IAAQ,oBAAgB,IAAC;QAAvG,4DAEyD;QAEzD,2EAAoD;QAChD,wHACJ;QAAA,4DAAM;QAEN,mHAEM;QAGV,4DAAM;QAEN,2EAAsB;QACS,yEAAa;QAAA,4DAAQ;QAEpD,2EAA4B;QACxB,wEAEiE;QACjE,mHAEM;QACV,4DAAM;QAEN,2EAAsB;QACS,mEAAO;QAAA,4DAAQ;QAE9C,2EAA4B;QACqB,sMAA4B,mHAC1C,2BAAuB,IADmB;QAIrE,kFAAuD;QAAA,yEAAa;QAAA,4DAAa;QACjF,kFAAuC;QAAA,8EAAkB;QAAA,4DAAa;QACtE,kFAAkC;QAAA,0EAAa;QAAA,4DAAa;QAC5D,mFAA8B;QAAA,sEAAS;QAAA,4DAAa;QACpD,mFAAuC;QAAA,+EAAkB;QAAA,4DAAa;QACtE,mFAAkC;QAAA,0EAAa;QAAA,4DAAa;QAC5D,mFAAqC;QAAA,6EAAgB;QAAA,4DAAa;QAClE,mFAAqC;QAAA,6EAAgB;QAAA,4DAAa;QAClE,mFAAmC;QAAA,2EAAc;QAAA,4DAAa;QAE9D,mFAAiC;QAAA,yFAA4B;QAAA,4DAAa;QAKlF,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEACsD;QAE1D,4DAAM;QAEN,4EAAsB;QACS,qEAAQ;QAAA,4DAAQ;QAE/C,4EAA4B;QACxB,yEAE4D;QAC5D,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QASjD,4EAA4B;QACxB,yEAEyD;QACzD,qHAEM;QACV,4DAAM;QAGN,4EAAsB;QACS,sEAAS;QAAA,4DAAQ;QAEhD,4EAA4B;QACxB,yEAE6D;QAC7D,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,yEAE8D;QAC9D,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QAIgC,2IAAQ,oBAAgB,IAAC;QAFjF,4DAEoF;QACpF,qHAEM;QACV,4DAAM;QAGV,sHA2DM;QAEN,mFAAgB;QACqC,yIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,yIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,sJAgGsB;QAEtB,2FAA0G;QAA7D,6JAAU,YAAQ,CAAC,CAAC,IAAC,qGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,8EACJ;QAAA,4DAAkB;QAItB,4EAA6F;QACzF,uJACJ;QAAA,4DAAM;QAGN,4EAA6F;QAG3E,4JAAU,wCAAoC,IAAC;QAAC,qEAAQ;QAAA,6EAAgC;QAAA,6EAAgB;QAAA,4DAAO;QAGjI,2EAAiB;QAEkB,kEAAK;QAAA,4DAAQ;QAE5C,4EAA4B;QACxB,yEAEiE;QACjE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,0EAAa;QAAA,4DAAQ;QAEpD,4EAA4B;QACxB,yEAEyE;QACzE,qHAEM;QACV,4DAAM;QAGN,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEAE8D;QAC9D,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,qEAAQ;QAAA,4DAAQ;QAE/C,4EAA4B;QACxB,yEAEoE;QACpE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAGjD,4EAA4B;QACxB,yEAEiE;QACjE,qHAEM;QACV,4DAAM;QAUN,4EAAsB;QAES,sEAAS;QAAA,4DAAQ;QAGhD,4EAA4B;QAExB,yEAEqE;QACrE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,yEAEsE;QACtE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QACxB,yEAEkE;QAClE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,4EAAe;QAAA,4DAAQ;QAEtD,4EAA4B;QACxB,yEACiE;QAErE,4DAAM;QAEN,4EAAsB;QACS,wEAAW;QAAA,4DAAQ;QAElD,4EAA4B;QACxB,yEAC6D;QAEjE,4DAAM;QAGV,mFAAgB;QACqC,yIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,yIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,2FAA0G;QAA7D,6JAAU,YAAQ,CAAC,CAAC,IAAC,qGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,4FACJ;QAAA,4DAAkB;QAGtB,2EAAiB;QAYyB,wJAAS,wBAAoB,UAAU,CAAC,IAAC;QACnE,sEAAQ;QAAA,6EAAmD;QAAA,6EAAgB;QAAA,4DAAO;QAEtF,yFAAsE;QAAzC,wJAAS,wBAAoB,SAAS,CAAC,IAAC;QACjE,sEAAQ;QAAA,6EAAmD;QAAA,4EAAe;QAAA,4DAAO;QAErF,yFAAwE;QAAtC,wJAAS,wBAAoB,MAAM,CAAC,IAAC;QACnE,6EAAgC;QAAA,kEAAK;QAAA,4DAAO;QAKxD,4EAAsB;QACS,kEAAK;QAAA,4DAAQ;QAE5C,4EAA4B;QACxB,yEAEgE;QAChE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA4B;QACxB,yEAEqE;QACrE,qHAEM;QACV,4DAAM;QAEN,4EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA4B;QACxB,yEAEiE;QACjE,qHAEM;QACV,4DAAM;QAIV,mFAAgB;QACqC,yIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,0EAAoE;QAArB,yIAAS,cAAU,IAAC;QAAC,iEAAI;QAAA,4DAAI;QAIpF,2FAA0G;QAA7D,6JAAU,YAAQ,CAAC,CAAC,IAAC,qGAAW,oBAAgB,IAA3B;QAC9D,+FAA4B;QAEpB,mFACJ;QAAA,4DAAkB;QAGtB,4EAA4G;QAExG,yGAA2C;QAAA,2EAAQ;QAAA,kEAAK;QAAA,4DAAS;QAAC,mLAAqH;QAAA,6EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,+DAElP;QAAA,4EAA+B;QAQW,gEAAG;QAAA,4DAAmB;QACpD,yFAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,yFAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QAQvF,4EAAgH;QAE5G,wGAA0C;QAAA,2EAAQ;QAAA,iEAAI;QAAA,4DAAS;QAAC,iKAAmG;QAAA,6EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,+DAE9N;QAAA,4EAA+B;QAOW,gEAAG;QAAA,4DAAmB;QACpD,yFAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,yFAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QASvF,2EAAoE;QAAqC,oFAAuB;QAAA,4DAAO;QAAC,oEAAM;QAAA,4DAAK;QAGnJ,2EAA6D;QAEjC,iOAAoK;QAAA,4DAAK;QAEjM,2EAAwB;QAAA,mKAAsG;QAAA,4DAAK;QAEnI,2EAAwB;QAAA,uKAA0G;QAAA,4DAAK;QAEvI,2EAAwB;QAAA,qKAAwG;QAAA,4DAAK;QAErI,2EAAwB;QAAA,qRAAwN;QAAA,4DAAK;QAErP,2EAAwB;QAAQ,mIAAsE;QAAA,4DAAS;QAE/G,2EAAwB;QAAA,uPAA0L;QAAA,4DAAK;QAEvN,2EAAwB;QAAA,sJAAyF;QAAA,0EAA8D;QAAA,iFAAoB;QAAA,4DAAI;QAAA,8DAAC;QAAA,4DAAK;QAE7M,2EAAwB;QAAA,oSAAuO;QAAA,4DAAK;QAEpQ,4EAA6C;QAAA,gFAAmB;QAAA,4DAAM;QAEtE,2EAAwB;QAAA,sNAAyJ;QAAA,4DAAK;QAEtL,4EAA6C;QAAA,uFAA0B;QAAA,4DAAM;QAE7E,2EAAwB;QAAA,yPAA4L;QAAA,4DAAK;QAEzN,2EAAwB;QAAA,yHAA4D;QAAA,4DAAK;QAEzF,2EAAwB;QAAA,4IAA+E;QAAA,4DAAK;QAE5G,4EAA6C;QAAA,mGAAsC;QAAA,4DAAM;QAEzF,2EAAwB;QAAA,8MAAiJ;QAAA,4DAAK;QAMlL,4EAA0B;QAER,4JAAU,kCAA8B,IAAC;QAAC,4GAA+C;QAAA,4DAAe;QAK1H,mFAAgB;QACqC,yIAAS,cAAU,IAAC;QAAC,qEAAQ;QAAA,4DAAI;QAClF,+EAA2G;QAAA,mEAAM;QAAA,4DAAS;;QAn+BpI,0DAAyB;QAAzB,sFAAyB;QA8BF,0DAAuB;QAAvB,oFAAuB;QAoBO,2DAAc;QAAd,+EAAc;QASd,0DAAoC;QAApC,6GAAoC;QACnC,0DAAgC;QAAhC,gGAAgC;QA8Cf,2DAA4B;QAA5B,uFAA4B;QAoDlE,2DAAwB;QAAxB,qFAAwB;QAQ/B,0DAA4C;QAA5C,4GAA4C;QA+L/C,0DAAuB;QAAvB,oFAAuB;QAazB,0DAA0D;QAA1D,iLAA0D;QAO3D,0DAAmB;QAAnB,mFAAmB;QAYlB,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QASY,0DAA4B;QAA5B,uFAA4B;QAiClE,2DAA8C;QAA9C,iKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QAiBrB,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAWlB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAUtB,0DAAgD;QAAhD,mKAAgD;QAEjD,0DAAwB;QAAxB,wFAAwB;QAWvB,0DAAyC;QAAzC,4JAAyC;QAE1C,0DAAoB;QAApB,oFAAoB;QAM5B,0DAAmG;QAAnG,sKAAmG;QAmEvF,0DAAkE;QAAlE,kIAAkE;QAkGnE,0DAAuB;QAAvB,oFAAuB;QAyBzB,2DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAU1B,0DAA2D;QAA3D,8KAA2D;QAE5D,0DAAmC;QAAnC,mGAAmC;QAWlC,0DAAyD;QAAzD,4KAAyD;QAE1D,0DAAiC;QAAjC,iGAAiC;QAUhC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAA8B;QAA9B,8FAA8B;QAW7B,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAqB1B,0DAAuD;QAAvD,0KAAuD;QAExD,0DAA+B;QAA/B,+FAA+B;QAU9B,0DAAwD;QAAxD,2KAAwD;QAEzD,0DAAgC;QAAhC,gGAAgC;QAU/B,0DAAoD;QAApD,uKAAoD;QAErD,0DAA4B;QAA5B,4FAA4B;QA8BzB,2DAAuB;QAAvB,oFAAuB;QAoCzB,2DAAkD;QAAlD,qKAAkD;QAEnD,0DAA0B;QAA1B,0FAA0B;QAUzB,0DAAuD;QAAvD,0KAAuD;QAExD,0DAA+B;QAA/B,+FAA+B;QAU9B,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAaxB,0DAAuB;QAAvB,oFAAuB;QAuGgB,2DAAsD;QAAtD,uHAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzgCE;AAC3C;AAMb;;;;;;;;;;;;;ICUhD,iFAA6D;IAAA,uDAAe;IAAA,4DAAa;;;IAA5C,4EAAe;IAAC,0DAAe;IAAf,gFAAe;;;IAmB5E,iFAAyE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA5D,uFAA0B;IAAC,0DAAoB;IAApB,qFAAoB;;;IAO7F,iFAAqE;IAAA,uDAAgB;IAAA,4DAAa;;;IAApD,mFAAsB;IAAC,0DAAgB;IAAhB,iFAAgB;;;IAOrF,iFAAiE;IAAA,uDAAa;IAAA,4DAAa;;;IAA9C,gFAAmB;IAAC,0DAAa;IAAb,8EAAa;;;IAU9E,sEAAmC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD7D,0EAAoD;IAChD,sHAA+D;IACnE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;AD7C9C,MAAM,kBAAkB;IA6B3B,YAAY,iDAAiD;IAClD,WAA2B,EAC1B,eAA+B,EAC/B,WAAwB;QAFzB,gBAAW,GAAX,WAAW,CAAgB;QAC1B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QA9B7B,WAAM,GAAG,YAAY,CAAC;QAE7B,aAAQ,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAQ5C,WAAM,GAAQ,sEAAa,CAAC;QAC5B,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAQ,CAAC,CAAC;QACvB,mBAAc,GAAQ,CAAC,CAAC;QAExB,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;QAGN,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;QAEhC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QACjC,sBAAiB,GAAG,IAAI,uDAAY,EAAO,CAAC;QAQlD,EAAE;IACN,CAAC;IACD,WAAW,CAAC,OAAsB;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,UAAU,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACrC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,cAAc,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,+DAAmB,CAAC;YAC1D,IAAI,EAAE,CAAC,GAAG,EAAE,+DAAmB,CAAC;YAChC,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,EAAE;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,MAAW;QAEpB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAE5B,2EAA2E;QAC3E,qDAAqD;QAErD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjE,sEAAsE;QACtE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAG1C,CAAC;IAED,QAAQ,CAAC,GAAU,EAAE,KAAoC;QAErD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,IAAI,GAAG,IAAI,IAAI,EAAE;gBACb,wCAAwC;gBACxC,+CAA+C;gBAC/C,iDAAiD;gBACjD,uDAAuD;gBAEvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7D;iBACI,IAAI,GAAG,IAAI,IAAI,EAAE;gBAClB,wCAAwC;gBACxC,+CAA+C;gBAC/C,iDAAiD;gBACjD,uDAAuD;gBAEvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7D;iBACI,IAAI,GAAG,IAAI,IAAI,EAAE;gBAClB,wCAAwC;gBACxC,+CAA+C;gBAC/C,iDAAiD;gBACjD,uDAAuD;gBAEvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7D;iBACI,IAAI,GAAG,IAAI,IAAI,EAAE;gBAClB,wCAAwC;gBACxC,+CAA+C;gBAC/C,iDAAiD;gBACjD,uDAAuD;gBAEvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7D;YAED,2BAA2B;SAC9B;IAEL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,eAAe;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,iBAAiB,CAAC,IAAS;QAEvB,gFAAgF;QAChF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;aACnC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,aAAa;QAET,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;gBAG9B,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;oBAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC;oBACxE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD;aACJ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5C,eAAe;QACX,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAG9G,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACpD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK;YAC7D,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC5D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACjD,KAAK,EAAE;gBACH,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACnD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;aACrD;YACD,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YACjE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACnD,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAG5D,CAAC;QAGF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,oBAAoB;gBACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;aAEjC;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB;QAGhB,IAAI,GAAG,GAAG;YACN,KAAK,EAAE;gBACH,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;gBAC1C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBACvD,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACnD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;aACrD;YACD,sDAAsD;YACtD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK;YAC7D,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAE5D,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACnD,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACzD,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YACjE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACjD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM;SACpD,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACxB,oBAAoB;gBAEpB,0BAA0B;aAE7B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QAEV,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAEpB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aACI;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;IAIL,CAAC;IAED,YAAY;QACR,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;;oFA3VQ,kBAAkB;gHAAlB,kBAAkB;;;;;;QCf/B,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAGnD,yEAA6B;QAG8B,8IAAY,oBAAgB,IAAC;QAGhF,yEAAiB;QAGkB,iEAAM;QAAA,4DAAQ;QACzC,mFAC2C;QADO,wKAAmB,6BAAyB,IAAC;QAE3F,8HAAyF;QAC7F,4DAAa;QAcjB,0EAAmB;QACY,oEAAQ;QAAA,4DAAQ;QAC3C,qFAC2C;QACvC,8HAA0G;QAC9G,4DAAa;QAEjB,0EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,qFAC2C;QACvC,8HAAkG;QACtG,4DAAa;QAEjB,0EAAmB;QACY,oEAAQ;QAAA,4DAAQ;QAC3C,qFAC2C;QACvC,8HAA2F;QAC/F,4DAAa;QAGjB,0EAAmB;QACY,iEAAK;QAAA,4DAAQ;QACxC,wEAEyD;QACzD,iHAEM;QAEV,4DAAM;QAEN,0EAAmB;QACY,wEAAY;QAAA,4DAAQ;QAE/C,qFACuD;QADO,mMAA2B;QAGrF,kFAAgE;QAAA,uEAAW;QAAA,4DAAa;QAExF,kFAAsB;QAClB,sEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,yEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,uEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAKrB,0EAAmB;QACY,uEAAW;QAAA,4DAAQ;QAC9C,wEACmD;QACvD,4DAAM;QAEN,0EAAmB;QACY,wEAAY;QAAA,4DAAQ;QAC/C,wEACiD;QACrD,4DAAM;QAGN,2EAAoB;QAIO,iEAAK;QAAA,4DAAY;QAC5B,6EAEoE;QADxC,0JAAc,aAAS,IAAI,SAAS,IAAC;QADjE,4DAEoE;QACpE,wFAA6E;QAEjF,4DAAiB;QAGrB,2EAAsB;QAEH,iEAAK;QAAA,4DAAY;QAC5B,6EAEoE;QADxC,0JAAc,aAAS,IAAI,SAAS,IAAC;QADjE,4DAEoE;QACpE,wFAA6E;QAEjF,4DAAiB;QAGrB,2EAAsB;QAEH,iEAAK;QAAA,4DAAY;QAC5B,6EAEoE;QADxC,0JAAc,aAAS,IAAI,SAAS,IAAC;QADjE,4DAEoE;QACpE,wFAA6E;QAEjF,4DAAiB;QAGrB,2EAAsB;QAEH,iEAAK;QAAA,4DAAY;QAC5B,6EAEoE;QADxC,0JAAc,aAAS,IAAI,SAAS,IAAC;QADjE,4DAEoE;QACpE,wFAA6E;QAEjF,4DAAiB;QASjC,qEAKM;QAEN,2EAA0B;QAEiB,2IAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,4EAAc;QAGN,mEACJ;QAAA,4DAAS;;;;;;QApLW,0DAAU;QAAV,2EAAU;QAMZ,0DAAwB;QAAxB,qFAAwB;QASR,0DAAa;QAAb,mFAAa;QAmBd,0DAAe;QAAf,qFAAe;QAOhB,0DAAgB;QAAhB,sFAAgB;QAOhB,0DAAe;QAAf,qFAAe;QAOxC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QASqC,0DAA2B;QAA3B,sFAA2B;QAkD7D,2DAA6B;QAA7B,+EAA6B;QAGZ,0DAAmB;QAAnB,qEAAmB;QAQpC,0DAA6B;QAA7B,+EAA6B;QAGZ,0DAAmB;QAAnB,qEAAmB;QAQpC,0DAA6B;QAA7B,+EAA6B;QAGZ,0DAAmB;QAAnB,qEAAmB;QAQpC,0DAA6B;QAA7B,+EAA6B;QAGZ,0DAAmB;QAAnB,qEAAmB;QAyBxD,0DAA8B;QAA9B,2FAA8B;;;;;;;;;;;;;;;;;;AClK/C,MAAM,uBAAuB;IAKhC,MAAM,CAAC,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,MAAY;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,YAAY,QAAQ,EAAE;YACzC,8DAA8D;YAC9D,MAAM,MAAM,GAAG;gBACX,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;gBAC9B,eAAe;aAClB;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAEpC;IACL,CAAC;;8FAzBQ,uBAAuB;qHAAvB,uBAAuB;QAT5B,yEAA8B;QACqB,gJAAS,mBAAe,IAAC;QAAkB,uEAA0B;QAAA,uDAAS;QAAA,4DAAI;;QAAb,0DAAS;QAAT,0EAAS;;;;;;;;;;;;;;;;;;ACYlI,MAAM,yBAAyB;IAOlC,MAAM,CAAC,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI;IACzD,CAAC;IAED,OAAO,CAAC,MAAY;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,YAAY,QAAQ,EAAE;YACzC,8DAA8D;YAE9D,MAAM,MAAM,GAAG;gBACX,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;gBACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;gBACjD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;aACjC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAE/B;IACL,CAAC;;kGA/BQ,yBAAyB;uHAAzB,yBAAyB;QAVtB,yEAAyB;QAInB,sJAAS,mBAAe,IAAC;QAH3B,4DAKE;;QAJA,0DAAW;QAAX,iFAAW;QAGX,qFAAwB;;;;;;;;;;;;;;;;;AChBiC;;AAexE,MAAM,sBAAsB;IAkB/B;QAdU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAc9B,CAAC;IAZjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGD,QAAQ;IACR,CAAC;;4FArBQ,sBAAsB;oHAAtB,sBAAsB;QAV1B,uEAAsF;QAAvC,yIAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QAC7H,uEAAwF;QAAzC,yIAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;;ACNxD;AAIF;AAEgB;;;;;;;AAS/E,MAAM,8BAA8B;IAiBvC,YAAoB,OAAe,EACvB,KAAe,EACf,OAAkB,EAClB,cAA8B;QAHtB,YAAO,GAAP,OAAO,CAAQ;QACvB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAW;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAfnC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAe3C,CAAC;IAbD,MAAM,CAAC,MAAW;QACd,EAAE;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3F,mDAAmD;IACvD,CAAC;IAWM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAErB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhE,kCAAkC;YAClC,wBAAwB;YACxB,8BAA8B;YAC9B,8CAA8C;YAC9C,8DAA8D;SACjE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElC,CAAC;IAID,eAAe;IACf,MAAM;IACN,+DAA+D;IAC/D,2BAA2B;IAC3B,+BAA+B;IAC/B,0BAA0B;IAE1B,SAAS;IACT,GAAG;IAKH,MAAM,CAAC,EAAO;QAIV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;qBAE3D;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAID,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,cAAc,CAAC,IAAS,EAAE,MAAc;QAEpC,6DAA6D;QAC7D,yBAAyB;QACzB,uBAAuB;QACvB,6CAA6C;QAC7C,KAAK;QAEL,8EAA8E;QAC9E,8BAA8B;QAC9B,MAAM;QACN,8BAA8B;QAC9B,qCAAqC;QACrC,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;IAET,CAAC;IAED,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;4GA7HQ,8BAA8B;4HAA9B,8BAA8B;QAHnC,wFAAgE;QAA5C,gLAAa,mBAAe,IAAC;QAAe,4DAAqB;;QAAnC,0EAAa;;;;;;;;;;;;;;;;;;;;ACLhE,MAAM,2BAA2B;IAEtC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;sGALU,2BAA2B;yHAA3B,2BAA2B;QCPxC,uEAAM;QAEF,qEAAsB;QAKtB,wEAAO;QAAA,mEAAQ;QAAA,4DAAQ;QA8BvB,qEAAiG;QA0NrG,4DAAO;QAEP,4EAAwB;QAQ2E,kEAAC;QAAA,4DAAI;QACxE,0EAAmB;QAEc,sEAAU;QAAA,4DAAI;QACvC,yEAA0B;QAAA,sEAAqE;QAAA,4DAAI;QACnG,yEAAuB;QAAA,sEAAyE;QAAA,4DAAI;QACpG,2EAA8B;QAEM,gEAAI;QAAA,4DAAM;QACtC,2EAAoB;QACN,sEAAU;QAAA,4DAAO;QAE/B,2EAAiB;QAGgD,gEAAI;QAAA,4DAAI;QACjE,yEAA0B;QAAA,sEAAqE;QAAA,4DAAI;QACnG,sEAAI;QACqD,gEAAI;QAAA,4DAAM;QAE/D,0EAAuB;QACiD,0EAAc;QAAA,4DAAI;QACtF,yEAA0B;QAAA,sEAAqE;QAAA,4DAAI;QACnG,sEAAI;QACyD,gEAAI;QAAA,4DAAM;QACnE,sEAAI;QAAiG,8EAAkB;QAAA,4DAAI;QAC3H,sEAAI;QAA4E,yFAA6B;QAAA,4DAAI;QAMrJ,0EAAuB;QACsF,2EAAe;QAAA,4DAAI;QAC5H,yEAA0B;QAAA,sEAAqE;QAAA,4DAAI;QACnG,sEAAI;QACyD,gEAAI;QAAA,4DAAM;QACnE,sEAAI;QAA0F,yEAAa;QAAA,4DAAI;QAC/G,sEAAI;QAA8D,8EAAkB;QAAA,4DAAI;QACxF,sEAAI;QAAgE,kFAAsB;QAAA,4DAAI;QAC9F,sEAAI;QAAiG,4GAAgD;QAAA,4DAAI;QAMrK,0EAAuB;QACgD,oEAAQ;QAAA,4DAAI;QAC/E,yEAA0B;QAAA,sEAAqE;QAAA,4DAAI;QACnG,sEAAI;QACyD,gEAAI;QAAA,4DAAM;QACnE,sEAAI;QAA8D,0EAAa;QAAA,4DAAI;QACnF,uEAAI;QAA8D,0EAAa;QAAA,4DAAI;QACnF,uEAAI;QAA4D,6EAAgB;QAAA,4DAAI;QACpF,uEAAI;QAAgE,wFAA2B;QAAA,4DAAI;QAMnH,2EAAuB;QACqE,6FAAgC;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAyE,8EAAiB;QAAA,4DAAI;QAClG,uEAAI;QAAiD,uFAA0B;QAAA,4DAAI;QAS3G,4EAA4B;QAEiC,gEAAG;QAAA,4DAAI;QAChE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACqD,iEAAI;QAAA,4DAAM;QAE/D,2EAAuB;QACiD,2EAAc;QAAA,4DAAI;QACtF,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAiG,+EAAkB;QAAA,4DAAI;QAC3H,uEAAI;QAA4E,yFAA4B;QAAA,4DAAI;QAChH,uEAAI;QAA+E,2FAA8B;QAAA,4DAAI;QAMrI,2EAAuB;QACsF,4EAAe;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA0F,0EAAa;QAAA,4DAAI;QAC/G,uEAAI;QAA8D,+EAAkB;QAAA,4DAAI;QAMhG,2EAAuB;QACgD,qEAAQ;QAAA,4DAAI;QAC/E,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA6D,yEAAY;QAAA,4DAAI;QAMzF,2EAAuB;QACqE,6FAAgC;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAyE,8EAAiB;QAAA,4DAAI;QAClG,uEAAI;QAAiD,sFAAyB;QAAA,4DAAI;QAS1F,4EAA4B;QAEmC,kEAAK;QAAA,4DAAI;QACpE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACqD,iEAAI;QAAA,4DAAM;QAE/D,2EAAuB;QACmD,2EAAc;QAAA,4DAAI;QACxF,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAmG,+EAAkB;QAAA,4DAAI;QAC7H,uEAAI;QAAiD,4EAAe;QAAA,4DAAI;QAMxF,2EAAuB;QACkD,mGAAsC;QAAA,4DAAI;QAC/G,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAsD,+EAAkB;QAAA,4DAAI;QAChF,uEAAI;QAA2F,0EAAa;QAAA,4DAAI;QAChH,uEAAI;QAA8D,0EAAa;QAAA,4DAAI;QACnF,uEAAI;QAA6D,yEAAY;QAAA,4DAAI;QACjF,uEAAI;QAAiD,uFAA0B;QAAA,4DAAI;QAM3F,2EAAuB;QACqD,wEAAW;QAAA,4DAAI;QACvF,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAoF,4FAA+B;QAAA,4DAAI;QAMnI,2EAAuB;QACqE,6FAAgC;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAyE,8EAAiB;QAAA,4DAAI;QAc1G,2EAAqB;QACU,yEAAY;QAAA,4DAAI;QAC3C,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,0EAAuB;QAAA,uEAAyE;QAAA,4DAAI;QACpG,4EAA8B;QAEM,iEAAI;QAAA,4DAAM;QACtC,4EAAoB;QACN,yEAAY;QAAA,4DAAO;QAEjC,4EAAiB;QAGwG,oEAAO;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACqD,iEAAI;QAAA,4DAAM;QAE/D,2EAAuB;QACyG,6EAAgB;QAAA,4DAAI;QAChJ,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAiG,2EAAc;QAAA,4DAAI;QACvH,uEAAI;QAAiG,0EAAa;QAAA,4DAAI;QACtH,uEAAI;QAAuD,qFAAwB;QAAA,4DAAI;QACvF,uEAAI;QAAsD,2EAAc;QAAA,4DAAI;QAM5G,2EAAuB;QAC6G,gFAAmB;QAAA,4DAAI;QACvJ,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA4E,0FAA6B;QAAA,4DAAI;QACjH,uEAAI;QAA2E,yFAA4B;QAAA,4DAAI;QAC/G,uEAAI;QAA+E,2FAA8B;QAAA,4DAAI;QAM7H,2EAAuB;QACqE,6FAAgC;QAAA,4DAAI;QAC5H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAAyE,4EAAe;QAAA,4DAAI;QAChG,uEAAI;QAAiD,uFAA0B;QAAA,4DAAI;QACnF,uEAAI;QAAiD,sFAAyB;QAAA,4DAAI;QAClF,uEAAI;QAAiD,uFAA0B;QAAA,4DAAI;QACnF,uEAAI;QAAiD,4EAAe;QAAA,4DAAI;QAShF,4EAA4B;QAEkF,4EAAe;QAAA,4DAAI;QAC7H,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACqD,iEAAI;QAAA,4DAAM;QAE/D,2EAAuB;QACkG,0EAAa;QAAA,4DAAI;QACtI,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA0F,iEAAI;QAAA,4DAAI;QACtG,uEAAI;QAA0F,gEAAG;QAAA,4DAAI;QACrG,uEAAI;QAA2F,iEAAI;QAAA,4DAAI;QACvG,uEAAI;QAAyE,6EAAgB;QAAA,4DAAI;QAMjH,2EAAuB;QACyD,+EAAkB;QAAA,4DAAI;QAClG,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA6D,iEAAI;QAAA,4DAAI;QACzE,uEAAI;QAA6D,gEAAG;QAAA,4DAAI;QACxE,uEAAI;QAA6D,iEAAI;QAAA,4DAAI;QAMjF,2EAAuB;QAC4D,uEAAU;QAAA,4DAAI;QAC7F,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA+D,iEAAI;QAAA,4DAAI;QAC3E,uEAAI;QAAiG,6GAAgD;QAAA,4DAAI;QASjK,4EAA4B;QAE+B,qEAAQ;QAAA,4DAAI;QACnE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACqD,iEAAI;QAAA,4DAAM;QAE/D,2EAAuB;QACoC,sEAAS;QAAA,4DAAI;QACpE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA6D,iEAAI;QAAA,4DAAI;QACzE,uEAAI;QAA4D,gEAAG;QAAA,4DAAI;QACvE,uEAAI;QAA6D,iEAAI;QAAA,4DAAI;QAMzF,2EAAuB;QACoC,yEAAY;QAAA,4DAAI;QACvE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA2D,iEAAI;QAAA,4DAAI;QACvE,uEAAI;QAA+D,4EAAe;QAAA,4DAAI;QAM9F,2EAAuB;QACoC,yEAAY;QAAA,4DAAI;QACvE,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,uEAAI;QACyD,iEAAI;QAAA,4DAAM;QACnE,uEAAI;QAA6D,0EAAa;QAAA,4DAAI;QAClF,uEAAI;QAA4D,yEAAY;QAAA,4DAAI;QAcxF,2EAAqB;QACM,qEAAQ;QAAA,4DAAI;QACnC,0EAA0B;QAAA,uEAAqE;QAAA,4DAAI;QACnG,0EAAuB;QAAA,uEAAyE;QAAA,4DAAI;QACpG,4EAA8B;QAEM,iEAAI;QAAA,4DAAM;QACtC,2EAAsB;QACa,yEAAY;QAAA,4DAAI;QAC/C,uEAAI;QAAsB,oEAAO;QAAA,4DAAI;QACrC,uEAAI;QAAwB,qEAAQ;QAAA,4DAAI;QACxC,uEAAI;QAAgC,kFAAqB;QAAA,4DAAI;QAC7D,uEAAI;QAAiC,+EAAkB;QAAA,4DAAI;QAK3E,2EAAqB;QACG,wEAAW;QAAA,4DAAI;QAEvC,2EAAqB;QACQ,uEAAU;QAAA,4DAAI;QAI3C,8EAA4C;QAAA,mEAAC;QAAA,4DAAO;QACpD,6EAAkB;QACF,wEAAgF;QAAA,4DAAI;QAEpG,wEAAyB;QACzB,4DAAM;QACN,6EAA0B;QACH,8JAAiG;QAAA,4DAAI;QACxH,4EAAqB;QACkB,mEAAM;QAAA,4DAAI;QAE7C,4EAAmC;QAC+B,8DAAC;QAAA,4DAAI;QACnE,6EAAqB;QACb,sEAAS;QAAA,4DAAK;QAClB,2EAAqB;QAAA,0FAA6B;QAAA,4DAAI;QAAE,wEAAiD;QACzG,6EAA6C;QACzC,uEACK;QAEL,6EAAsB;QAIJ,sEAAS;QAAA,4DAAO;QACtB,gFAA0B;QAAA,mEAAC;QAAA,8EAA4B;QAAA,iEAAI;QAAA,4DAAO;QAEtE,6EAAsB;QACZ,gEAAG;QAAA,4DAAO;QAChB,gFAA0B;QAAA,mEAAC;QAAA,8EAA2B;QAAA,iEAAI;QAAA,4DAAO;QAErE,6EAAsB;QACZ,wEAAW;QAAA,4DAAO;QACxB,gFAA0B;QAAA,mEAAC;QAAA,8EAA6B;QAAA,iEAAI;QAAA,4DAAO;QAQnF,6EAAyB;QACU,sEAAS;QAAA,4DAAI;QAC5C,gFAAsH;QAAA,wEAAW;QAAA,4DAAS;QAQ9J,6EAA8C;QASd,wEAA8H;QAClI,4DAAI;QACJ,4EAAuB;QACnB,wEACM;QACV,4DAAM;QAER,6EAAwF;QAGlF,wEAA6H;QACjI,4DAAI;QACJ,4EAAuB;QACnB,wEACM;QACV,4DAAM;QAER,6EAAwF;QAGlF,wEAA4H;QAChI,4DAAI;QACJ,4EAAuB;QACnB,wEACM;QACV,4DAAM;QAER,6EAAqG;QAG/F,wEAA8H;QAClI,4DAAI;QACJ,4EAAuB;QACnB,wEACM;QACV,4DAAM;QAER,6EAAqG;QAG/F,wEAA6H;QACjI,4DAAI;QACJ,4EAAuB;QACnB,wEACM;QACV,4DAAM;QAU1B,gFAAwE;QAAA,qEAAQ;QAAA,4DAAS;QAAA,gFAAwE;QAAA,iEAAI;QAAA,4DAAS;QAKtL,6EAAkB;QAMoG,0FAA6B;QAAA,4DAAI;QAC/H,uEAAI;QAA2E,yFAA4B;QAAA,4DAAI;QAC/G,uEAAI;QAA2E,2FAA8B;QAAA,4DAAI;QAGzH,6EAA2B;QAEnB,yEAAsD;QAC+B,4EAAiB;QAClG,0EAAkE;QAGtE,4DAAM;QAQ9B,6EAAwD;QACpD,wEAA2B;QAC3B,6EAA4B;QAOA,wEAA6H;QACjI,4DAAM;QACN,6EAAuB;QACf,gEAAG;QAAA,4DAAK;QACZ,sEAAG;QAAA,qJAAwF;QAAA,4DAAI;QAGvG,6EAA6B;QAEjB,mEAAM;QAAA,4DAAK;QACf,2EAA0F;QAAA,mEAAM;QAAA,4DAAI;QACpG,6EAAgD;QAExC,wEAAmC;QACvC,4DAAM;QACN,6EAAsB;QAAwB,kEAAK;QAAA,sEAA8C;QAAA,4DAAI;QAErG,4EAA0C;QACgF,qEAAQ;QAAA,4DAAK;QAGvI,6EAAgC;QAE0D,oEAAO;QAAA,yEAAyC;QAAA,4DAAI;QAE1I,6EAAuE;QAE3D,0EAA6F;QAAA,yEAAM;QAAA,iEAAI;QAAA,4DAAO;QAClH,uEAAI;QAAA,0EAAoH;QAAA,yEAAM;QAAA,gEAAG;QAAA,4DAAO;QACxI,uEAAI;QAAA,0EAA8F;QAAA,yEAAM;QAAA,iEAAI;QAAA,4DAAO;QACnH,uEAAI;QAAA,0EAA+F;QAAA,yEAAM;QAAA,kEAAK;QAAA,4DAAO;QACrH,uEAAI;QAAA,0EAAiG;QAAA,yEAAM;QAAA,oEAAO;QAAA,4DAAO;QAIrI,6EAAgC;QAE0D,qEAAQ;QAAA,yEAAyC;QAAA,4DAAI;QAE3I,6EAAuE;QAE3D,0EAAmG;QAAA,yEAAM;QAAA,oEAAO;QAAA,4DAAO;QAC3H,uEAAI;QAAA,0EAAmG;QAAA,yEAAM;QAAA,oEAAO;QAAA,4DAAO;QAC3H,uEAAI;QAAA,0EAAyG;QAAA,yEAAM;QAAA,uEAAU;QAAA,4DAAO;QACpI,uEAAI;QAAA,0EAAmG;QAAA,yEAAM;QAAA,oEAAO;QAAA,4DAAO;QAC3H,uEAAI;QAAA,0EAAuG;QAAA,yEAAM;QAAA,sEAAS;QAAA,4DAAO;QACjI,uEAAI;QAAA,0EAAmG;QAAA,yEAAM;QAAA,oEAAO;QAAA,4DAAO;QAC3H,uEAAI;QAAA,0EAA+F;QAAA,yEAAM;QAAA,kEAAK;QAAA,4DAAO;QACrH,uEAAI;QAAA,0EAAiG;QAAA,yEAAM;QAAA,mEAAM;QAAA,4DAAO;QACxH,uEAAI;QAAA,0EAAyG;QAAA,yEAAM;QAAA,uEAAU;QAAA,4DAAO;QACpI,uEAAI;QAAA,0EAAyH;QAAA,yEAAM;QAAA,+EAAkB;QAAA,4DAAO;QAC5J,uEAAI;QAAA,0EAAiG;QAAA,yEAAM;QAAA,mEAAM;QAAA,4DAAO;QAIpI,6EAAgC;QACiF,wEAAW;QAAA,yEAAyC;QAAA,4DAAI;QACrK,6EAA0D;QAErB,wEAAW;QAAA,4DAAS;QACjD,gFAAgC;QAAA,4EAAe;QAAA,4DAAS;QACxD,gFAAoC;QAAA,gFAAmB;QAAA,4DAAS;QAChE,gFAAyB;QAAA,qEAAQ;QAAA,4DAAS;QAItD,6EAAgC;QACD,iEAAI;QAAA,4DAAK;QACpC,6EAA0D;QAC/C,kEAAK;QAAA,4DAAQ;QACpB,0EAAoF;QACpF,0EAAO;QAAA,gEAAG;QAAA,4DAAQ;QAClB,0EAAgF;QACpF,4DAAM;QAIlB,6EAAgC;QAKxB,wEACM;QACN,4EAAsB;QAG+B,oEAAO;QAAA,4DAAS;QACzD,gFAAuB;QAAA,yEAAY;QAAA,4DAAS;QAC5C,gFAAyB;QAAA,qEAAQ;QAAA,4DAAS;QAC1C,gFAAqB;QAAA,iEAAI;QAAA,4DAAS;QAClC,gFAAyB;QAAA,qEAAQ;QAAA,4DAAS;QAC1C,gFAAqB;QAAA,iEAAI;QAAA,4DAAS;QAI9C,wEAAyB;QAC7B,4DAAM;QACN,6EAAwB;QAAA,wEAA6D;QAAA,4DAAM;QAC3F,6EAAyC;QACrC,yEAA4B;QAC5B,2EAAQ;QAAA,iFAAoB;QAAA,4DAAS;QACrC,wEAAyB;QAC7B,4DAAM;QAQlC,wEAA2B;QAC/B,4DAAM;QACN,0EAAoF;QACpF,2EAAQ;QAII,uEACK;QACT,4DAAM;QACN,6EAA2B;QACN,iGAAoC;QAAA,2EAA6B;QAAA,iEAAI;QAAA,4DAAI;QAC1F,sEAAG;QAAA,iFAAoB;QAAA,4DAAI;QAC3B,sEAAG;QAAA,wHAA2D;QAAA,4DAAI;QAI1E,6EAAyB;QAEkF,wEAAyE;QAAA,4DAAI;QAChL,4EAAqB;QAAkG,wEAA2E;QAAA,4DAAI;QAE1M,6EAAuB;QACR,iFAAoB;QAAA,4DAAS;QAAA,wHAA2D;QAAA,4DAAI;QACvG,4EAAiB;QAET,0EAAoF;QAGxF,4DAAO;QACP,0EAAyG;QAC7G,4DAAM;QACN,6EAAwB;QACpB,wEAA2E;QAC/E,4DAAM;QACN,wEAAyB;QACzB,2EAAqB;QAAA,6FAA2B;QAAA,4DAAI;QAG5D,wEAAyB;QAE7B,4DAAS;QACT,6EAAmB;QACyC,oEAAa;QAAA,4DAAI;QA6/C7E,wEAAqH;QACzH,4DAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97E+H;AACtI,sEAAsE;AACW;AAEjC;AAIpB;AAE0D;AAEsB;AAGpC;AACH;AAGiC;AAC5E;;;;;;;;;;;;;;;;;;;;;;;ICeE,0EAAwE;IAAA,4EAAgB;IAAA,6DAAS;;;IAAA,wEAAsE;IAAA,wDAA8C;IAAA,6DAAO;;;IAArD,2DAA8C;IAA9C,yHAA8C;;;IAE3L,wEAAqD;IAAA,oEAAQ;IAAA,6DAAO;;;IAAC,wEAAoD;IAAA,gEAAI;IAAA,6DAAO;;;IAHlK,uEAAiC;IAC7B,uIAAiG;IAAA,mIAA2H;IAC5N,0EAAQ;IAAA,4EAAgB;IAAA,6DAAS;IAAA,wDACjC;IAAA,0EAAQ;IAAA,oEAAQ;IAAA,6DAAS;IAAC,mIAAoE;IAAC,mIAA+D;IAClK,6DAAM;;;IAHO,2DAA4D;IAA5D,iIAA4D;IAAmC,2DAA4D;IAA5D,iIAA4D;IACnI,2DACjC;IADiC,qIACjC;IAAiC,2DAA4C;IAA5C,6GAA4C;IAAyB,2DAA2C;IAA3C,4GAA2C;;;IAdjK,0EAAkF;IAIlE,wDACJ;IAAA,6DAAS;IACT,iEAAM;IACN,0EAAQ;IAAA,0EAAc;IAAA,6DAAS;IAAA,wDAC/B;IAAA,iEAAM;IACN,2EAAQ;IAAA,oEAAO;IAAA,6DAAS;IAAA,yDACxB;IAAA,kEAAM;IACN,6HAIM;IACV,6DAAM;;;;IAZE,2DACJ;IADI,8FACJ;IAE+B,2DAC/B;IAD+B,qGAC/B;IACwB,2DACxB;IADwB,8FACxB;IACM,2DAAyB;IAAzB,6FAAyB;;;IAiKvB,kFAAmE;IAAA,wDAAgB;IAAA,6DAAa;;;IAAlD,kFAAoB;IAAC,2DAAgB;IAAhB,kFAAgB;;;IAYnF,kFAAgE;IAAA,wDAAc;IAAA,6DAAa;;;IAA9C,gFAAkB;IAAC,2DAAc;IAAd,gFAAc;;;IAwB9E,kFAAuE;IAAA,wDAAoB;IAAA,6DAAa;;;IAA1D,sFAAwB;IAAC,2DAAoB;IAApB,sFAAoB;;;IAU/F,6EAAqD;IAAA,wDAAiB;IAAA,6DAAQ;;;IAAzB,2DAAiB;IAAjB,+FAAiB;;;IACtE,6EAAqD;IAAA,wDAAgB;IAAA,6DAAQ;;;IAAxB,2DAAgB;IAAhB,8FAAgB;;;;IA4CzF,0EAA2C;IAKZ,+EAAmB;IAAA,6DAAY;IAC1C,6EAAgE;IAAvB,6VAAsB;IAA/D,6DAAgE;IAChE,wFAAwE;IAE5E,6DAAiB;IAErB,4EAAmB;IACkC,4SAAS,oCAA4B,IAAC;IACnF,4EACJ;IAAA,6DAAS;;;;IARW,2DAAwB;IAAxB,gFAAwB;IACP,2DAAc;IAAd,sEAAc;;;IAsDnC,kFAAuE;IAAA,wDAAoB;IAAA,6DAAa;;;IAA1D,sFAAwB;IAAC,2DAAoB;IAApB,sFAAoB;;;IAS3F,kFAAkE;IAAA,wDAAa;IAAA,6DAAa;;;IAA5C,+EAAiB;IAAC,2DAAa;IAAb,+EAAa;;;IAqD/E,kFAAuE;IAAA,wDAAoB;IAAA,6DAAa;;;IAA1D,sFAAwB;IAAC,2DAAoB;IAApB,sFAAoB;;;IAS3F,kFAAkE;IAAA,wDAAa;IAAA,6DAAa;;;IAA5C,+EAAiB;IAAC,2DAAa;IAAb,+EAAa;;;;IA3B/F,sEAA8B;IAIlB,mEACJ;IAAA,6DAAO;IAGX,0EAAgB;IAER,wDACJ;;IAAA,6DAAO;IAEX,0EAAgB;IAGI,yUAAmB,oCAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAC;IAEtE,2IAAwG;IAC5G,6DAAa;IAGrB,2EAAgB;IAGI,yUAAmB,yCAAiC,CAAC,CAAC,IAAC;IAE/D,2IAA4F;IAChG,6DAAa;IAGrB,2EAAgB;IAER,yDACJ;IAAA,6DAAO;IAGX,2EAAgB;IAEoD,sWAAwB,gQAC5D,2CAAmC,CAAC,EAAE,UAAU,CAAC,IADW;IACT,6DAAe;IAIlG,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,EAAE,OAAO,CAAC,IAAC;IAClC,6DAAe;IAI5D,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,CAAC,IAAC;IACrB,6DAAe;;;IA9CxD,2DACJ;IADI,yKACJ;IAOqC,2DAAe;IAAf,0FAAe;IASf,2DAAiB;IAAjB,4FAAiB;IAMlD,2DACJ;IADI,kGACJ;IAKgE,2DAAwB;IAAxB,wFAAwB;IAStE,2DAAsB;IAAtB,sFAAsB;IAQtB,2DAA0B;IAA1B,0FAA0B;;;IAwBpC,kFAAuE;IAAA,wDAAoB;IAAA,6DAAa;;;IAA1D,sFAAwB;IAAC,2DAAoB;IAApB,sFAAoB;;;IAU3F,kFAAkE;IAAA,wDAAa;IAAA,6DAAa;;;IAA5C,+EAAiB;IAAC,2DAAa;IAAb,+EAAa;;;;IA3B/F,sEAA8B;IAGlB,mEACJ;IAAA,6DAAO;IAEX,0EAAgB;IAER,wDACJ;;IAAA,6DAAO;IAGX,0EAAgB;IAGI,yUAAmB,oCAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAC;IAEtE,2IAAwG;IAC5G,6DAAa;IAIrB,2EAAgB;IAGI,yUAAmB,yCAAiC,CAAC,CAAC,IAAC;IAE/D,2IAA4F;IAChG,6DAAa;IAGrB,2EAAgB;IAER,yDACJ;IAAA,6DAAO;IAEX,2EAAgB;IAEoD,sWAAwB,gQAC5D,2CAAmC,CAAC,EAAE,UAAU,CAAC,IADW;IACT,6DAAe;IAGlG,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,EAAE,OAAO,CAAC,IAAC;IAClC,6DAAe;IAG5D,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,CAAC,IAAC;IACrB,6DAAe;;;IA7CxD,2DACJ;IADI,yKACJ;IAQqC,2DAAe;IAAf,0FAAe;IAUf,2DAAiB;IAAjB,4FAAiB;IAMlD,2DACJ;IADI,kGACJ;IAIgE,2DAAwB;IAAxB,wFAAwB;IAQtE,2DAAsB;IAAtB,sFAAsB;IAOtB,2DAA0B;IAA1B,0FAA0B;;;IAsBpC,kFAAuE;IAAA,wDAAoB;IAAA,6DAAa;;;IAA1D,sFAAwB;IAAC,2DAAoB;IAApB,sFAAoB;;;IAU3F,kFAAkE;IAAA,wDAAa;IAAA,6DAAa;;;IAA5C,+EAAiB;IAAC,2DAAa;IAAb,+EAAa;;;;IA1B/F,sEAA8B;IAGlB,mEACJ;IAAA,6DAAO;IAEX,0EAAgB;IAER,wDACJ;;IAAA,6DAAO;IAEX,0EAAgB;IAGI,yUAAmB,oCAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAC;IAEtE,2IAAwG;IAC5G,6DAAa;IAIrB,2EAAgB;IAGI,yUAAmB,yCAAiC,CAAC,CAAC,IAAC;IAE/D,2IAA4F;IAChG,6DAAa;IAGrB,2EAAgB;IAER,yDACJ;IAAA,6DAAO;IAEX,2EAAgB;IAEoD,sWAAwB,gQAC5D,2CAAmC,CAAC,EAAE,UAAU,CAAC,IADW;IACT,6DAAe;IAGlG,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,EAAE,OAAO,CAAC,IAAC;IAClC,6DAAe;IAG5D,2EAAgB;IAGM,yTAAU,2CAAmC,CAAC,CAAC,IAAC;IACrB,6DAAe;;;IA5CxD,2DACJ;IADI,yKACJ;IAOqC,2DAAe;IAAf,0FAAe;IAUf,2DAAiB;IAAjB,4FAAiB;IAMlD,2DACJ;IADI,kGACJ;IAIgE,2DAAwB;IAAxB,wFAAwB;IAQtE,2DAAsB;IAAtB,sFAAsB;IAOtB,2DAA0B;IAA1B,0FAA0B;;;IA6GpD,uEAA4C;IAAA,wDAAsB;IAAA,6DAAM;;;IAA5B,2DAAsB;IAAtB,4FAAsB;;;IADtE,4EAA6D;IACzD,2IAAwE;IAC5E,6DAAM;;;IADI,2DAAoC;IAApC,yGAAoC;;;IAU1C,uEAAuC;IAAA,wDAAsB;IAAA,6DAAM;;;IAA5B,2DAAsB;IAAtB,4FAAsB;;;IADjE,4EAAwD;IACpD,2IAAmE;IACvE,6DAAM;;;IADI,2DAA+B;IAA/B,oGAA+B;;;IASrC,uEAAuC;IAAA,wDAAsB;IAAA,6DAAM;;;IAA5B,2DAAsB;IAAtB,4FAAsB;;;IADjE,4EAAwD;IACpD,2IAAmE;IACvE,6DAAM;;;IADI,2DAA+B;IAA/B,oGAA+B;;;;;IApCzD,2EAAkC;IACE,2EAAe;IAAA,6DAAK;IAExD,2EAA6B;IAG+B,uTAAY,yBAAiB,IAAC;IAGlF,0EAAiB;IAGkB,2EAAe;IAAA,6DAAQ;IAClD,wEAEkE;IAClE,sIAEM;IACV,6DAAM;IACN,4EAAmB;IAEY,sEAAS;IAAA,6DAAQ;IAC5C,yEAE6D;IAC7D,sIAEM;IACV,6DAAM;IACN,4EAAmB;IACY,uEAAU;IAAA,6DAAQ;IAC7C,yEAE6D;IAC7D,sIAEM;IACV,6DAAM;IACN,4EAAmB;IACY,qEAAQ;IAAA,6DAAQ;IAE3C,uFAC6D;IADhB,wXAAmC;IAG5E,oFAAuD;IAAA,0EAAa;IAAA,6DAAa;IAEjF,oFAAyB;IACrB,mEACJ;IAAA,6DAAa;IAEb,oFAAyB;IACrB,mEACJ;IAAA,6DAAa;IAEb,oFAA2B;IACvB,qEACJ;IAAA,6DAAa;IAEb,oFAAgC;IAC5B,0EACJ;IAAA,6DAAa;IAEb,oFAAiC;IAC7B,2EACJ;IAAA,6DAAa;IAEb,oFAAyB;IACrB,mEACJ;IAAA,6DAAa;IAEb,oFAA2B;IACvB,qEACJ;IAAA,6DAAa;IAEb,oFAA0B;IACtB,oEACJ;IAAA,6DAAa;IAEb,oFAA4B;IACxB,sEACJ;IAAA,6DAAa;IAEb,oFAAgC;IAC5B,0EACJ;IAAA,6DAAa;IAEb,oFAA0B;IACtB,oEACJ;IAAA,6DAAa;IAEb,oFAA8B;IAC1B,wEACJ;IAAA,6DAAa;IAMrB,4EAAmB;IAGI,yEAAY;IAAA,6DAAY;IACnC,0EAEwE;IAG5E,6DAAiB;IAS7B,6EAA0B;IACiB,6RAAS,WAAO,IAAC;IACpD,qEACJ;IAAA,6DAAS;IAET,4EAAc;IAGN,mEACJ;IAAA,6DAAS;;;;IAxHS,2DAAyB;IAAzB,2FAAyB;IAQpC,2DAAoD;IAApD,6KAAoD;IAErD,2DAA4B;IAA5B,iGAA4B;IAQ3B,2DAA+C;IAA/C,wKAA+C;IAEhD,2DAAuB;IAAvB,4FAAuB;IAOtB,2DAA+C;IAA/C,wKAA+C;IAEhD,2DAAuB;IAAvB,4FAAuB;IAOgB,2DAAmC;IAAnC,mGAAmC;IA6DxD,4DAAoC;IAApC,gFAAoC;IAGnB,2DAA0B;IAA1B,sEAA0B;IAiB3D,2DAA+B;IAA/B,iGAA+B;;;IAmCnC,uEAAqC;IAAA,wDAAgB;IAAA,6DAAM;;;IAAtB,2DAAgB;IAAhB,uFAAgB;;;IADzD,4EAAsD;IAClD,iJAA2D;IAC/D,6DAAM;;;IADI,2DAA6B;IAA7B,mGAA6B;;;;IAXnD,6EAA+M;IAAjG,iUAAY,0CAAiC,IAAC;IAGxJ,0EAAiB;IAGkB,6FAAiC;IAAA,6DAAQ;IACpE,yEAE0D;IAC1D,2IAEM;IACV,6DAAM;IAKV,4EAA0B;IACiB,oUAAS,YAAO,IAAC;IACpD,oEACJ;IAAA,6DAAS;IAET,4EAAc;IAGN,qEACJ;IAAA,6DAAS;;;IA3BmD,wGAAqC;IAQ1F,2DAAwE;IAAxE,0MAAwE;IAEzE,2DAAqB;IAArB,2FAAqB;IAcnB,2DAA2C;IAA3C,8GAA2C;;;;IAU/D,uEAAgD;IAQa,iEAAK;IAAA,6DAAQ;IAEtD,2EAAsB;IACS,yDAAwB;IAAA,6DAAQ;IAInE,4EAAkD;IAEL,mEAAM;IAAA,6DAAQ;IAEvD,4EAAsB;IACS,yDAAyC;IAAA,6DAAQ;IAIpF,4EAAkD;IAEL,0EAAa;IAAA,6DAAQ;IAE9D,4EAAsB;IACS,yDAAgC;IAAA,6DAAQ;IAI3E,4EAAkD;IAEL,oEAAO;IAAA,6DAAQ;IAExD,4EAAsB;IACS,yDAA0C;IAAA,6DAAQ;IAIrF,4EAAkD;IAEL,wEAAW;IAAA,6DAAQ;IAE5D,4EAAsB;IACS,yDAA8C;IAAA,6DAAQ;IAIzF,4EAAkD;IAEL,uEAAU;IAAA,6DAAQ;IAE3D,4EAAsB;IACS,yDAA4C;IAAA,6DAAQ;IAIvF,4EAAkD;IAEL,uEAAU;IAAA,6DAAQ;IAE3D,4EAAsB;IACS,yDAA4C;IAAA,6DAAQ;IAIvF,4EAAkD;IAEL,uEAAU;IAAA,6DAAQ;IAE3D,4EAAsB;IACS,yDAA4B;IAAA,6DAAQ;IAIvE,4EAAkD;IAEL,sEAAS;IAAA,6DAAQ;IAE1D,4EAAsB;IACS,yDAA4C;IAAA,6DAAQ;IAIvF,4EAAkD;IAEL,uEAAU;IAAA,6DAAQ;IAE3D,4EAAsB;IACS,yDAA6C;IAAA,6DAAQ;IAUpG,6EAA0B;IACiB,oUAAS,YAAO,IAAC;IACpD,qEACJ;IAAA,6DAAS;IACT,gFAA+D;IAAxB,6TAAS,sBAAa,IAAC;IAC1D,2EACJ;IAAA,6DAAS;IAET,gFAA+D;IAAxB,6TAAS,sBAAa,IAAC;IAC1D,4EACJ;IAAA,6DAAS;;;IArGkC,4DAAwB;IAAxB,+FAAwB;IASxB,2DAAyC;IAAzC,yHAAyC;IASzC,2DAAgC;IAAhC,uGAAgC;IAShC,2DAA0C;IAA1C,0HAA0C;IAS1C,2DAA8C;IAA9C,8HAA8C;IAS9C,2DAA4C;IAA5C,4HAA4C;IAS5C,2DAA4C;IAA5C,4HAA4C;IAS5C,2DAA4B;IAA5B,mGAA4B;IAS5B,2DAA4C;IAA5C,4HAA4C;IAS5C,2DAA6C;IAA7C,6HAA6C;;;IApIpG,2EAAkC;IACE,kFAAsB;IAAA,6DAAK;IAE/D,2EAA6B;IAGzB,wIAgCO;IAEP,sIAmHM;IAEV,6DAAM;;;IAvJK,2DAAuC;IAAvC,8GAAuC;IAkCxC,2DAAwC;IAAxC,+GAAwC;;;;IA2HlD,2EAAkC;IACE,2EAAe;IAAA,6DAAK;IAExD,2EAA6B;IAGzB,wDAGA;IAAA,4EAA0B;IACiB,8RAAS,YAAO,IAAC;IACpD,mEACJ;IAAA,6DAAS;;;IANb,2DAGA;IAHA,mGAGA;;AD96BD,MAAM,sBAAsB;IAkF/B,YAAoB,eAA+B,EACvC,gBAAiC,EACjC,MAAc,EACd,WAAwB,EACxB,QAAkB,EAClB,KAAe,EACf,KAAqB,EACrB,OAAkB,EAClB,OAA0B,EAC1B,cAAoC,EACpC,cAAiC;QAVzB,oBAAe,GAAf,eAAe,CAAgB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAU;QAClB,UAAK,GAAL,KAAK,CAAU;QACf,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAmB;QAC1B,mBAAc,GAAd,cAAc,CAAsB;QACpC,mBAAc,GAAd,cAAc,CAAmB;QAtF7C,YAAO,GAAG,KAAK,CAAC;QAEhB,gBAAW,GAAQ,IAAI,wDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,aAAQ,GAAgB,IAAI,CAAC;QAC7B,cAAS,GAAG,KAAK,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAU7B,kBAAa,GAAQ,EAAE,CAAC;QAmBxB,gCAA2B,GAAQ,IAAI,CAAC;QAUxC,eAAU,GAAQ,IAAI,CAAC;QACvB,eAAU,GAAQ,IAAI,CAAC;QACvB,eAAU,GAAQ,IAAI,CAAC;QACvB,eAAU,GAAQ,IAAI,CAAC;QACvB,aAAQ,GAAQ,IAAI,CAAC;QACrB,aAAQ,GAAQ,IAAI,CAAC;QACrB,aAAQ,GAAQ,IAAI,CAAC;QACrB,aAAQ,GAAQ,IAAI,CAAC;QACrB,iBAAY,GAAQ,KAAK,CAAC;QAC1B,iBAAY,GAAQ,KAAK,CAAC;QAC1B,iBAAY,GAAQ,KAAK,CAAC;QAC1B,iBAAY,GAAQ,KAAK,CAAC;QAE1B,kBAAa,GAAQ,CAAC,CAAC;QACvB,aAAQ,GAAQ,CAAC,CAAC;QAClB,YAAO,GAAQ,CAAC,CAAC;QACjB,WAAM,GAAQ,CAAC,CAAC;QAGhB,oBAAe,GAAQ,CAAC,CAAC;QAGzB,eAAU,GAAQ,CAAC,CAAC;QAIpB,0BAAqB,GAAQ,MAAM,CAAC;QAE1B,mBAAc,GAAG,IAAI,wDAAY,EAAQ,CAAC;QAkO7C,eAAU,GAAa;YAE1B,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YACjD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;YACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;YAEnD;gBACI,KAAK,EAAE,qBAAqB;gBAC5B,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,kBAAkB;gBAChC,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;iBACtD;gBACD,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,EAAE;aAEZ;YACD;gBACI,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE,OAAO;gBACnB,YAAY,EAAE,kBAAkB;gBAChC,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;iBACtD;gBACD,KAAK,EAAE,EAAE;aAEZ;YACD;gBACI,KAAK,EAAE,sBAAsB;gBAC7B,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,kBAAkB;gBAChC,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC7C;gBACD,KAAK,EAAE,EAAE;aAEZ;YACD;gBACI,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,gBAAgB;gBAC9B,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5C,KAAK,EAAE,QAAQ;iBAClB;aACJ;SAEJ,CAAC;QAiKF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAtaE,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAGnC,WAAW;QACX,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAGF,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,UAAU,CAAC,GAAG,EAAE;YACZ,mCAAC,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,mCAAC,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,mCAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QAE9D,IAAI,CAAC,mBAAmB,GAAG;YACvB,gBAAgB,EAAE,oHAAyB;YAC3C,cAAc,EAAE,8GAAuB;SAC1C;IACL,CAAC;IAGD,QAAQ;QAGJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,SAAS,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACpC,eAAe,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YAC1C,OAAO,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACxC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gEAAmB,CAAC;YAC5D,MAAM,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,gEAAmB,CAAC;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClD,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,EAAE,+DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;SAC/E,CAAC,CAAC;QAGH,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE;YACxB,8DAA8D;YAC9D,6CAA6C;SAChD;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,2BAA2B;IAI/B,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1D,WAAW;QACP,wBAAwB;QACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,uBAAuB;IAC3B,CAAC;IAED,WAAW;QACP,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAK;QAChB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;YAC5B,OAAO,GAAG,CAAC;;YACV,OAAO,KAAK,CAAC;IACtB,CAAC;IAED,WAAW;QAEP,IAAI,OAAO,GAAG,mDAAmD,CAAC;QAElE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,GAAG,GAAG;gBACN,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aAC1B;YAED,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAGpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACpD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;oBAEnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAE/C;qBAAM;oBACH,mBAAmB;iBAEtB;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAEN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAQP,CAAC;IAED,qBAAqB;QAEjB,IAAI,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAE9D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEzE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACzC;gBACD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,0BAA0B;aAC7B;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,IAAI,CAAC,aAAa;SAEnC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAElE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;aAE3B;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAmDD,mBAAmB,CAAC,MAAM;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,KAAK,EAAE,gBAAgB,EAAE;SACrF,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QAE9C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC;iBACnC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAGvB,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,WAAW,EAAE,CAAC;iBAEtB;qBAAM;oBACH,mBAAmB;iBAEtB;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,uBAAuB;YAC3B,CAAC,CAAC;YACN,kBAAkB;QAEtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC3C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAEf,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM;QACN,yBAAyB;QAEzB,UAAU,CAAC,GAAG,EAAE;YACZ,mCAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC,EAAE,GAAG,CAAC,CAAC;IAGZ,CAAC;IAED,eAAe;QAEX,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI;YACzB,GAAG,GAAG;gBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC5D,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC9D,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACrD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAChC,YAAY,EAAE,KAAK;aAEtB,CAAC;;YAEF,GAAG,GAAG;gBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,EAAE;gBACjB,eAAe,EAAE,IAAI,IAAI,EAAE;gBAC3B,aAAa,EAAE,EAAE;gBACjB,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,GAAG;gBACb,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAChC,YAAY,EAAE,EAAE;aAEnB,CAAC;QACN,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,KAAK;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,0BAA0B,CAAC,CAAC;QAGxB,IAAI,GAAG,GAAG;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,WAAW;SAC5B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE3E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU;aAC1E;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAQD,cAAc;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACzB,4BAA4B;IAChC,CAAC;IAGD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,2CAA2C;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IASD,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,mCAAmC;QACnC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAE5B,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU;YACjC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO;YAC9B,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM;YAC7B,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAyC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAGhJ,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK;gBAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;SAC9B;IACL,CAAC;IAED,kBAAkB,CAAC,EAAE;QAEjB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGlE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,QAAQ,CAAC;gBACT,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI;gBAE9B,+DAA+D;gBAC/D,mDAAmD;gBAEnD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,SAAS;oBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE;wBAChC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;wBAC/C,mDAAmD;wBACnD,oEAAoE;qBACvE;iBACJ;aACJ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QAEV,oEAAoE;QACpE,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAG/B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtE,4EAA4E;gBAC5E,kDAAkD;gBAClD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAE/D;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGK,wBAAwB,CAAC,KAAU,EAAE,WAAW;;YAClD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;gBACnB,KAAK,CAAC,KAAK,IAAI,SAAS;gBACxB,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;YAE5B,mCAAmC;YACnC,wCAAwC;YACxC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,EAAE;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAG7F,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAGxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAEpB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI;oBAErC,IAAI,WAAW,IAAI,IAAI,EAAE;wBACrB,EAAE;wBACF,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAEpD;oBAED,mCAAmC;oBACnC,oCAAoC;oBAEpC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAErE,6CAA6C;oBAE7C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAGjE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC9B,wDAAwD;oBAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBAEvB;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAEN,CAAC;KAAA;IAKD,OAAO,CAAC,GAAG;QACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,QAAQ;QACjB,QAAQ,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAErE,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAE3B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACnC,oCAAoC;QACpC,IAAI,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QAE3D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAG5D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;QAE1C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QAErC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;QACzC,WAAW;QACX,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;YAEnB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC1E;QACD,+DAA+D;QAG/D,iCAAiC;QACjC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;QAE5C,YAAY;QACZ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAE1C,YAAY;QACZ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,yCAAyC;QACzC,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAE1C,YAAY;QACZ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,yCAAyC;QACzC,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAE1C,YAAY;QACZ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,yCAAyC;QACzC,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAG1C,UAAU,CAAC,GAAG,EAAE;YAEZ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC,EAAE,GAAG,CAAC,CAAC;IAEZ,CAAC;IAED,uBAAuB,CAAC,GAAG,EAAE,QAAQ;QAEjC,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE;YAEnB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;YAExB,IAAI,GAAG,GAAG;gBACN,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,EAAE;YACF,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAY,EAAE,EAAE;gBAEzE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;oBACzB,EAAE;oBACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;oBAK/B,IAAI,QAAQ,IAAI,IAAI,EAAE;wBAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAElE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAI,qBAAqB;qBAEhF;yBACI;wBAED,mGAAmG;qBACtG;iBAEJ;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,+BAA+B;QAE3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,CAAC;IAEV,CAAC;IAED,OAAO,CAAC,CAAC;IAET,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU;QAExD,IAAI,UAAU,IAAI,IAAI,EAAE;YAEpB,IAAI,GAAG,GAAG;gBACN,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,SAAS,EAAE,UAAU;gBACrB,WAAW,EAAE,YAAY;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aAC1B,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU;iBAC1E;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW;QAEhD,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,YAAY;YACzB,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,WAAW;SAC1B,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEnE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU;aAC1E;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAID,kBAAkB,CAAC,WAAW,EAAE,YAAY;QACxC,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,GAAG,oCAAoC,CAAC;aAC9C,IAAI,WAAW,IAAI,KAAK;YACzB,OAAO,GAAG,qCAAqC,CAAC;QAEpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,GAAG,GAAG;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,YAAY;aAC5B,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU;iBAC1E;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAEN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE5D,IAAI,YAAY,IAAI,CAAC;gBACjB,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC;YAErC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAIP,CAAC;IAED,aAAa,CAAC,IAAI;QAEd,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAErE,2DAA2D;QAC3D,8DAA8D;QAC9D,oDAAoD;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI;gBAE/B,EAAE;aAEL;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,aAAa;QAET,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE3D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI;gBAE7B,EAAE;aAEL;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,QAAQ;QAG/B,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI;oBAGjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAErD,IAAI,QAAQ,IAAI,IAAI,EAAE;wBAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;wBACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;wBAEnE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC3E;yBACI;qBAEJ;iBACJ;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,kBAAkB,CAAC,OAAO,EAAE,YAAY;QAEpC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAGD,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY;QAC5C,IAAI,GAAG,GAAG;YACN,YAAY,EAAE,aAAa;YAC3B,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC;QAGF,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG5D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,iDAAiD;gBACjD,+CAA+C;gBAE/C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAI,mBAAmB;aAGtF;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB;IAErB,2BAA2B;IAC3B,gDAAgD;IAChD,OAAO;IACP,gCAAgC;IAChC,kDAAkD;IAClD,OAAO;IACP,gCAAgC;IAChC,iDAAiD;IACjD,OAAO;IACP,GAAG;IAEH,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAEhC,gFAAgF;aAEnF;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,YAAY;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gFAAkB,EAAE;YACjD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;QAEvD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAEM,YAAY;IAEnB,CAAC;IAED,UAAU;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE/B,CAAC;IAYD,QAAQ,CAAC,YAAqB;QAC1B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAEhC,UAAU,CAAC,GAAG,EAAE;YAGZ,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,SAAS,CAAC,YAAqB;QAE3B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACpC,mCAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACzD,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,mCAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAC1D,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAI9C,oEAAoE;QACpE,qBAAqB;QACrB,KAAK;IACT,CAAC;IAED,iBAAiB;QAEb,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,mPAAmP;QACnP,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAuB;QACxD,MAAM,IAAI,GAAG,cAAc,CAAC;QAE5B,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,cAAc,YAAY,kBAAkB,CAAC,OAAO,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAE3H,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAElC,6CAA6C;QAC7C,iBAAiB;QACjB,yBAAyB;QACzB,qBAAqB;QACrB,KAAK;IACT,CAAC;IAEK,0BAA0B;;YAC5B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,qDAAqD;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,gFAAgF;gBAEhF,yBAAyB;gBAEzB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAClC;gBAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/E,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG;oBACtE;mFACmE,GAAG,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,yCAAyC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG;;;;;;6BAMpP,CAAC,CAAC;gBAKnB,+DAA+D;gBAC/D,WAAW;gBACX,2BAA2B;gBAC3B,kEAAkE;gBAElE,wEAAwE;gBACxE,0CAA0C;gBAC1C,OAAO;gBACP,wPAAwP;gBACxP,qIAAqI;gBACrI,sEAAsE;gBAEtE,mBAAmB;gBACnB,sBAAsB;gBACtB,oBAAoB;gBAEpB,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,OAAO,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAElC,2CAA2C;gBAC3C,yBAAyB;gBACzB,eAAe;gBAEf,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvB,KAAK;aACR;QACL,CAAC;KAAA;IAED,KAAK,CAAC,EAAU;QACZ,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;;4FAnsCQ,sBAAsB;qHAAtB,sBAAsB;;;;mEA4epB,2DAAa;;;;;;;;;;;QCvgB5B,6EAAmI;QAGvH,qEAAkF;QACtF,6DAAM;QACN,0EAA8B;QAGe,yEAAa;QAAA,6DAAO;QAKjE,iEAAM;QACN,4EAAsF;QAClF,yDACA;QAAA,kEAAM;QACN,yDACJ;;QAAA,6DAAO;QAEP,6EAA0B;QAEtB,qHAkBK;QACT,6DAAQ;QAkDhB,2EAAiB;QAIgC,4EAAe;QAAA,6DAAO;QAAC,sEAC5D;QACJ,6DAAK;QAIT,4EAA2B;QAE0B,gJAAS,gBAAY,IAAC;QACnE,mEACJ;QAAA,6DAAS;QAKjB,4EAAwD;QAkBhC,yDACJ;QAAA,6DAAO;QAMvB,4EAAsB;QAEd,uEACM;QACN,4EAAsB;QAEd,+EACA;QAAA,6EAA2B;QACvB,yDACJ;QAAA,6DAAO;QAIf,4EAAsB;QAEd,4EACA;QAAA,6EAAyB;QACrB,yDACJ;QAAA,6DAAO;QAQ3B,4EAA6D;QAmBI,kEAAK;QAAA,6DAAQ;QAEtD,4EAAsB;QACS,yDAAkC;;QAAA,6DAAQ;QAG7E,4EAAkD;QAEL,sEAAS;QAAA,6DAAQ;QAE1D,4EAAsB;QAEN,8KAAmB,oCAAgC,IAAI,CAAC,IAAC;QAEjE,oIAAgG;QACpG,6DAAa;QAGrB,4EAAkD;QAEL,mEAAM;QAAA,6DAAQ;QAEvD,4EAAsB;QAEN,8KAAmB,oCAAgC,IAAI,CAAC,IAAC;QAEjE,oIAA2F;QAC/F,6DAAa;QAGrB,4EAAgD;QAEH,iEAAI;QAAA,6DAAQ;QAErD,4EAAsB;QACS,yDAAc;QAAA,6DAAQ;QAAA,gFACjD;QAAA,8EAAqC;QAAA,qEAAQ;QAAA,6DAAQ;QAM7D,4EAAkD;QAEL,qEAAQ;QAAA,6DAAQ;QAEzD,4EAAsB;QAEN,8KAAmB,gCAA4B,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAC;QAEvE,oIAAwG;QAC5G,6DAAa;QAIrB,4EAAkD;QAEL,sEAAS;QAAA,6DAAQ;QAE1D,4EAAsB;QAClB,0HAA8E;QAC9E,0HAA6E;QACjF,6DAAM;QAGV,6EAAkD;QAEL,2EAAa;QAAA,6DAAQ;QAE9D,6EAAsB;QACS,0DAAmC;;QAAA,6DAAQ;QAI9E,6EAAkD;QAEL,oEAAM;QAAA,6DAAQ;QAEvD,6EAAsB;QACS,0DAAc;QAAA,6DAAQ;QAIzD,6EAAkD;QAEL,qEAAO;QAAA,6DAAQ;QAExD,6EAAsB;QACS,0DAAY;QAAA,6DAAQ;QAIvD,6EAA6B;QACwB,iJAAS,kBAAc,IAAC;QACrE,sEACJ;QAAA,6DAAS;QAUzB,yHAkBM;QACV,6DAAM;QACN,6EAAsB;QAKqB,0EAAY;QAAA,6DAAQ;QACnD,kFAA4F;QAArC,wSAAY,kBAAW,IAAC;QAE3E,+EAAqB;QAGL,iEAAG;QAAA,6DAAK;QACZ,wEAAI;QAAA,kEAAI;QAAA,6DAAK;QACb,wEAAI;QAAA,qEAAO;QAAA,6DAAK;QAChB,wEAAI;QAAA,wEAAU;QAAA,6DAAK;QACnB,wEAAI;QAAA,sEAAQ;QAAA,6DAAK;QACjB,wEAAI;QAAA,sEAAQ;QAAA,6DAAK;QACjB,wEAAI;QAAA,mEAAK;QAAA,6DAAK;QACd,wEAAI;QAAA,uEAAS;QAAA,6DAAK;QAG1B,4EAAsB;QAGV,qEACJ;QAAA,6DAAO;QAEP,8EAA2D;QACvD,kEACJ;QAAA,6DAAO;QAEX,4EAAgB;QAER,0DACJ;;QAAA,6DAAO;QAEX,4EAAgB;QAGI,+KAAmB,gCAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAC;QAEtE,sIAAwG;QAC5G,6DAAa;QAGrB,4EAAgB;QAGI,+KAAmB,qCAAiC,CAAC,CAAC,IAAC;QAE/D,sIAA4F;QAChG,6DAAa;QAGrB,4EAAgB;QAER,0DACJ;QAAA,6DAAO;QAEX,4EAAgB;QAGM,+JAAU,uCAAmC,CAAC,EAAE,UAAU,CAAC,IAAC;QACnC,6DAAe;QAI9D,4EAAgB;QAGM,+JAAU,uCAAmC,CAAC,EAAE,OAAO,CAAC,IAAC;QAClC,6DAAe;QAG5D,4EAAgB;QAGM,+JAAU,uCAAmC,CAAC,CAAC,IAAC;QACrB,6DAAe;QAOpE,wHA6DK;QAEL,wHAyDK;QAEL,wHA6EK;QACT,6DAAQ;QAYZ,+EAA+B;QAAA,8EAAgB;QAAA,6DAAQ;QAEvD,gFAAiF;QAAhC,iJAAS,yBAAqB,IAAC;QAC5E,4EACJ;QAAA,6DAAS;QAET,gFAAoF;QAA9B,iJAAS,uBAAmB,IAAC;QAC/E,kFACJ;QAAA,6DAAS;QAET,gFAAgF;QAA1B,iJAAS,aAAS,KAAK,CAAC,IAAC;QAC3E,mFACJ;QAAA,6DAAS;QAET,gFAA+E;QAAzB,iJAAS,aAAS,IAAI,CAAC,IAAC;QAC1E,kFACJ;QAAA,6DAAS;QAET,yFAS6D;QAF5C,4KAAe,yBAAqB,IAAC,+GACxB,uBAAmB,IADK;QAItD,6DAAkB;QAwBlC,uNA0Ic;QAGd,qNAgKc;QAGd,qNAiBc;;QAj8BF,4DACA;QADA,4FACA;QACA,2DACJ;QADI,6KACJ;QAI6B,2DAAgB;QAAhB,uFAAgB;QA0G7B,4DACJ;QADI,4FACJ;QAcI,2DACJ;QADI,qGACJ;QAQI,2DACJ;QADI,gHACJ;QAcE,2DAAyB;QAAzB,uFAAyB;QAgBQ,2DAAkC;QAAlC,kKAAkC;QAW7B,2DAAgB;QAAhB,uFAAgB;QAYd,2DAAa;QAAb,oFAAa;QASpB,2DAAc;QAAd,yFAAc;QAeR,4DAAe;QAAf,sFAAe;QAUxC,2DAAuB;QAAvB,wFAAuB;QACvB,2DAAuB;QAAvB,wFAAuB;QASJ,2DAAmC;QAAnC,oKAAmC;QASnC,2DAAc;QAAd,gFAAc;QASd,2DAAY;QAAZ,8EAAY;QAiBrD,2DAAuB;QAAvB,wFAAuB;QA0Bf,2DAA2B;QAA3B,yFAA2B;QA2Bb,4DACJ;QADI,wKACJ;QAOqC,2DAAe;QAAf,sFAAe;QASf,2DAAiB;QAAjB,wFAAiB;QAMlD,2DACJ;QADI,8FACJ;QAMkB,2DAAwB;QAAxB,oFAAwB;QAQxB,2DAAsB;QAAtB,kFAAsB;QAOtB,2DAA0B;QAA1B,sFAA0B;QAO/C,2DAAuB;QAAvB,wFAAuB;QA+DvB,2DAAuB;QAAvB,wFAAuB;QA2DvB,2DAAuB;QAAvB,wFAAuB;QA8GnB,4DAAyB;QAAzB,uFAAyB;;;;;;;;;;;;;;;;;;;;;;;;AC/mBqB;AACE;;;;;;;;;;ICoB7D,sEAAsC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADzD,0EAAuD;IACnD,gIAA2D;IAC/D,4DAAM;;;IADI,0DAA8B;IAA9B,iGAA8B;;;IA2BpC,iFAAqE;IAAA,uDAAa;IAAA,4DAAa;;;IAAlD,mFAAuB;IAAC,0DAAa;IAAb,6EAAa;;;ADpC/F,MAAM,4BAA4B;IAwBrC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B;IACvC,4CAA4C;IACpC,MAAc;QAJP,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAE/B,WAAM,GAAN,MAAM,CAAQ;QA1B1B,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,kBAAkB,CAAC;QAInC,mBAAc,GAAQ,CAAC,CAAC;QAId,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;QAEhB,kBAAa,GAAQ,CAAC,CAAC;QAEvB,aAAQ,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAW5C,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC9C,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,6DAA6D;YAC7D,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,UAAU,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACrC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC,EAAE,CAAC;SAGhB,CAAC,CAAC;QAGH,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAGD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;aAEnC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAKN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErD,YAAY,CAAC,MAAM;QAEf,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvE,+EAA+E;QAC/E,IAAI,CAAC,aAAa,GAAG,EAAE,GAAC,MAAM,CAAC,YAAY,CAAC;QACrC,wEAAwE;QACvE,iFAAiF;IAE7F,CAAC;IAID,QAAQ;QAEJ,IAAI,GAAG,GAAG;YACN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YACtD,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAClE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YAC5D,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YAC9D,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC3D,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACpE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1E,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;SAE7E,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGnE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,kBAAkB;aAErB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,KAAK,KAAK,CAAC;;wGAjJF,4BAA4B;0HAA5B,4BAA4B;QCZzC,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAEmD,wJAAY,cAAU,IAAC;QAEnF,yEAAiB;QAKkB,wEAAa;QAAA,4DAAQ;QAChD,sEAE4D;QAC5D,0HAEM;QAEV,4DAAM;QAEN,0EAAmB;QACY,iEAAK;QAAA,4DAAQ;QACxC,wEACgD;QACpD,4DAAM;QAEN,0EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,wEACkD;QACtD,4DAAM;QAEN,0EAAmB;QACY,wEAAY;QAAA,4DAAQ;QAC/C,wEACsC;QAC1C,4DAAM;QAEN,0EAAmB;QACY,oEAAQ;QAAA,4DAAQ;QAC3C,sFAC2C;QACvC,yIAA+F;QACnG,4DAAa;QAMjB,2EAAmB;QACY,wEAAY;QAAA,4DAAQ;QAE/C,sFACuD;QADN,6MAA2B;QAGxE,kFAAoD;QAAA,uEAAW;QAAA,4DAAa;QAE5E,kFAAsB;QAClB,sEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,yEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,uEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAEb,kFAAsB;QAClB,qEACJ;QAAA,4DAAa;QAMrB,2EAAmB;QACY,uEAAW;QAAA,4DAAQ;QAC9C,wEACmD;QACvD,4DAAM;QAEN,2EAAmB;QACY,wEAAY;QAAA,4DAAQ;QAC/C,wEACiD;QACrD,4DAAM;QAIV,2EAA0B;QAEiB,qJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QACT,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;QAhHW,0DAAU;QAAV,2EAAU;QAOZ,0DAAiC;QAAjC,8FAAiC;QAS5C,0DAA8C;QAA9C,gKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QA4BI,2DAAe;QAAf,qFAAe;QAUE,0DAA2B;QAA3B,sFAA2B;QAqDpE,2DAAuC;QAAvC,oGAAuC;;;;;;;;;;;;;;;;;AC/GgB;;AAQxE,MAAM,2BAA2B;IAoBpC;QAhBU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAgB9B,CAAC;IAdjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QAEL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,QAAQ;IACR,CAAC;;sGAvBQ,2BAA2B;yHAA3B,2BAA2B;QAJzB,uEAAsF;QAAvC,8IAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,8IAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACLxD;AAEC;AAEgB;;;;;AAQlF,MAAM,mCAAmC;IAiB5C,YACY,OAAkB,EAClB,cAA8B;QAD9B,YAAO,GAAP,OAAO,CAAW;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAdnC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAc3C,CAAC;IAZD,MAAM,CAAC,MAAW;QAEd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3F,mDAAmD;IACvD,CAAC;IAUM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAErB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAEnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAGD,MAAM,CAAC,EAAO;QAGV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;qBAE7D;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;sHAtFQ,mCAAmC;iIAAnC,mCAAmC;QAHjC,8FAAsE;QAA5C,2LAAa,mBAAe,IAAC;QAAe,4DAA2B;;QAAzC,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;ACTD;AAEnC;AAI0D;AACqB;;;;;;;;AAOxH,MAAM,yBAAyB;IAsDlC,YACY,KAAe;IACvB,2BAA2B;IACnB,cAA8B;QAF9B,UAAK,GAAL,KAAK,CAAU;QAEf,mBAAc,GAAd,cAAc,CAAgB;QAvD1C,oDAAoD;QAC1C,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC1C,cAAS,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAO/C,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAK7B,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;YACvC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;YAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE;YAClD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE;YACzD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE;YAClD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE;YAClD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;YAChD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;YAC5C;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,uIAAmC;gBAC3E,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SACJ,CAAC;QAIK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA2FF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAhFG,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAC;QAG/D,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;IAEpC,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAKD,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,mBAAmB;QAGf,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEpC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kHAA4B,EAAE;YAC3D,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kHAA4B,EAAE;YAC3D,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,UAAU;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE/B,CAAC;IAED,YAAY;QACR,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;;kGA1MQ,yBAAyB;uHAAzB,yBAAyB;kEAoDvB,0DAAa;;;;;QC/D5B,yEAAiB;QAIgC,iEAAM;QAAA,4DAAO;QAAC,mEACvD;QAAA,4DAAK;QAGT,yEAA2B;QAGgC,uJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,+EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,kJAAS,YAAQ,IAAC;QAAC,yEAAa;QAAA,4DAAS;QAC/D,6EAA6C;QAAvB,kJAAS,gBAAY,IAAC;QAAC,uEAAW;QAAA,4DAAS;QACjE,6EAA+C;QAAzB,kJAAS,kBAAc,IAAC;QAAC,iEAAK;QAAA,4DAAS;QAuB7E,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,oJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,yKAAa,uBAAmB,IAAC,qHAClB,yBAAqB,IADH,6GAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QAvDkB,0DAA0B;QAA1B,kFAA0B;QA2C7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;ACxDe;AACyB;;;AAIhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,2DAA2D;IAC3D,gEAAgE;IAEhE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACtD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAChD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAHpB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,oBAAoB,oFAFnB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1B+H;AAMzG;AAEhD,qEAAqE;AACQ;AAEN;AACsC;AACjF;AAIF;;;;;;;;;;;;;;;;;ICsBd,yEAA+E;IACjC,uDAAyC;;IAAA,4DAAK;IACxF,yEAA0C;IAAA,uDAAgB;IAAA,4DAAK;IAC/D,yEAA0C;IAAA,uDAAkB;IAAA,4DAAK;IACjE,yEAA0C;IAAA,uDAAsC;IAAA,4DAAK;IACrF,0EAAyC;IAAA,wDAAgE;;IAAA,4DAAK;IAC9G,0EAAqD;IAAA,wDAAoC;;IAAA,4DAAK;;;;IALpD,0DAAyC;IAAzC,kKAAyC;IACzC,0DAAgB;IAAhB,iFAAgB;IAChB,0DAAkB;IAAlB,mFAAkB;IAClB,0DAAsC;IAAtC,8GAAsC;IACvC,0DAAgE;IAAhE,0MAAgE;IACpD,0DAAoC;IAApC,8JAAoC;;;IAdjG,4EAAmH;IAInG,uDACJ;IAAA,4DAAK;IAGb,sHAOK;IACT,4DAAQ;;;IAZQ,0DACJ;IADI,wFACJ;IAGe,0DAAc;IAAd,mFAAc;;;;IAsM7C,wEAEJ;;ADpNO,MAAM,gBAAgB;IAiGzB,YAAY,wCAAwC;IACxC,OAA0B;IAC1C,sCAAsC;IAC9B,2CAA2C;IACnC,YAAmC,EACnC,KAAe,EACf,eAA+B,EAC/B,MAAc,EACd,OAA6B;QAP7B,YAAO,GAAP,OAAO,CAAmB;QAG1B,iBAAY,GAAZ,YAAY,CAAuB;QACnC,UAAK,GAAL,KAAK,CAAU;QACf,oBAAe,GAAf,eAAe,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAsB;QApGzC,qBAAqB;QACrB,wEAAwE;QACxE,EAAE;QACF,uBAAuB;QACvB,qEAAqE;QACrE,kBAAkB;QAClB,wEAAwE;QACxE,WAAW;QACX,SAAS;QACT,GAAG;QAEH,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,kBAAa,GAAG,EAAE,CAAC;QACnB,cAAS,GAAG,EAAE,CAAC;QAEf,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,kBAAa,GAAQ,EAAE,CAAC;QAIxB,aAAQ,GAAQ,CAAC,CAAC;QAClB,uBAAkB,GAAQ,EAAE,CAAC;QAEnB,iBAAY,GAAG,IAAI,uDAAY,EAAQ,CAAC;QACxC,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,cAAS,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAM/C,gDAAgD;QACzC,eAAU,GAAa;YAC1B,oCAAoC;YACpC,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;YAClH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE;YACjE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;YACjC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;YACnC,kEAAkE;YAClE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACjG,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACxE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;YAC/D;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,sHAA8B;gBACtE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SACJ,CAAC;QAsCK,UAAK,GAAQ;YAChB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,kBAAkB;SACrB,CAAC;QA6BF,kBAAa,GAAG;YACZ,aAAa,EAAE,UAAU,MAAM;gBAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;YAClD,CAAC;YACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;YACzC,CAAC;SAEJ,CAAC;QAmEK,YAAO,GAAG;YACb,EAAE;SACL,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAClB,CAAC;QAsHF,eAAU,GAAQ,CAAC,CAAC;QACpB,eAAU,GAAQ,CAAC,CAAC;QACpB,iBAAY,GAAQ,CAAC,CAAC;QAmCtB,eAAU,GAAG;YACT,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,iBAAiB;SAC7B;QAuHD,wBAAmB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QA+DF,mCAAmC;QACnC,kBAAa,GAAG,CAAC,CAA2B,EAAE,CAA2B,EAAU,EAAE;YACjF,OAAO,CAAC,CAAC;QACb,CAAC;QA9bG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;YAC3B,aAAa,EAAE;gBACX,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI;aACzF;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAnED,YAAY,CAAC,MAAM;QACf,WAAW;QACX,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI;YAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;YAChD,OAAO,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,MAAM;QAEhB,qEAAqE;QACrE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7B,wFAAwF;YACxF,oDAAoD;YAEpD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IA6CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,sDAAsD;QACtD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QAG3D,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,2DAA2D;QAC3D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,qCAAqC;IACrE,CAAC;IAED,6CAA6C;IAE7C,SAAS,CAAC,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gFAAkB,EAAE;YACjD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;YACzC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;aACjF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YAClD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aAChF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;YACnD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACtF,qHAAqH;IACzH,CAAC;IAED,iBAAiB;QAEb,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;YACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACtB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACrB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;YACnD,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,MAAM;QAEhB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,GAAG,CAAC;aACV,IAAI,MAAM,CAAC,KAAK;YACjB,OAAO,KAAK,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,OAAO,IAAI,CAAC;;YACX,OAAO,GAAG,CAAC;IACpB,CAAC;IAmBD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAC9B,iCAAiC;QACjC,+EAA+E;QAE/E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAEhC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAMD,QAAQ;QAIJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE9E,0DAA0D;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;IAG3B,CAAC;IAID,qBAAqB;IACrB,2BAA2B;IAC3B,kDAAkD;IAClD,OAAO;IACP,gCAAgC;IAChC,iDAAiD;IACjD,OAAO;IACP,GAAG;IAEH,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnD,8FAA8F;QAC9F,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS;QACL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,wEAAwE;IAC5E,CAAC;IAED,QAAQ;QACJ,wCAAwC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,wEAAwE;IAC5E,CAAC;IAED,QAAQ;QACJ,wCAAwC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAGtC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,wEAAwE;IAC5E,CAAC;IAED,YAAY;QACR,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACxB,wEAAwE;IAC5E,CAAC;IAED,YAAY;QACR,2CAA2C;QAC3C,qCAAqC;QAErC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,0DAA0D;IAC9D,CAAC;IAMD,mBAAmB;QACf,wCAAwC;QACxC,qCAAqC;QACrC,IAAI,IAAI,CAAC,OAAQ,EAAE;YACf,6EAA6E;YAC7E,oEAAoE;YACpE,iDAAiD;YAEjD,8EAA8E;YAC9E,wEAAwE;YACxE,wEAAwE;YAIxE,8HAA8H;YAE9H,yDAAyD;YACzD,sDAAsD;YACtD,MAAM;YACN,8FAA8F;YAC9F,kDAAkD;YAElD,iHAAiH;SACpH;IACL,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,IAAS;QAC9B,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAC/D,CAAC;IACD,qBAAqB,CAAC,QAAiB;QAClC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACnE,CAAC;IAQD,UAAU,CAAC,MAAM;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAEzC,IAAI,MAAM,IAAI,KAAK;YACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;YAE3B,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAExC,IAAI,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,MAAM;SACrB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAElE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,mCAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB;IACrB,0CAA0C;IAC1C,mDAAmD;IAGnD,gFAAgF;IAEhF,uCAAuC;IAEvC,6CAA6C;IAE7C,kEAAkE;IAClE,2FAA2F;IAE3F,2DAA2D;IAE3D,kBAAkB;IAElB,4DAA4D;IAC5D,WAAW;IAEX,2BAA2B;IAC3B,iCAAiC;IACjC,QAAQ;IACR,GAAG;IAIH,gBAAgB;QAEZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAEjC,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAMD,eAAe;QACX,4BAA4B;QAE5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACpC,IAAI,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;SACjB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI;gBAE9B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,qDAAqD;gBAErD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpG,iDAAiD;gBACjD,mCAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAE7C,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;oBACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACtC,4EAA4E;aAE/E;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAMD,MAAM;QACF,EAAE;QACF,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gFAAkB,EAAE;YACjD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;QACH,uCAAuC;QACvC,4CAA4C;QAE5C,gBAAgB;QAChB,KAAK;IAET,CAAC;IAED,UAAU;QACN,8BAA8B;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QAEH,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY;QACR,EAAE;QAEF,2BAA2B;QAE3B,qDAAqD;IACzD,CAAC;IAED,YAAY;QACR,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,YAAY,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAOF,qBAAqB;QAEjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEpC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAGxB,iCAAiC;gBACjC,sFAAsF;gBACtF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAG9C,mCAAmC;gBAEnC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;oBAExG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;wBAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;qBACrC;oBAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3C,4DAA4D;gBAC5D,6BAA6B;gBAG7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAKD,oBAAoB;QAEhB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAE,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IAGb,CAAC;IAID,aAAa,CAAC,IAAI;QACd,OAAO,mEAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;;gFAtoBQ,gBAAgB;8GAAhB,gBAAgB;;;kEAqNd,2DAAa;;;;;;;;;QCjP5B,4EAAmI;QAK/G,oEAAkF;QACtF,4DAAM;QAId,yEAA6B;QAGoB,yEAAa;QAAA,4DAAO;QAE7D,0EAAoF;QAC1C,wDAA6B;;QAAA,4DAAO;QAKtF,6EAA6C;QAEK,gEAAI;QAAA,4DAAK;QACnD,0EAA0C;QAAA,kEAAM;QAAA,4DAAK;QACrD,0EAA0C;QAAA,mEAAO;QAAA,4DAAK;QACtD,qEAA+C;QAC/C,0EAAyC;QAAA,qEAAS;QAAA,4DAAK;QACvD,0EAAqD;QAAA,kEAAM;QAAA,4DAAK;QAIxE,mHAgBQ;;QACZ,4DAAM;QAGV,0EAAiB;QAIgC,wDAAa;QAAA,4DAAO;QAGjE,2EAA2B;QAGgC,+IAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,yIAAS,YAAQ,IAAC;QAAC,0EAAc;QAAA,4DAAS;QAChE,8EAAmD;QAA7B,yIAAS,sBAAkB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QACzE,8EAAkD;QAA5B,yIAAS,qBAAiB,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAC3E,8EAAkD;QAA5B,yIAAS,eAAW,KAAK,CAAC,IAAC;QAAC,uEAAW;QAAA,4DAAS;QACtE,8EAAiD;QAA3B,yIAAS,eAAW,IAAI,CAAC,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACzE,8EAA+C;QAAzB,yIAAS,kBAAc,IAAC;QAAC,iEAAK;QAAA,4DAAS;QAC7D,8EAAwD;QAAlC,yIAAS,2BAAuB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QAyD9F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,2IAAU,uBAAmB,IAAC;QAClC,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAIxC,2EAAuB;QAUF,gKAAa,uBAAmB,IAAC,4GAClB,yBAAqB,IADH,oGAEnB,kBAAc,IAFK,kHAMZ,yBAAqB,IANT;QAQlD,4DAAkB;QAwEtB,2MAIc;QAGd,2MAIc;;;QAhO4C,2DAA6B;QAA7B,yJAA6B;QAgBtD,2DAA2C;QAA3C,4KAA2C;QAwB3B,0DAAa;QAAb,8EAAa;QAM1B,0DAA0B;QAA1B,kFAA0B;QA6EzD,2DAAiB;QAAjB,8EAAiB;QAID,0DAA+B;QAA/B,4FAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9IL;AAEiB;AACT;AAER;AACoC;AACT;AACR;AACP;AACI;AAC/D,qGAAqG;AAC9C;AAC4B;AAC0B;AACpD;AACS;AACK;AACJ;AACR;AACgD;AACC;AACW;AACqB;AAC1B;AAC3D;AACA;AAC8C;AAC5C;;AA8ClD,MAAM,aAAa;;0EAAb,aAAa;2GAAb,aAAa;gHAXX,CAAC,EAAE,OAAO,EAAE,sEAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,YAhB9C;YACL,0DAAY;YACZ,yEAAoB;YACpB,eAAe;YACf,0DAAY;YACZ,wDAAW;YACX,gEAAmB;YACnB,sEAAe;YACf,0EAAiB;YACjB,kEAAa;YACb,oEAAc;YACd,6EAAkB;YAClB,8EAAmB;YACnB,kEAAa;YACb,kEAAa;SAChB;oIAYQ,aAAa,mBA1ClB,gEAAgB;QAChB,mFAAmB;QACnB,4FAAsB;QACtB,4FAAsB;QACtB,sHAA8B;QAC9B,gFAAkB;QAClB,oHAAyB;QACzB,+GAAuB;QACvB,qHAAyB;QACzB,gIAA4B;QAC5B,sJAAmC;QACnC,4HAA2B;QAC3B,mEAAc,aAId,0DAAY;QACZ,yEAAoB;QACpB,eAAe;QACf,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,sEAAe;QACf,0EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,6EAAkB;QAClB,8EAAmB;QACnB,kEAAa;QACb,kEAAa,aAIP,gEAAgB;QACtB,4FAAsB;QACtB,gFAAkB;QAClB,4FAAsB;QACtB,sHAA8B;QAC9B,qHAAyB;QACzB,mEAAc;;;;;;;;;;;;;;;;;;;;ACxEkD;;;;;;AASjE,MAAM,cAAc;IAOvB,YAAoB,eAA+B,EACvC,cAAoC;QAD5B,oBAAe,GAAf,eAAe,CAAgB;QACvC,mBAAc,GAAd,cAAc,CAAsB;QANtC,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC1C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;IAKF,CAAC;IAErD,QAAQ;QAEJ,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,UAAU;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,YAAY;QAER,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI;gBAE5B,EAAE;aAEL;iBAAM;gBAEH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;;4EA1CQ,cAAc;4GAAd,cAAc;QCT3B,yEAAiB;QAIgC,gEAAK;QAAA,4DAAO;QAIzD,yEAA2B;QAGgC,4IAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,uIAAS,gBAAY,IAAC;QAAC,uEAAW;QAAA,4DAAS;QACjE,6EAAmD;QAA7B,uIAAS,sBAAkB,IAAC;QAAC,yEAAa;QAAA,4DAAS;;;QALrD,0DAA0B;QAA1B,kFAA0B;;;;;;;;;;;;;;;;;;;;ACJvD,MAAM,mBAAmB;IAE9B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;IACC,MAAM,CAAC,KAAa;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;;sFARQ,mBAAmB;iHAAnB,mBAAmB;QCahC,yEAAuB;QAGf,gFAAyC;QAE7C,4DAAM;;;;;;;;;;;;;;;;;;AClBH,MAAM,mBAAmB;IAE9B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;sFALU,mBAAmB;iHAAnB,mBAAmB;QCPhC,yEAA0B;QAKN,oEACM;QACV,4DAAM;QAKlB,yEAAkC;QAMV,sEAA+E;QACnF,4DAAM;;;;;;;;;;;;;;;;;;;;AClByB;AACmB;AACL;;;AAGrE,MAAM,MAAM,GAAW;IACnB,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,8EAAkB,EAAE;IACpD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,mFAAmB,EAAE;IACvD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAHxB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,sBAAsB,oFAFvB,yDAAY;;;;;;;;;;;;;;;;;;;;;;ACjBuB;AAEqB;AACC;AACK;AACjB;AACQ;;AAc1D,MAAM,eAAe;;8EAAf,eAAe;4GAAf,eAAe;gHATjB;YACP,yDAAY;YACV,6EAAsB;YACtB,2EAAkB;SACnB;mIAKQ,eAAe,mBAVX,8EAAkB,EAAE,mFAAmB,EAAE,kEAAc,aAEpE,yDAAY;QACV,6EAAsB;QACtB,2EAAkB,aAGhB,kEAAc;;;;;;;;;;;;;;;;;;;;AChBmE;AACnB;;;;AAS/D,MAAM,kBAAkB;IAE3B,YAAoB,iBAAmC,EAAU,cAAoC;QAAjF,sBAAiB,GAAjB,iBAAiB,CAAkB;QAAU,mBAAc,GAAd,cAAc,CAAsB;IAGrG,CAAC;IAED,QAAQ;QAEJ,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG;YACR,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3C;IACL,CAAC;IAED,cAAc;QACV,IAAI,OAAO,GAAG,IAAI,8DAAW,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,GAAG,IAAI,sDAAG,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iFAA8B,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,8DAAW,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,IAAI,IAAI,2EAAe,EAAE;gBAE9B,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;aACrD;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;QACL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;QAEnB,CAAC,CAAC;IACN,CAAC;;oFAjCQ,kBAAkB;gHAAlB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZiE;AAGvD;AACe;AACU;AAIoB;AAKrB;;;;;;;;;;;;;;IC2DrC,yEAAqD;IAOP,wVAAS,8BAAkB,IAAC;IACtD,yEAA6D;IACzD,uDACJ;IAAA,4DAAK;IAKb,yEAA0B;IAAA,qEAAU;IAAA,2EAAwD;IAAA,wDAAyB;IAAA,4DAAO;IAC5H,0EAA0B;IAAA,yEAAa;IAAA,4EAAwD;IAAA,wDAA0C;;IAAA,4DAAO;IAChJ,0EAA0B;IAAA,qEAAS;IAAA,4EAAwD;IAAA,wDAAsB;IAAA,4DAAO;IAOhI,2EAAwE;IAGT,yVAAS,iCAAqB,IAAC;IAAC,mEAAO;IAAA,4DAAI;IAG1G,2EAA0B;IAEtB,qEAAwB;IAE5B,4DAAM;;;IAzBc,0DACJ;IADI,kGACJ;IAKoF,0DAAyB;IAAzB,0FAAyB;IACtB,0DAA0C;IAA1C,uKAA0C;IAC9C,0DAAsB;IAAtB,uFAAsB;;;IAoB7H,yEAAkD;IAItC,6EACJ;IAAA,4DAAK;;;;IA0Bb,yEAAoD;IAMN,sVAAS,+BAAmB,IAAC;IACvD,yEAA0E;IACtE,uDACJ;IAAA,4DAAK;IAGT,wEAA4D;IAA9B,sVAAS,+BAAmB,IAAC;IACvD,yEAA6D;IACzD,uDACJ;IAAA,4DAAK;IAKb,0EAA0B;IAAA,0EAAc;IAAA,4EAAwD;IAAA,wDAAsC;;IAAA,4DAAO;IAE7I,0EAA0B;IAAA,sEAAU;IAAA,4EAAwD;IAAA,wDAAuB;IAAA,4DAAO;IAC1H,0EAA0B;IAAA,yEAAa;IAAA,4EAAwD;IAAA,wDAAuC;;IAAA,4DAAO;IAC7I,0EAA0B;IAAA,qEAAS;IAAA,4EAAwD;IAAA,wDAAgB;IAAA,4DAAO;IAQ1H,2EAA8E;IAEf,uVAAS,+BAAmB,IAAC;IAAC,kEAAM;IAAA,4DAAI;IACnG,yEAAyF;IAA9B,uVAAS,+BAAmB,IAAC;IAAC,mEAAO;IAAA,4DAAI;IAGxG,2EAA0B;IAEtB,qEAAwB;IAE5B,4DAAM;;;IAlCc,0DACJ;IADI,yFACJ;IAKI,0DACJ;IADI,+FACJ;IAKwF,0DAAsC;IAAtC,mKAAsC;IAE1C,0DAAuB;IAAvB,wFAAuB;IACpB,0DAAuC;IAAvC,oKAAuC;IAC3C,0DAAgB;IAAhB,iFAAgB;;;IAqBvH,yEAAmD;IAIvC,gFACJ;IAAA,4DAAK;;;;IA0Bb,yEAAgE;IAExD,mEACI;IACR,4DAAM;IACN,0EAA8E;IAEf,8VAAS,qCAAyB,IAAC;IAAC,+DAAI;IAAA,4DAAI;IAI3G,0EAA0B;IACtB,oEAAwB;IAC5B,4DAAM;;;IAX+C,0DAAmC;IAAnC,sKAAmC;IAAC,4JAAiC;;;IAe9H,yEAAuD;IAI3C,+EACJ;IAAA,4DAAK;;;IAoFzC,sEAAqD;IAc4C,mEAAQ;IAAA,4DAAK;IAQ1F,2EAA6C;IAYT,uEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAA4B;IAAA,4DAAO;IAGtG,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAA4D;;IAAA,4DAAO;IAGxI,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQ2D,wEAAY;IAAA,4DAAK;IAQ9F,2EAAgD;IAaZ,uEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAsD;IAAA,4DAAO;IAGhI,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAAgG;;IAAA,4DAAO;IAG5K,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQ2D,oEAAQ;IAAA,4DAAK;IAQ1F,2EAAgD;IAcZ,uEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAA4B;IAAA,4DAAO;IAItG,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAA4D;;IAAA,4DAAO;IAGxI,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQ2D,qEAAS;IAAA,4DAAK;IAQ3F,2EAA6C;IAaT,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA8B;IAAA,4DAAO;IACpG,6EAAkD;IAAC,yDAAuC;IAAA,4DAAO;IAIrG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAA8D;;IAAA,4DAAO;IAG1I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAWlC,4EAAsB;IAQ2D,qEAAQ;IAAA,4DAAK;IAQ1F,4EAAgD;IAaZ,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA6B;IAAA,4DAAO;IACnG,6EAAkD;IAAC,yDAAsC;IAAA,4DAAO;IAIpG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAA6D;;IAAA,4DAAO;IAGzI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAWlC,4EAAsB;IAS2D,oEAAO;IAAA,4DAAK;IAQzF,4EAA6C;IAaT,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAoC;IAAA,4DAAO;IAG9G,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAA4D;;IAAA,4DAAO;IAGxI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;;;IA9R6D,2DAA4B;IAA5B,gGAA4B;IAI1B,0DAA4D;IAA5D,kMAA4D;IAkD9D,2DAAsD;IAAtD,iIAAsD;IAIpD,0DAAgG;IAAhG,0OAAgG;IAmDlG,2DAA4B;IAA5B,gGAA4B;IAK1B,0DAA4D;IAA5D,kMAA4D;IAkD9D,2DAA8B;IAA9B,kGAA8B;IAC1C,0DAAuC;IAAvC,qHAAuC;IAKzB,0DAA8D;IAA9D,qMAA8D;IAkDhE,2DAA6B;IAA7B,iGAA6B;IACzC,0DAAsC;IAAtC,oHAAsC;IAKxB,0DAA6D;IAA7D,oMAA6D;IAmD/D,2DAAoC;IAApC,wGAAoC;IAIlC,0DAA4D;IAA5D,mMAA4D;;;IA2B7K,sEAAqD;IACiB,wEAAa;IAAA,4DAAK;IAEpF,yEAAiB;IAasC,wDAAgC;IAAA,4DAAO;IAItE,2EAAkB;IAEmD,oEAAQ;IAAA,4DAAK;IAQ1F,2EAAwF;IAW5D,sEAAS;IAAA,4EAAwD;IAAA,wDAAgE;;IAAA,4DAAO;IAG5I,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQqB,wDAA8D;IAAA,4DAAO;IAIpG,2EAAkB;IAEmD,wEAAY;IAAA,4DAAK;IAQ9F,2EAAwF;IAW5D,sEAAS;IAAA,4EAAwD;IAAA,wDAAwG;;IAAA,4DAAO;IAGpL,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQqB,wDAAgC;IAAA,4DAAO;IAItE,2EAAkB;IAEmD,oEAAQ;IAAA,4DAAK;IAQ1F,2EAAwF;IAW5D,sEAAS;IAAA,4EAAwD;IAAA,wDAAgE;;IAAA,4DAAO;IAG5I,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQqB,wDAAkC;IAAA,4DAAO;IACpE,4EAA8C;IAAC,wDAA2C;IAAA,4DAAO;IAGrG,2EAAkB;IAEmD,qEAAS;IAAA,4DAAK;IAQ3F,2EAAwF;IAW5D,sEAAS;IAAA,4EAAwD;IAAA,wDAAkE;;IAAA,4DAAO;IAG9I,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAWlC,2EAAsB;IAQqB,yDAAiC;IAAA,4DAAO;IACnE,6EAA8C;IAAC,yDAA0C;IAAA,4DAAO;IAIpG,4EAAkB;IAEmD,qEAAQ;IAAA,4DAAK;IAQ1F,4EAAwF;IAW5D,uEAAS;IAAA,6EAAwD;IAAA,yDAAiE;;IAAA,4DAAO;IAG7I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAWlC,4EAAsB;IAQqB,yDAAwC;IAAA,4DAAO;IAI9E,4EAAkB;IAEmD,oEAAO;IAAA,4DAAK;IAQzF,4EAAwF;IAW5D,uEAAS;IAAA,6EAAwD;IAAA,yDAAgE;;IAAA,4DAAO;IAG5I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;;;IApRS,2DAAgC;IAAhC,oGAAgC;IAyBsB,2DAAgE;IAAhE,sMAAgE;IAwBtH,0DAA8D;IAA9D,yIAA8D;IAyBR,2DAAwG;IAAxG,kPAAwG;IAwB9J,0DAAgC;IAAhC,oGAAgC;IAyBsB,2DAAgE;IAAhE,sMAAgE;IAwBtH,0DAAkC;IAAlC,sGAAkC;IACd,0DAA2C;IAA3C,yHAA2C;IAwBT,2DAAkE;IAAlE,wMAAkE;IAwBxH,0DAAiC;IAAjC,qGAAiC;IACb,0DAA0C;IAA1C,wHAA0C;IAyBR,2DAAiE;IAAjE,wMAAiE;IAwBvH,0DAAwC;IAAxC,4GAAwC;IAyBc,2DAAgE;IAAhE,uMAAgE;;;IA0BjL,sEAAqD;IACiB,2EAAgB;IAAA,4DAAK;IAEvF,yEAAiB;IAqB4E,oEAAQ;IAAA,4DAAK;IAQ1F,2EAA6C;IAaT,wEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAA6B;IAAA,4DAAO;IAGvG,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAAgE;;IAAA,4DAAO;IAG5I,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAGN,2EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAiC;IAAA,4DAAO;IAG3G,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAAiE;;IAAA,4DAAO;IAI7I,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IA4ClC,2EAAsB;IAc2D,wEAAY;IAAA,4DAAK;IAQ9F,2EAAgD;IAcZ,wEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAwD;IAAA,4DAAO;IAGlI,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAAuG;;IAAA,4DAAO;IAInL,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAGN,2EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAgE;IAAA,4DAAO;IAG1I,2EAAuC;IACnC,sEAAS;IAAA,4EAAwD;IAAA,wDAAyG;;IAAA,4DAAO;IAIrL,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IA4ClC,2EAAsB;IAc2D,oEAAQ;IAAA,4DAAK;IAQ1F,2EAAgD;IAeZ,yEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA6B;IAAA,4DAAO;IAGvG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAgE;;IAAA,4DAAO;IAI5I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAGN,4EAAwC;IAG5B,6EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAiC;IAAA,4DAAO;IAG3G,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAiE;;IAAA,4DAAO;IAI7I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IA4ClC,4EAAsB;IAc2D,sEAAS;IAAA,4DAAK;IAQ3F,4EAA6C;IAcT,yEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA+B;IAAA,4DAAO;IACrG,6EAAkD;IAAC,yDAAwC;IAAA,4DAAO;IAGtG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAkE;;IAAA,4DAAO;IAI9I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAKN,4EAAwC;IAG5B,6EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAmC;IAAA,4DAAO;IACzG,6EAAkD;IAAC,yDAA4C;IAAA,4DAAO;IAG1G,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAmE;;IAAA,4DAAO;IAI/I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IA4ClC,4EAAsB;IAc2D,qEAAQ;IAAA,4DAAK;IAQ1F,4EAAgD;IAeZ,yEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA8B;IAAA,4DAAO;IACpG,6EAAkD;IAAC,yDAAuC;IAAA,4DAAO;IAGrG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAiE;;IAAA,4DAAO;IAI7I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAIN,4EAAwC;IAG5B,6EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAkC;IAAA,4DAAO;IACxG,6EAAkD;IAAC,yDAA2C;IAAA,4DAAO;IAGzG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAkE;;IAAA,4DAAO;IAI9I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IA4ClC,4EAAsB;IAc2D,oEAAO;IAAA,4DAAK;IAQzF,4EAA6C;IAeT,yEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA6B;IAAA,4DAAO;IAGvG,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAgE;;IAAA,4DAAO;IAI5I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAGN,4EAAwC;IAG5B,6EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAiC;IAAA,4DAAO;IAG3G,4EAAuC;IACnC,uEAAS;IAAA,6EAAwD;IAAA,yDAAiE;;IAAA,4DAAO;IAI7I,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAmD9C,2EAAiB;IAO+E,0EAAa;IAAA,4DAAO;IAChG,2EAA+D;IAAA,yDAAwE;;IAAA,4DAAK;IAGpJ,2EAAkC;IAEkD,4EAAe;IAAA,4DAAO;IAClG,2EAA+D;IAAA,yDAAoH;;IAAA,4DAAK;IAGhM,2EAAkC;IAEkD,yDAA0B;IAAA,4DAAO;IAC7G,2EAA+D;IAAA,yDAA2D;;IAAA,4DAAK;IASvI,2EAAkC;IAEkD,yDAA4B;IAAA,4DAAO;IAC/G,2EAA+D;IAAA,yDAA4I;;IAAA,4DAAK;;;IA/rBzH,2DAA6B;IAA7B,iGAA6B;IAI3B,0DAAgE;IAAhE,sMAAgE;IAgBlE,2DAAiC;IAAjC,qGAAiC;IAI/B,0DAAiE;IAAjE,uMAAiE;IA2FnE,2DAAwD;IAAxD,mIAAwD;IAItD,0DAAuG;IAAvG,kPAAuG;IAiBzG,2DAAgE;IAAhE,2IAAgE;IAI9D,0DAAyG;IAAzG,oPAAyG;IA4F3G,2DAA6B;IAA7B,iGAA6B;IAI3B,0DAAgE;IAAhE,uMAAgE;IAiBlE,2DAAiC;IAAjC,qGAAiC;IAI/B,0DAAiE;IAAjE,wMAAiE;IA2FnE,2DAA+B;IAA/B,mGAA+B;IAC3C,0DAAwC;IAAxC,sHAAwC;IAI1B,0DAAkE;IAAlE,yMAAkE;IAmBpE,2DAAmC;IAAnC,uGAAmC;IAC/C,0DAA4C;IAA5C,0HAA4C;IAI9B,0DAAmE;IAAnE,0MAAmE;IA4FrE,2DAA8B;IAA9B,kGAA8B;IAC1C,0DAAuC;IAAvC,qHAAuC;IAIzB,0DAAiE;IAAjE,wMAAiE;IAkBnE,2DAAkC;IAAlC,sGAAkC;IAC9C,0DAA2C;IAA3C,yHAA2C;IAI7B,0DAAkE;IAAlE,yMAAkE;IA4FpE,2DAA6B;IAA7B,iGAA6B;IAI3B,0DAAgE;IAAhE,uMAAgE;IAiBlE,2DAAiC;IAAjC,qGAAiC;IAI/B,0DAAiE;IAAjE,wMAAiE;IAiE3F,2DAAwE;IAAxE,8MAAwE;IAMxE,0DAAoH;IAApH,+PAAoH;IAKvG,0DAA0B;IAA1B,8FAA0B;IACvC,0DAA2D;IAA3D,iMAA2D;IAW9C,0DAA4B;IAA5B,gGAA4B;IACzC,0DAA4I;IAA5I,uRAA4I;;;IAQnO,sEAAkC;IACoC,0EAAe;IAAA,4DAAK;IACtF,yEAAiB;IAMuC,wDAA6B;IAAA,4DAAO;IAExE,2EAAc;IACmD,oEAAQ;IAAA,4DAAK;IAKtF,0EAAkC;IAGU,wDAAiC;IAAA,4DAAO;IACxE,4EAAgD;IAAC,wDAAuC;IAAA,4DAAO;IAEnG,2EAAc;IACmD,qEAAS;IAAA,4DAAK;IAIvF,0EAAkC;IAGU,wDAAoC;IAAA,4DAAO;IAC3E,4EAAgD;IAAC,wDAAsC;IAAA,4DAAO;IAElG,2EAAc;IACmD,oEAAQ;IAAA,4DAAK;IAItF,0EAAkC;IAGU,wDAAoC;IAAA,4DAAO;IAE/E,2EAAc;IACmD,mEAAO;IAAA,4DAAK;IAuBjG,0EAAiB;IAW4E,oEAAQ;IAAA,4DAAK;IAI1F,2EAA6C;IAST,uEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAuC;IAAA,4DAAO;IAEjH,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IACN,2EAAwC;IAG5B,2EACJ;IAAA,4DAAK;IAGb,2EAAuC;IACnC,oEAAO;IAAA,4EAAwD;IAAA,wDAAwC;IAAA,4DAAO;IAElH,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IACN,2EAA4B;IACwD,mEAAO;IAAA,4DAAK;IAEhG,2EAAwC;IAG5B,uEACJ;IAAA,4DAAK;IAGb,2EAAuC;IACqB,wDAAgE;;IAAA,4DAAO;IAEnI,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IACN,2EAAwC;IAG5B,2EACJ;IAAA,4DAAK;IAGb,2EAAuC;IACqB,wDAAiE;;IAAA,4DAAO;IAEpI,2EAA0B;IACtB,qEAAwB;IAC5B,4DAAM;IAQlC,4EAAsB;IAO2D,yEAAY;IAAA,4DAAK;IAI9F,4EAAgD;IASZ,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA2C;IAAA,4DAAO;IAErH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA4C;IAAA,4DAAO;IAEtH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAA4B;IACwD,oEAAO;IAAA,4DAAK;IAEhG,4EAAwC;IAG5B,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAoE;;IAAA,4DAAO;IAEvI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAqE;;IAAA,4DAAO;IAExI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IASlC,4EAAsB;IAO2D,oEAAO;IAAA,4DAAK;IAIzF,4EAAgD;IASZ,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAA+B;IAAA,4DAAO;IAEzG,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAgC;IAAA,4DAAO;IAE1G,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAA4B;IACwD,oEAAO;IAAA,4DAAK;IAEhG,4EAAwC;IAG5B,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAgE;;IAAA,4DAAO;IAEnI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAiE;;IAAA,4DAAO;IAEpI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAQlC,4EAAsB;IAO2D,sEAAS;IAAA,4DAAK;IAI3F,4EAA6C;IAST,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAkC;IAAA,4DAAO;IACxG,6EAAmE;IAAC,yDAAuC;IAAA,4DAAO;IAEtH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAmC;IAAA,4DAAO;IACzG,6EAAmE;IAAC,yDAA2C;IAAA,4DAAO;IAE1H,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAA4B;IACwD,oEAAO;IAAA,4DAAK;IAEhG,4EAAwC;IAG5B,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAA8C;IAAA,4DAAO;IAEjH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAA+C;IAAA,4DAAO;IAElH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAQlC,4EAAsB;IAO2D,qEAAQ;IAAA,4DAAK;IAI1F,4EAAgD;IASZ,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAoC;IAAA,4DAAO;IAC1G,6EAAmE;IAAC,yDAAsC;IAAA,4DAAO;IAErH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAuC;IAAA,4DAAO;IAC7G,6EAAmE;IAAC,yDAA0C;IAAA,4DAAO;IAEzH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAA4B;IACwD,oEAAO;IAAA,4DAAK;IAEhG,4EAAwC;IAG5B,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAiE;;IAAA,4DAAO;IAEpI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAkE;;IAAA,4DAAO;IAErI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAQlC,4EAAsB;IAO2D,oEAAO;IAAA,4DAAK;IAIzF,4EAA6C;IAST,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAoC;IAAA,4DAAO;IAE9G,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACnC,qEAAO;IAAA,6EAAwD;IAAA,yDAAwC;IAAA,4DAAO;IAElH,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAA4B;IACwD,oEAAO;IAAA,4DAAK;IAEhG,4EAAwC;IAG5B,wEACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAgE;;IAAA,4DAAO;IAEnI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IACN,4EAAwC;IAG5B,4EACJ;IAAA,4DAAK;IAGb,4EAAuC;IACqB,yDAAiE;;IAAA,4DAAO;IAEpI,4EAA0B;IACtB,sEAAwB;IAC5B,4DAAM;IAW9C,2EAAiB;IAK+E,yEAAY;IAAA,4DAAO;IAC/F,2EAA+D;IAAA,yDAAsD;;IAAA,4DAAK;IAGlI,2EAAkC;IAEkD,0EAAa;IAAA,4DAAO;IAChG,2EAA+D;IAAA,yDAAkE;;IAAA,4DAAK;IAG9I,2EAAkC;IAEkD,iEAAI;IAAA,4DAAO;IACvF,2EAA+D;IAC3D,yDACA;;IAAA,6EAA+B;IAC3B,yDACJ;IAAA,4DAAO;IAInB,2EAAkC;IAEkD,sEAAS;IAAA,4DAAO;IAC5F,2EAA+D;IAC3D,yDACA;;IAAA,6EAA+B;IAC3B,yDACJ;IAAA,4DAAO;;;IAlkByB,2DAA6B;IAA7B,iGAA6B;IAW7B,0DAAiC;IAAjC,qGAAiC;IAChB,0DAAuC;IAAvC,qHAAuC;IAUxD,0DAAoC;IAApC,wGAAoC;IACnB,0DAAsC;IAAtC,oHAAsC;IAUvD,0DAAoC;IAApC,wGAAoC;IAuDe,2DAAuC;IAAvC,2GAAuC;IAavC,2DAAwC;IAAxC,4GAAwC;IAgB/C,2DAAgE;IAAhE,qMAAgE;IAahE,2DAAiE;IAAjE,sMAAiE;IAqC1D,2DAA2C;IAA3C,+GAA2C;IAa3C,2DAA4C;IAA5C,gHAA4C;IAgBnD,2DAAoE;IAApE,0MAAoE;IAapE,2DAAqE;IAArE,2MAAqE;IAsC9D,2DAA+B;IAA/B,mGAA+B;IAa/B,2DAAgC;IAAhC,oGAAgC;IAgBvC,2DAAgE;IAAhE,sMAAgE;IAahE,2DAAiE;IAAjE,uMAAiE;IAqC1D,2DAAkC;IAAlC,sGAAkC;IAC7B,0DAAuC;IAAvC,qHAAuC;IAa5C,2DAAmC;IAAnC,uGAAmC;IAC9B,0DAA2C;IAA3C,yHAA2C;IAgBvD,2DAA8C;IAA9C,2HAA8C;IAa9C,0DAA+C;IAA/C,4HAA+C;IAqCxC,2DAAoC;IAApC,wGAAoC;IAC/B,0DAAsC;IAAtC,oHAAsC;IAa3C,2DAAuC;IAAvC,2GAAuC;IAClC,0DAA0C;IAA1C,wHAA0C;IAgBtD,2DAAiE;IAAjE,uMAAiE;IAajE,2DAAkE;IAAlE,wMAAkE;IAqC3D,2DAAoC;IAApC,wGAAoC;IAapC,2DAAwC;IAAxC,4GAAwC;IAgB/C,2DAAgE;IAAhE,sMAAgE;IAahE,2DAAiE;IAAjE,uMAAiE;IAqBlF,2DAAsD;IAAtD,4LAAsD;IAMtD,0DAAkE;IAAlE,wMAAkE;IAO7H,0DACA;IADA,+KACA;IACI,0DACJ;IADI,oHACJ;IAQA,0DACA;IADA,oLACA;IACI,0DACJ;IADI,yHACJ;;;IAQ5B,0EAAuD;IACe,+EAAoB;IAAA,4DAAK;IAC3F,yEAAiB;IAKG,qEAA4B;IAChC,4DAAM;IACN,0EAA6B;IACzB,sEAA0B;IAC9B,4DAAM;IACN,2EAA6B;IACzB,sEAA6B;IACjC,4DAAM;IACN,2EAA6B;IACzB,sEAA2B;IAC/B,4DAAM;IACN,2EAA6B;IACzB,sEAAwB;IAC5B,4DAAM;IACN,2EAA6B;IACzB,sEAAwB;IAC5B,4DAAM;;;;IAOtB,0EAAkC;IACE,0EAAe;IAAA,4DAAK;IAKxD,0EAA6B;IAKwB,sTAAU,gBAAQ,CAAC,CAAC,IAAC,8PAAW,wBAAgB,IAA3B;IAE9D,6FAA4B;IAEpB,6EACJ;IAAA,4DAAkB;IAGtB,yEAA8B;IAGlB,uEACJ;IAAA,4DAAM;IACN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,2EACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,sEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,mEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAInB,0EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,wEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAMnB,kFAAgB;IACmC,mSAAS,kBAAU,IAAC;IAAC,gEAAI;IAAA,4DAAI;IAIpF,2FAA0G;IAA7D,uTAAU,gBAAQ,CAAC,CAAC,IAAC,+PAAW,wBAAgB,IAA3B;IAC9D,8FAA4B;IAEpB,4EACJ;IAAA,4DAAkB;IAGtB,0EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;IAAA,4DAAO;IAInB,0EAA8B;IAGlB,mEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,wDACJ;;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,mEACJ;IAAA,4DAAM;IAEN,2EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,2EACJ;IAAA,4DAAM;IAEN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAInB,mFAAgB;IACqC,oSAAS,kBAAU,IAAC;IAAC,qEAAQ;IAAA,4DAAI;IAClF,0EAAoE;IAArB,oSAAS,kBAAU,IAAC;IAAC,iEAAI;IAAA,4DAAI;IAIpF,4FAA0G;IAA7D,wTAAU,gBAAQ,CAAC,CAAC,IAAC,gQAAW,wBAAgB,IAA3B;IAC9D,+FAA4B;IAEpB,8EACJ;IAAA,4DAAkB;IAGtB,2EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,4EACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,0EACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,qEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,wEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IACN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAOnB,mFAAgB;IACqC,oSAAS,kBAAU,IAAC;IAAC,qEAAQ;IAAA,4DAAI;IAClF,0EAAoE;IAArB,oSAAS,kBAAU,IAAC;IAAC,iEAAI;IAAA,4DAAI;IAIpF,4FAA0G;IAA7D,wTAAU,gBAAQ,CAAC,CAAC,IAAC,gQAAW,wBAAgB,IAA3B;IAC9D,+FAA4B;IAEpB,6EACJ;IAAA,4DAAkB;IAGtB,2EAA8B;IAGlB,oEACJ;IAAA,4DAAM;IAEN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,qEACJ;IAAA,4DAAM;IAEN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAKnB,2EAA8B;IAGlB,yEACJ;IAAA,4DAAM;IAEN,4EAAuB;IAEf,yDACJ;IAAA,4DAAO;IAInB,mFAAgB;IACqC,oSAAS,kBAAU,IAAC;IAAC,qEAAQ;IAAA,4DAAI;IAOlG,4EAA0B;IACiB,ySAAS,iCAAiB,IAAC;IAC9D,sEACJ;IAAA,4DAAS;IACT,+EAAyD;IAAlB,mRAAS,WAAO,IAAC;IACpD,oEACJ;IAAA,4DAAS;;;IA5ZgB,0DAAuB;IAAvB,wFAAuB;IAexB,2DACJ;IADI,mHACJ;IAaI,0DACJ;IADI,2HACJ;IAaI,0DACJ;IADI,yHACJ;IAaI,0DACJ;IADI,sHACJ;IAaI,0DACJ;IADI,uHACJ;IAYI,0DACJ;IADI,uHACJ;IAaI,0DACJ;IADI,wHACJ;IAaI,0DACJ;IADI,oHACJ;IAWK,0DAAuB;IAAvB,wFAAuB;IAexB,2DACJ;IADI,yHACJ;IAaI,0DACJ;IADI,6HACJ;IAYI,0DACJ;IADI,0MACJ;IAaI,0DACJ;IADI,yHACJ;IAaI,0DACJ;IADI,gJACJ;IAUK,0DAAuB;IAAvB,wFAAuB;IAcxB,2DACJ;IADI,0HACJ;IAYI,0DACJ;IADI,kIACJ;IAYI,0DACJ;IADI,gIACJ;IAYI,0DACJ;IADI,2HACJ;IAYI,0DACJ;IADI,+HACJ;IAYI,0DACJ;IADI,6HACJ;IAYI,0DACJ;IADI,0HACJ;IAYI,0DACJ;IADI,8HACJ;IAYI,0DACJ;IADI,+HACJ;IAYI,0DACJ;IADI,mIACJ;IAaK,0DAAuB;IAAvB,wFAAuB;IAexB,2DACJ;IADI,yHACJ;IAaI,0DACJ;IADI,0HACJ;IAaI,0DACJ;IADI,8HACJ;;;;IAwBxB,0EAAkC;IACE,yEAAc;IAAA,4DAAK;IAGvD,0EAA6B;IAOb,0EACJ;IAAA,4DAAM;IAEN,2EAAsB;IAEd,wDACJ;IAAA,4DAAO;IAmBnB,0EAA8B;IAGlB,mEACJ;IAAA,4DAAM;IAEN,4EAAsB;IAEd,wDACJ;;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,uEACJ;IAAA,4DAAM;IAEN,4EAAsB;IAEd,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,2EACJ;IAAA,4DAAM;IAEN,4EAAsB;IAEd,wDACJ;IAAA,4DAAO;IAKnB,0EAA8B;IAGlB,6EACJ;IAAA,4DAAM;IAEN,4EAAsB;IAEd,wDACJ;IAAA,4DAAO;IAQvB,2EAA0B;IACiB,kRAAS,WAAO,IAAC;IACpD,gEACJ;IAAA,4DAAS;;;IAlFO,2DACJ;IADI,uGACJ;IA2BI,0DACJ;IADI,uLACJ;IAaI,0DACJ;IADI,0GACJ;IAaI,0DACJ;IADI,uGACJ;IAaI,0DACJ;IADI,yGACJ;;ADpzFpB,iEAAc,CAAC,uCAAU,CAAC,CAAC;AAC3B,qEAAoB,CAAC,uCAAU,CAAC,CAAC;AAO1B,MAAM,cAAc;IAoBvB,YAAoB,WAAkC,EAC1C,gBAAiC,EACjC,iBAAmC,EACnC,KAAe,EACf,OAAkB,EAClB,OAAe,EACf,QAAkB;QANV,gBAAW,GAAX,WAAW,CAAuB;QAC1C,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAU;QAtBpB,sBAAiB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAGvD,UAAK,GAAW,EAAE,CAAC;QACnB,kBAAa,GAAQ,EAAE,CAAC;QACxB,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAQ,EAAE,CAAC;QAM5B,SAAI,GAAG,CAAC,CAAC;QAaL,0BAA0B;IAC9B,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEM,eAAe;QAClB,0BAA0B;QAC1B,wBAAwB;QACxB,2BAA2B;QAC3B,yBAAyB;QACzB,qBAAqB;QACrB,sBAAsB;IAC1B,CAAC;IAED,gBAAgB;QAEZ,gCAAgC;QAChC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI;aAEvC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC3C,uBAAuB;QAC3B,CAAC,CAAC;QAEF,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,wBAAwB;QACpB,UAAU,CAAC,GAAG,EAAE;YAEZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE5B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB;IAClC,CAAC;IAED,WAAW,CAAC,KAAU;QAElB,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,KAAK,CAAC;aAChD,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGvB,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,uBAAuB;QAC3B,CAAC,CAAC;IAEV,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAEhC,kCAAkC;gBAClC,2BAA2B;aAC9B;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC3C,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,IAAI;QACd,OAAO,mEAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,KAAK;QACV,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;YAC5B,OAAO,GAAG,CAAC;;YACV,OAAO,KAAK,CAAC;IACtB,CAAC;IAED,sBAAsB;QAElB,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC;aAEvE;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC3C,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAExD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,YAAY;gBACZ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;aAE/B;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC3C,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,IAAS;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,aAAa,CAAC,KAAU;QACpB,uBAAuB;QAGvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,KAAK,EAAE,gBAAgB,EAAE;SACrF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC;iBACrC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAGvB,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBAE3B;qBAAM;oBACH,mBAAmB;iBAEtB;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,uBAAuB;YAC3B,CAAC,CAAC;YACN,kBAAkB;QAEtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAS;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,IAAS;QACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,qIAAqI;QACrI,wGAAwG;QAExG,uEAAuE;QACvE,qBAAqB;QACrB,4EAA4E;QAC5E,WAAW;QACX,gIAAgI;QAChI,kDAAkD;QAElD,mEAAmE;QACnE,6EAA6E;IACjF,CAAC;IAED,OAAO,CAAC,KAAU;QACd,uBAAuB;QAEvB,aAAa;QAEb,iCAAiC;QACjC,kCAAkC;QAClC,kCAAkC;QAClC,kCAAkC;QAClC,0CAA0C;QAC1C,qDAAqD;QACrD,iDAAiD;QACjD,iEAAiE;QACjE,6DAA6D;QAC7D,uDAAuD;QACvD,iDAAiD;QACjD,yDAAyD;QACzD,2DAA2D;QAC3D,mDAAmD;QACnD,qDAAqD;QACrD,iEAAiE;QACjE,iFAAiF;QACjF,6EAA6E;QAC7E,uEAAuE;QACvE,iEAAiE;QACjE,yEAAyE;QACzE,2EAA2E;QAC3E,mEAAmE;QACnE,mFAAmF;QACnF,2EAA2E;QAC3E,+DAA+D;QAC/D,yEAAyE;QACzE,iEAAiE;QACjE,wDAAwD;QACxD,8DAA8D;QAC9D,uEAAuE;QACvE,0DAA0D;QAC1D,IAAI;QAEJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,SAAS,EAAE;SAC/E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC;gBACvC,gCAAgC;gBAChC,wBAAwB;gBACxB,IAAI;iBACH,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEvB,oCAAoC;gBACpC,8BAA8B;gBAC9B,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBAE3B;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACxB,mBAAmB;iBAEtB;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,uBAAuB;YAC3B,CAAC,CAAC;QAEV,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAIP,CAAC;IAGD,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,cAAc;QACV,oBAAoB;QAEpB,UAAU,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,CAAC;IAED,QAAQ;QACJ,wDAAwD;QACxD,yBAAyB;QACzB,wBAAwB;QACxB,8BAA8B;QAC9B,wBAAwB;QACxB,UAAU;QACV,sBAAsB;QACtB,GAAG;QACH,MAAM;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IAGhB,CAAC;IAED,QAAQ;QAEJ,wDAAwD;QACxD,yBAAyB;QACzB,wBAAwB;QACxB,8BAA8B;QAC9B,wBAAwB;QACxB,UAAU;QACV,sBAAsB;QACtB,GAAG;QACH,MAAM;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,GAAW,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5D,CAAC;IAED,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACX,WAAW;QACf,MAAM,KAAK,GAAG,6CAAgB,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE;gBACH,IAAI,EAAE,2CAA2C;gBACjD,KAAK,EAAE,MAAM;aAChB;YACD,KAAK,EAAE;gBACH,UAAU,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;aAC9E;YACD,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,eAAe;iBACxB;aACJ;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,CAAC;wBACJ,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACH,IAAI,EAAE,MAAM;4BACZ,GAAG,EAAE,MAAM;4BACX,KAAK,EAAE,EAAE,QAAQ;4BACb,2CAA2C;4BAC3C,8CAA8C;4BAC9C,OAAO,CACV,IAAI,CAAO;yBACf;qBACJ,CAAC;aACL;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC/B,EAAE;oBACC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC/B,EAAE;oBACC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC/B,EAAE;oBACC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;oBACxC,MAAM,EAAE;wBACJ,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,OAAO;wBAClB,SAAS,EAAE,OAAO;qBACrB;iBACJ,EAAE;oBACC,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC;4BACH,IAAI,EAAE,MAAM;4BACZ,CAAC,EAAE,GAAG;4BACN,KAAK,EAAE,SAAS,CAAC,kDAAkD;yBACtE,EAAE;4BACC,IAAI,EAAE,MAAM;4BACZ,CAAC,EAAE,GAAG;4BACN,KAAK,EAAE,SAAS,CAAC,iDAAiD;yBACrE,EAAE;4BACC,IAAI,EAAE,MAAM;4BACZ,CAAC,EAAE,GAAG;4BACN,KAAK,EAAE,SAAS,kDAAiD;yBACpE,CAAC;oBACF,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBAChB,IAAI,EAAE,GAAG;oBACT,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE;wBACR,OAAO,EAAE,KAAK;qBACjB;iBACJ,CAAC;SACE,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,gBAAgB;QACpB,MAAM,KAAK,GAAG,6CAAgB,CAAC,aAAa,EAAE;YAC1C,KAAK,EAAE;gBACH,IAAI,EAAE,YAAY;aACrB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,aAAa;aACtB;YACD,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YACD,IAAI,EAAE;gBACF,UAAU,EAAE,CAAC,EAAE;gBACf,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBACtB,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE;oBACR,WAAW,EAAE,KAAK;oBAClB,WAAW,EAAE,MAAM;oBACnB,KAAK,EAAE,KAAK;iBACf;aACJ;YACD,KAAK,EAAE;gBACH,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE;oBACH,CAAC,GAAG,EAAE,SAAS,CAAC;oBAChB,CAAC,GAAG,EAAE,SAAS,CAAC;oBAChB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM;iBAC3B;gBACD,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE;oBACJ,CAAC,EAAE,EAAE;iBACR;aACJ;YACD,WAAW,EAAE;gBACT,UAAU,EAAE;oBACR,UAAU,EAAE;wBACR,CAAC,EAAE,CAAC,EAAE;wBACN,WAAW,EAAE,CAAC;wBACd,OAAO,EAAE,IAAI;qBAChB;iBACJ;aACJ;YACD,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACpC,UAAU,EAAE;wBACR,MAAM,EAAE,mFAAmF;qBAC9F;iBACJ,CAAC;SACE,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,cAAc;QAClB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAU,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;aACnC,CAAC,CAAC;SACN;QAED,MAAM,KAAK,GAAG,6CAAgB,CAAC,WAAW,EAAE;YACxC,KAAK,EAAE;gBACH,IAAI,EAAE,KAAK;aACd;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,WAAW;aACpB;YACD,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YACD,OAAO,EAAE;gBACL,YAAY,EAAE,iDAAiD;gBAC/D,WAAW,EAAE,gCAAgC;gBAC7C,OAAO,EAAE,IAAI;aAChB;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,KAAK;oBAChB,IAAI;iBACP,CAAC;SACE,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;aACnC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAU,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;aACnC,CAAC,CAAC;SACN;QAED,MAAM,KAAK,GAAG,6CAAgB,CAAC,cAAqB,EAAE;YAClD,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,cAAc;aACvB;YACD,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACJ,OAAO,EAAE,KAAK;aACjB;YACD,KAAK,EAAE;gBACH,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,SAAS;aACnB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,UAAU;aACnB;YACD,OAAO,EAAE;gBACL,YAAY,EAAE,8BAA8B;gBAC5C,WAAW,EAAE,qCAAqC;gBAClD,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aAChB;YACD,WAAW,EAAE;gBACT,GAAG,EAAE;oBACD,UAAU,EAAE;wBACR,OAAO,EAAE,IAAI;qBAChB;iBACJ;aACJ;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACP,CAAC;SACE,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;aACnC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,eAAe;QACnB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAU,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1F;QAED,MAAM,KAAK,GAAG,6CAAgB,CAAC,YAAY,EAAE;YACzC,KAAK,EAAE;gBACH,IAAI,EAAE,MAAM;aACf;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,YAAY;aACrB;YACD,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACJ,OAAO,EAAE,KAAK;aACjB;YACD,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,IAAI;iBACb;aACJ;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,UAAU;aACnB;YACD,OAAO,EAAE;gBACL,YAAY,EAAE,8BAA8B;gBAC5C,WAAW,EAAE,qCAAqC;gBAClD,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aAChB;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACP,CAAC;SACE,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtH,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,YAAY;QAChB,MAAM,KAAK,GAAG,6CAAgB,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE;gBACH,IAAI,EAAE,wDAAwD;aACjE;YAED,QAAQ,EAAE;gBACN,IAAI,EAAE,4FAA4F;aACrG;YAED,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,qBAAqB;iBAC9B;aACJ;YAED,KAAK,EAAE;gBACH,aAAa,EAAE;oBACX,gBAAgB,EAAE,qBAAqB;iBAC1C;aACJ;YAED,MAAM,EAAE;gBACJ,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,OAAO;gBACd,aAAa,EAAE,QAAQ;aAC1B;YAED,WAAW,EAAE;gBACT,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,gBAAgB,EAAE,KAAK;qBAC1B;oBACD,UAAU,EAAE,IAAI;iBACnB;aACJ;YAED,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,2BAA2B;oBACjC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;wBAC7C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAC9C,EAAE;oBACC,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;wBAC3C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;iBACzC,EAAE;oBACC,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;wBAC3C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;iBACzC,EAAE;oBACC,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;wBAC3C,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;iBACjC,EAAE;oBACC,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;wBAC/C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;iBAClC,CAAC;YAEF,UAAU,EAAE;gBACR,KAAK,EAAE,CAAC;wBACJ,SAAS,EAAE;4BACP,QAAQ,EAAE,GAAG;yBAChB;wBACD,YAAY,EAAE;4BACV,MAAM,EAAE;gCACJ,MAAM,EAAE,YAAY;gCACpB,KAAK,EAAE,QAAQ;gCACf,aAAa,EAAE,QAAQ;6BAC1B;yBACJ;qBACJ,CAAC;aACL;SACG,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;4EAnvBQ,cAAc;4GAAd,cAAc;;;;;;;;QCxB3B,yEAAiB;QAIgC,oEAAS;QAAA,4DAAO;QAK7D,oEACM;QAEV,4DAAM;QAEN,wEAAkE;QAAA,0EAAe;QAAA,4DAAK;QAKtF,yEAAuB;QASiC,wDAA6B;QAAA,4DAAO;QAGxE,2EAAc;QACmD,oEAAQ;QAAA,4DAAK;QAIlF,2EAAqE;QAE7B,wDAAoC;QAAA,4DAAO;QAG/E,2EAAc;QACmD,mEAAO;QAAA,4DAAK;QAIjF,2EAAmE;QAEhC,kEAAM;QAAA,4DAAO;QAExC,4EAAgC;QAAA,wDAAsQ;;QAAA,4DAAO;QAGjT,2EAAc;QACmD,mEAAO;QAAA,4DAAK;QAOrF,0EAAkC;QAO2D,4EAAgB;QAAA,4DAAK;QAGtG,2EAAqC;QAEjC,8GAmCM;QAEN,6GAQM;QAEV,4DAAM;QASlB,0EAAkC;QAO2D,qEAAS;QAAA,4DAAK;QAG/F,2EAAqC;QAEjC,+GA2CM;QAEN,6GAQM;QAEV,4DAAM;QASlB,0EAAkC;QAO2D,iEAAK;QAAA,4DAAK;QAG3F,2EAAqC;QAEjC,6GAeM;QAEN,6GAQM;QA6DV,4DAAM;QAoB9B,gHAwVM;QAGN,gHAuTM;QAEN,gHAuvBM;QAEN,gHAilBM;QACN,8GA4BM;QACN,4MA0ac;QAGd,0MAqGc;;QArzF0C,2DAA6B;QAA7B,8FAA6B;QAU7B,0DAAoC;QAApC,qGAAoC;QAYpC,0DAAsQ;QAAtQ,sZAAsQ;QAuB9P,2DAAe;QAAf,qFAAe;QAqCjC,0DAA8B;QAA9B,8FAA8B;QA+Bd,0DAAgB;QAAhB,sFAAgB;QA6ChC,0DAA+B;QAA/B,+FAA+B;QA+BP,0DAAoB;QAApB,0FAAoB;QAiB5C,0DAAmC;QAAnC,mGAAmC;QAyF3E,0DAA6C;QAA7C,oHAA6C;QA2V7C,0DAA6C;QAA7C,oHAA6C;QAyT7C,0DAA6C;QAA7C,oHAA6C;QAyvB7C,0DAA0B;QAA1B,4FAA0B;QAklB1B,0DAA0B;QAA1B,4FAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;AClyE+C;AACX;AAGC;;;;;;;;;;;;ICyBjD,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADtD,0EAAoD;IAChD,4HAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAwCjC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD9D,0EAA6D;IACzD,4HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IASrC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD9D,0EAAwD;IACpD,4HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAerC,sEAAoC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IADxD,0EAAqD;IACjD,4HAA0D;IAC9D,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;AD/E/C,MAAM,wBAAwB;IAejC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B,EAC/B,gBAAiC,EACjC,MAAc,EACd,cAAoC,EACpC,KAAqB;QANd,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAsB;QACpC,UAAK,GAAL,KAAK,CAAgB;QAnB1B,WAAM,GAAG,KAAK,CAAC;QAItB,gBAAW,GAAQ,CAAC,CAAC;QAGX,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;QAUZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,0BAA0B;QAC1B,8BAA8B;QAC9B,uDAAuD;QACvD,2DAA2D;QAC3D,SAAS;QAGT,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YAC5E,KAAK,EAAE,CAAC,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,0BAA0B;QAE1B,qCAAqC;QACrC,6BAA6B;QAC7B,GAAG;QAGH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEhC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBAC9B,yBAAyB;gBACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,oBAAoB;gBACpB,0BAA0B;gBAC1B,WAAW;aACd;SAEJ;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,eAAe;QACX,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,YAAY,EAAE,CAAC;iBACvB;aACJ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElD,YAAY;QACR,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAG9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACxF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACpF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACjF,kFAAkF;YAClF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAEnF;IACL,CAAC;IAED,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAEhC,mFAAmF;aAEtF;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,QAAQ;QAEJ,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC/C,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAC/D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBAC3D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACnD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,wDAAwD;gBACxD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACzD,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACjD,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;aAE3D;SACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,KAAK,KAAK,CAAC;IAEX,MAAM,CAAC,EAAE;QAEL,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;iBAG3B;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,YAAY,CAAC,GAAG;QACZ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC1C;IACL,CAAC;;gGAzNQ,wBAAwB;sHAAxB,wBAAwB;QCdrC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAQ5C,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAEgD,oJAAY,cAAU,IAAC;QAEhF,yEAAiB;QAGkB,iEAAK;QAAA,4DAAQ;QACxC,wEAEyD;QACzD,uHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,yEAAa;QAAA,4DAAQ;QAChD,wEACwD;QAC5D,4DAAM;QACN,2EAAmB;QACY,mEAAO;QAAA,4DAAQ;QAC1C,wEACkD;QACtD,4DAAM;QACN,2EAAmB;QACY,uEAAW;QAAA,4DAAQ;QAC9C,wEACsD;QAC1D,4DAAM;QACN,2EAAoB;QACW,2EAAe;QAAA,4DAAQ;QAClD,wEAE6D;QAE7D,4EAA2B;QAAA,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QAExD,4DAAM;QACN,2EAAmB;QACY,iEAAK;QAAA,4DAAQ;QAMxC,wEAE6D;QAC7D,uHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,wEAE4D;QAC5D,uHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QACN,2EAAmB;QAEY,kEAAM;QAAA,4DAAQ;QACzC,wEAE0D;QAC1D,uHAEM;QAGN,4DAAM;QACN,2EAAoB;QAMJ,oEACJ;QAAA,4DAAQ;QAEZ,2EAA4B;QACxB,2EAA8I;QAClJ,4DAAM;QAMlB,2EAA0B;QAGiB,iJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;QAlHO,0DAAU;QAAV,2EAAU;QAOZ,0DAA8B;QAA9B,2FAA8B;QAOzC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAsBlB,2DAA+C;QAA/C,kKAA+C;QAgB/C,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAatB,0DAAsE;QAAtE,6LAAsE;QAEvE,0DAAoB;QAApB,oFAAoB;QA+Bd,2DAAoC;QAApC,iGAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3HuC;AACtB;AAIZ;AAIuB;;;;;;;;;;;;;;;;;;;;;;ICsIpE,4EAAgF;IAC5E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,+GACJ;;;IACA,4EAAgF;IAC5E,gEACJ;IAAA,4DAAQ;;;IAeR,4EAA8E;IAC1E,uDAA8B;IAAA,gEAAM;IACxC,4DAAQ;;;IADJ,0DAA8B;IAA9B,4GAA8B;;;IAElC,4EAAiF;IAC7E,uDAAiC;IAAA,gEAAM;IAC3C,4DAAQ;;;IADJ,0DAAiC;IAAjC,+GAAiC;;;IAErC,4EAAmF;IAC/E,uDAAmC;IAAA,gEAAM;IAC7C,4DAAQ;;;IADJ,0DAAmC;IAAnC,iHAAmC;;;IAEvC,4EAA8E;IAC1E,uDAA8B;IAAA,gEAAM;IACxC,4DAAQ;;;IADJ,0DAA8B;IAA9B,4GAA8B;;;IAElC,4EAAkF;IAC9E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,iHACJ;;;IAEA,4EAI2C;IACvC,gEACJ;IAAA,4DAAQ;;;IAeR,4EAA+E;IAC3E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,8GACJ;;;IACA,4EAAmF;IAC/E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,iHACJ;;;IACA,4EAAgF;IAC5E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,gHACJ;;;IACA,4EAAqF;IACjF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,qHACJ;;;IACA,4EAAuF;IACnF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,uHACJ;;;IACA,4EAAoF;IAChF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,oHACJ;;;IACA,4EAA+E;IAC3E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,+GACJ;;;IACA,4EAAmF;IAC/E,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,mHACJ;;;IAGA,4EAOgD;IAC5C,gEACJ;IAAA,4DAAQ;;;IAkDR,0EAAgF;IAC5E,qEAA0E;IAE1E,2EAAwB;IAAA,wEAAa;IAAA,4DAAO;;;;;IAGhD,sEAAuD;IAGN,uEAAY;IAAA,4DAAQ;IAAA,gEAAI;IAC7D,0EAAgD;IAEC,uDAA0C;;IAAA,4DAAQ;IAIvG,2EAA+E;IACtC,mEAAO;IAAA,4DAAQ;IAAA,iEAAI;IACxD,2EAAgD;IAIpC,wDACJ;IAAA,4DAAQ;IAKpB,2EAA2B;IACc,yEAAa;IAAA,4DAAQ;IAAA,iEAAM;IAChE,2EAAgD;IAEC,wDAAqC;;IAAA,4DAAQ;IAKlG,2EAAyG;IAChE,+EAAmB;IAAA,4DAAQ;IAAA,iEAAM;IACtE,2EAAgD;IAEC,wDAAgB;IAAA,4DAAQ;IAK7E,2EAAsB;IACmB,mEAAO;IAAA,4DAAQ;IAAA,iEAAI;IACxD,2EAA4E;IAGhE,wDACJ;IAAA,4DAAQ;IAOxB,2EAA6F;IAU3C,qEAAS;IAAA,4DAAQ;IAAA,iEAAM;IACjE,2EAAgD;IAEC,wDAAgB;IAAA,4DAAQ;IAO7E,2EAA2B;IACmB,wEAAY;IAAA,4DAAQ;IAAA,iEAAM;IACpE,2EAAiD;IAGA,wDAAoC;;IAAA,4DAAQ;IAKjG,2EAA2B;IACmB,uEAAW;IAAA,4DAAQ;IAAA,iEAAI;IACjE,2EAAgD;IAEqD,wDAA6C;;IAAA,4DAAQ;IAK9J,2EAAsB;IACwB,yEAAa;IAAA,4DAAQ;IAAA,iEAAM;IACrE,2EAAiD;IAEC,wDAAuB;IAAA,4DAAQ;IAOrF,2EAAsB;IACwB,qEAAS;IAAA,4DAAQ;IAAA,iEAAI;IAC/D,2EAAiD;IAGC,wDAAgB;IAAA,4DAAQ;IAK9E,2EAAsB;IACwB,kEAAM;IAAA,4DAAQ;IAAA,iEAAM;IAC9D,2EAAiD;IAEE,mEAAO;IAAA,4DAAQ;IAC1D,6EAGuC;IADhC,2WAAS,oCAAwB,IAAC;IAFzC,4DAGuC;IAKnD,2EAAsB;IACmB,mEAAO;IAAA,4DAAQ;IAAA,iEAAM;IAC1D,4EAAiD;IAEE,oEAAO;IAAA,4DAAQ;IAC1D,0EAA2I;IAA5F,kWAAS,8CAAkC,IAAC;IACvF,0EAA0B;IAAA,uEAAU;IAAA,4DAAI;IAO5D,uEAiBM;IASV,4DAAM;;;;IApKe,0DAA0D;IAA1D,qHAA0D;IAKlB,0DAA0C;IAA1C,uKAA0C;IAI7E,0DAA4D;IAA5D,uHAA4D;IAK3D,0DAAsE;IAAtE,mIAAsE;IACzE,0DACJ;IADI,+FACJ;IASyC,0DAAqC;IAArC,mKAAqC;IAKxE,0DAAsF;IAAtF,iJAAsF;IAInD,0DAAgB;IAAhB,iFAAgB;IAOhB,0DAA0B;IAA1B,+FAA0B;IAEtC,0DAA+E;IAA/E,oJAA+E;IACxG,0DACJ;IADI,iGACJ;IAOa,0DAA+D;IAA/D,0HAA+D;IAanC,0DAAgB;IAAhB,iFAAgB;IAYhB,0DAAoC;IAApC,6JAAoC;IAStE,0DAAmD;IAAnD,0KAAmD;IAAmC,0DAA6C;IAA7C,oLAA6C;IAShG,0DAAuB;IAAvB,kGAAuB;IAYvB,0DAAgB;IAAhB,2FAAgB;IAWnD,0DAAyB;IAAzB,wGAAyB;IAEzB,0FAA6B;;;IA4D5D,0EAA6E;IACzE,qEAA0E;IAE1E,2EAAwB;IAAA,wEAAa;IAAA,4DAAO;;;IAgBpC,0EAA2K;IAExI,uDAAqB;IAAA,4DAAQ;;;IAFT,0QAAmH;IAEvI,0DAAqB;IAArB,sFAAqB;;;IAMxD,0EAAmL;IAEhJ,uDAAqB;IAAA,4DAAQ;;;IAFT,0LAA2H;IAE/I,0DAAqB;IAArB,sFAAqB;;;IAW5C,4EAA4E;IAAC,uDAAmC;IAAA,4DAAQ;;;IAA3C,0DAAmC;IAAnC,wJAAmC;;;IAChH,4EAA4E;IAAC,uDAAuC;IAAA,4DAAQ;;;IAA/C,0DAAuC;IAAvC,kHAAuC;;;IANhI,0EAA0M;IAK9L,6IAAwH;IACxH,6IAA4H;IAChI,4DAAM;;;IAPyC,ySAAkJ;IAKrL,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;;;IAYxC,4EAA4E;IAAC,uDAAmC;IAAA,4DAAQ;;;IAA3C,0DAAmC;IAAnC,wJAAmC;;;IAChH,4EAA4E;IAAC,uDAAuC;IAAA,4DAAQ;;;IAA/C,0DAAuC;IAAvC,kHAAuC;;;IANhI,0EAAmN;IAKvM,6IAAwH;IACxH,6IAA4H;IAChI,4DAAM;;;IAP0C,yNAA0J;IAK9L,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;;;IAUhD,0EAAiI;IAIrH,uDACJ;IAAA,4DAAQ;;;;IALoE,iHAA4C;IAG3F,0DAAiG;IAAjG,sKAAiG;IAC1H,0DACJ;IADI,mHACJ;;;IAKR,0EAAqI;IAGzH,uDACJ;IAAA,4DAAQ;;;;IAJoE,qHAAgD;IAE/F,0DAAqG;IAArG,0KAAqG;IAC9H,0DACJ;IADI,gHACJ;;;;IA4CJ,0EAAyD;IAEhB,iEAAM;IAAA,4DAAQ;IAAA,gEAAI;IAEvD,0EAAiD;IACE,mZAAS,+BAAmB,IAAC;IACxE,wEAA0B;IAAA,+DAAI;IAAA,4DAAI;;;IAzCtD,sEAA4C;IAKK,gEAAK;IAAA,4DAAQ;IAAA,gEAAI;IACtD,0EAAgD;IAEC,uDAA0C;;IAAA,4DAAQ;IAKvG,2EAA2B;IACc,mEAAO;IAAA,4DAAQ;IAAA,iEAAI;IACxD,2EAAgD;IAIpC,wDACJ;IAAA,4DAAQ;IAIpB,2EAA2B;IACc,qEAAS;IAAA,4DAAQ;IAAA,iEAAM;IAC5D,2EAAgD;IAEC,wDAAgB;IAAA,4DAAQ;IAO7E,4IASM;IAEV,4DAAM;IAgCN,sEAEM;IAIV,4DAAM;;;;IA5EuD,0DAA0C;IAA1C,sKAA0C;IAU5E,0DAAsE;IAAtE,mIAAsE;IACzE,0DACJ;IADI,+FACJ;IAQyC,0DAAgB;IAAhB,iFAAgB;IAO/D,0DAAgC;IAAhC,gGAAgC;;;IAuDlC,4EAA4E;IAAA,uDAAuD;;IAAA,4DAAQ;;;IAA/D,0DAAuD;IAAvD,mLAAuD;;;IACnI,4EAA4E;IAAA,uDAAkD;;IAAA,4DAAQ;;;IAA1D,0DAAkD;IAAlD,8KAAkD;;;IAY9H,4EAA4E;IAAC,uDAAuD;;IAAA,4DAAQ;;;IAA/D,0DAAuD;IAAvD,uLAAuD;;;IACpI,4EAA4E;IAAC,uDAAqD;;IAAA,4DAAQ;;;IAA7D,0DAAqD;IAArD,qLAAqD;;;IASlI,4EAAkJ;IAAA,uDAA+D;;IAAA,4DAAQ;;;IAA/K,2LAAqE;IAAmC,0DAA+D;IAA/D,oMAA+D;;;IACjN,4EAA6I;IAAA,uDAA0D;;IAAA,4DAAQ;;;IAArK,sLAAgE;IAAmC,0DAA0D;IAA1D,+LAA0D;;;IAUvM,4EAA4E;IAAC,uDAAyC;IAAA,4DAAQ;;;IAAjD,0DAAyC;IAAzC,oHAAyC;;;IACtH,4EAA4E;IAAC,uDAAsC;IAAA,4DAAQ;;;IAA9C,0DAAsC;IAAtC,iHAAsC;;;IAUnH,4EAA4E;IAAC,uDAAkC;IAAA,4DAAQ;;;IAA1C,0DAAkC;IAAlC,6GAAkC;;;IAC/G,4EAA4E;IAAC,uDAAiB;IAAA,4DAAQ;;;IAAzB,0DAAiB;IAAjB,4FAAiB;;;;IAe9F,4EAGyD;IADlD,gaAAS,iEAAiD,CAAC,EAAE,IAAC;IAFrE,4DAGyD;;;IAFlD,2HAA4C;IAE5C,4GAA+C;;;;IAEtD,4EAGsD;IAD/C,gaAAS,sEAAsD,IAAC;IAFvE,4DAGsD;;;IAF/C,yHAA0C;IAE1C,yGAA4C;;;IAlB/D,0EAAyD;IAGhB,gEAAK;IAAA,4DAAQ;IAAA,gEAAI;IAEtD,0EAAiD;IAEE,kEAAO;IAAA,4DAAQ;IAG1D,8IAGyD;IAEzD,8IAGsD;IAE1D,4DAAM;;;IAVM,0DAAgC;IAAhC,gGAAgC;IAKhC,0DAAgC;IAAhC,gGAAgC;;;;IAWpD,0EAAyD;IAEhB,iEAAM;IAAA,4DAAQ;IAAA,gEAAI;IAEvD,0EAAiD;IACE,+YAAS,sCAAyB,IAAC;IAC9E,wEAA0B;IAAA,+DAAI;IAAA,4DAAI;;;IAtPtD,sEAAqD;IAK7C,mIAIM;IAIN,mIAIM;IAIN,mIASM;IAIN,mIASM;IAIN,0EAAkC;IAG9B,mIAOM;IAGN,mIAMM;IAEV,4DAAM;IAGN,gEAAM;IAEN,sIAoFM;IAEN,2EAA2B;IACc,yEAAa;IAAA,4DAAQ;IAAA,iEAAM;IAChE,2EAAgD;IAExC,yIAA2I;IAC3I,yIAAsI;IAC1I,4DAAM;IAOd,2EAA4B;IACa,kEAAM;IAAA,4DAAQ;IAAA,iEAAI;IACvD,2EAAiD;IAEzC,yIAA4I;IAC5I,yIAA0I;IAC9I,4DAAM;IAId,2EAA2B;IACc,uEAAW;IAAA,4DAAQ;IAAA,iEAAI;IAC5D,2EAAgD;IAExC,yIAAyN;IACzN,yIAA+M;IACnN,4DAAM;IAId,2EAAsB;IACmB,wEAAY;IAAA,4DAAQ;IAAA,iEAAI;IAC7D,2EAAiD;IAGzC,yIAA8H;IAC9H,yIAA2H;IAC/H,4DAAM;IAId,2EAAsB;IACmB,qEAAS;IAAA,4DAAQ;IAAA,iEAAI;IAC1D,2EAAiD;IAGzC,yIAAuH;IACvH,yIAAsG;IAC1G,4DAAM;IAId,sIAsBM;IAIN,qIASM;IAEN,iEAAM;IAEV,4DAAM;;;IA5PY,0DAA6D;IAA7D,wHAA6D;IAIrE,0DAAgC;IAAhC,gGAAgC;IAQhC,0DAAgC;IAAhC,gGAAgC;IAQhC,0DAAgC;IAAhC,gGAAgC;IAahC,0DAAgC;IAAhC,gGAAgC;IAgB5B,0DAAgC;IAAhC,gGAAgC;IAUhC,0DAAgC;IAAhC,gGAAgC;IAarB,0DAAqB;IAArB,2FAAqB;IA0FtB,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;IAYhC,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;IAShC,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;IAUhC,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;IAUhC,0DAAgC;IAAhC,gGAAgC;IAChC,0DAAgC;IAAhC,gGAAgC;IAK9C,0DAAgC;IAAhC,gGAAgC;IA0BhC,0DAAgC;IAAhC,gGAAgC;;;IAgB9C,yEAAsE;IAElC,mEAAQ;IAAA,4DAAQ;IAChD,4EAA0C;IAAA,uDAAqC;IAAA,4DAAQ;IACvF,gEAAM;IAEN,yEAAiB;IAE4B,+EAAoB;IAAA,4DAAQ;IAAA,iEAAI;IACzE,4DAAM;;;IANgC,0DAAqC;IAArC,0GAAqC;;;IA1QvF,yEAAqE;IAEjC,mEAAQ;IAAA,4DAAQ;IAChD,4EAAuE;IAAA,uDAAqC;IAAA,4DAAQ;IACpH,gEAAM;IAGN,+HA8PM;IAEN,8HAYM;IAEV,4DAAM;;;IAlRqE,0DAAqC;IAArC,0GAAqC;IAItF,0DAA6B;IAA7B,uGAA6B;IAgQ3B,0DAA4C;IAA5C,gHAA4C;;;IA4FpE,sEAA2C;IAAA,uDAAuB;IAAA,4DAAM;;;IAA7B,0DAAuB;IAAvB,6FAAuB;;;IADtE,2EAA4D;IACxD,6IAAwE;IAC5E,4DAAM;;;IADI,0DAAmC;IAAnC,wGAAmC;;;IAczC,sEAA0C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,yFAAmB;;;IADjE,2EAAgE;IAC5D,6IAAmE;IACvE,4DAAM;;;IADI,0DAAkC;IAAlC,uGAAkC;;;IASxC,sEAA8C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,yFAAmB;;;IADrE,2EAAoE;IAChE,6IAAuE;IAC3E,4DAAM;;;IADI,0DAAsC;IAAtC,2GAAsC;;;;;IAvEhE,0EAAkC;IAEE,0EAAe;IAAA,4DAAK;IAIxD,2EAAiB;IAE+C,wTAAY,8BAAqB,IAAC;IAE1F,yEAAiB;IAIkB,gEAAK;IAAA,4DAAQ;IACxC,wEAEgE;IACpE,4DAAM;IACN,4EAAmB;IACY,yEAAa;IAAA,4DAAQ;IAChD,yEAC+D;IACnE,4DAAM;IACN,4EAAmB;IACY,uEAAW;IAAA,4DAAQ;IAC9C,yEAC6D;IAEjE,4DAAM;IACN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,yEAC2D;IAE/D,4DAAM;IACN,2EAAoB;IACW,oEAAQ;IAAA,4DAAQ;IAC3C,yEAEmE;IACvE,4DAAM;IACN,4EAAmB;IACY,kEAAM;IAAA,4DAAQ;IACzC,yEAEiE;IACjE,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,iEAAK;IAAA,4DAAQ;IAKxC,yEAEgE;IAChE,wIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,yEAEoE;IACpE,wIAEM;IAEV,4DAAM;IAGV,4EAA0B;IACiB,+RAAS,YAAO,IAAC;IACpD,oEACJ;IAAA,4DAAS;IACT,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;IA7ES,0DAA6B;IAA7B,8FAA6B;IAQxC,0DAAkD;IAAlD,yKAAkD;IAuBlD,2DAAqD;IAArD,4KAAqD;IAMrD,0DAAoF;IAApF,mNAAoF;IAErF,0DAA2B;IAA3B,+FAA2B;IAY1B,0DAAkD;IAAlD,yKAAkD;IAEnD,0DAA0B;IAA1B,8FAA0B;IAOzB,0DAAsD;IAAtD,6KAAsD;IAEvD,0DAA8B;IAA9B,kGAA8B;IAY5B,0DAAmC;IAAnC,oGAAmC;;;IA6DvC,sEAAyC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,yFAAmB;;;IADhE,2EAA+D;IAC3D,6IAAkE;IACtE,4DAAM;;;IADI,0DAAiC;IAAjC,sGAAiC;;;IAUvC,sEAA6C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,yFAAmB;;;IADpE,2EAAmE;IAC/D,6IAAsE;IAC1E,4DAAM;;;IADI,0DAAqC;IAArC,0GAAqC;;;;IAvD/D,0EAAkC;IAEE,yEAAc;IAAA,4DAAK;IAIvD,2EAAiB;IAEiD,wTAAY,gCAAuB,IAAC;IAE9F,yEAAiB;IAIkB,gEAAK;IAAA,4DAAQ;IACxC,wEAE+D;IACnE,4DAAM;IAEN,2EAAoB;IACW,oEAAQ;IAAA,4DAAQ;IAC3C,yEAEkE;IACtE,4DAAM;IAEN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,yEAC0D;IAC9D,4DAAM;IAEN,4EAAmB;IAEY,iEAAK;IAAA,4DAAQ;IAMxC,yEAE+D;IAC/D,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,yEAEmE;IACnE,wIAEM;IAEV,4DAAM;IAGV,4EAA0B;IACiB,+RAAS,YAAO,IAAC;IACpD,oEACJ;IAAA,4DAAS;IACT,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;IA7DS,0DAA+B;IAA/B,gGAA+B;IAQ1C,0DAAiD;IAAjD,uKAAiD;IAOjD,0DAAoD;IAApD,2KAAoD;IAmBpD,0DAAiD;IAAjD,wKAAiD;IAElD,0DAAyB;IAAzB,6FAAyB;IAQxB,0DAAqD;IAArD,4KAAqD;IAEtD,0DAA6B;IAA7B,iGAA6B;IAY3B,0DAAqC;IAArC,sGAAqC;;;IAkCzC,sEAA4C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADtE,2EAA6D;IACzD,6IAAwE;IAC5E,4DAAM;;;IADI,0DAAoC;IAApC,yGAAoC;;;;IAO9C,uFAG6D;IAHH,wYAAmC,ySAE9D,uCAA8B,IAFgC;IAKzF,kFAAuD;IAAA,wEAAa;IAAA,4DAAa;IAEjF,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAA2B;IACvB,mEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAAiC;IAC7B,0EACJ;IAAA,4DAAa;IAEb,mFAAyB;IACrB,kEACJ;IAAA,4DAAa;IAEb,mFAA2B;IACvB,oEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA4B;IACxB,qEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA8B;IAC1B,uEACJ;IAAA,4DAAa;;;IArDyC,mGAAmC;;;IAuEzF,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADjE,2EAAwD;IACpD,6IAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,oGAA+B;;;IASrC,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADjE,2EAAwD;IACpD,6IAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,oGAA+B;;;IASrC,sEAAoC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IAD9D,2EAAqD;IACjD,6IAAgE;IACpE,4DAAM;;;IADI,0DAA4B;IAA5B,iGAA4B;;;;IApHtD,0EAAkC;IACE,0EAAe;IAAA,4DAAK;IAExD,2EAA6B;IAG+B,wTAAY,0BAAiB,IAAC;IAGlF,yEAAiB;IAMkB,0EAAe;IAAA,4DAAQ;IAClD,wEAEkE;IAClE,wIAEM;IACV,4DAAM;IAEN,4EAA4D;IAC7B,oEAAQ;IAAA,4DAAQ;IAE3C,uJAuDa;IAEjB,4DAAM;IAEN,4EAAyF;IAC1D,+EAAmB;IAAA,4DAAQ;IACtD,yEACmD;IACvD,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,8EAEqG;IAA1C,0TAAS,sCAA6B,IAAC;IAFlG,4DAEqG;IACrG,wIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,yEAE6D;IAC7D,wIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,kEAAM;IAAA,4DAAQ;IACzC,yEAE0D;IAC1D,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,yEACoD;IACxD,4DAAM;IAEN,4EAAmB;IAGI,wEAAY;IAAA,4DAAY;IACnC,8EACuE;IAAxC,oUAAc,iCAAwB,IAAC;IADtE,4DACuE;IACvE,yFAAoF;IAExF,4DAAiB;IAIzB,4EAAmB;IAGI,wEAAY;IAAA,4DAAY;IACnC,8EAC+D;IAAhC,oUAAc,yBAAgB,IAAC;IAD9D,4DAC+D;IAC/D,yFAAoF;IAExF,4DAAiB;IAIzB,4EAAwB;IAC6C,qEAAS;IAAA,4DAAe;IAG7F,4EAAwB;IAC2C,kEAAM;IAAA,4DAAe;IAK5F,4EAA0B;IACiB,8WAAS,YAAO,SAAE,uBAAc,IAAE;IACrE,oEACJ;IAAA,4DAAS;IAET,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;;IAnKS,0DAAyB;IAAzB,0FAAyB;IAO1C,0DAAsD;IAAtD,qHAAsD;IAIhD,0DAAoD;IAApD,2KAAoD;IAErD,0DAA4B;IAA5B,gGAA4B;IAKjC,0DAAsD;IAAtD,qHAAsD;IAG1C,0DAAU;IAAV,sEAAU;IA2DtB,0DAAmF;IAAnF,kJAAmF;IAS7E,0DAA+C;IAA/C,sKAA+C;IAEhD,0DAAuB;IAAvB,2FAAuB;IAOtB,0DAA+C;IAA/C,sKAA+C;IAEhD,0DAAuB;IAAvB,2FAAuB;IAOtB,0DAA4C;IAA5C,mKAA4C;IAE7C,0DAAoB;IAApB,wFAAoB;IAeF,2DAAoC;IAApC,gFAAoC;IAEnB,0DAA0B;IAA1B,sEAA0B;IAC3C,0DAAiB;IAAjB,kFAAiB;IASjB,0DAAoC;IAApC,gFAAoC;IAEnB,0DAA0B;IAA1B,sEAA0B;IAC3C,0DAAiB;IAAjB,kFAAiB;IAMC,0DAAsB;IAAtB,uFAAsB;IAIvB,0DAAqB;IAArB,sFAAqB;IAWtD,0DAA+B;IAA/B,gGAA+B;;;IAkCnC,kFAA6D;IAAA,uDAAa;IAAA,4DAAa;;;IAA3C,8EAAgB;IAAC,0DAAa;IAAb,+EAAa;;;IAW1E,sEAA4C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADtE,2EAA6D;IACzD,6IAAwE;IAC5E,4DAAM;;;IADI,0DAAoC;IAApC,yGAAoC;;;;IAQ9C,uFAG6D;IAHH,wYAAmC,ySAE9D,uCAA8B,IAFgC;IAKzF,kFAAuD;IAAA,wEAAa;IAAA,4DAAa;IAEjF,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAA2B;IACvB,mEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAAiC;IAC7B,0EACJ;IAAA,4DAAa;IAEb,mFAAyB;IACrB,kEACJ;IAAA,4DAAa;IAEb,mFAA2B;IACvB,oEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA4B;IACxB,qEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA8B;IAC1B,uEACJ;IAAA,4DAAa;;;IArDyC,mGAAmC;;;IAiFzF,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADjE,2EAAwD;IACpD,6IAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,oGAA+B;;;IAWrC,sEAA2C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADrE,2EAA4D;IACxD,6IAAuE;IAC3E,4DAAM;;;IADI,0DAAmC;IAAnC,wGAAmC;;;IASzC,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADjE,2EAAwD;IACpD,6IAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,oGAA+B;;;IASrC,sEAAoC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IAD9D,2EAAqD;IACjD,6IAAgE;IACpE,4DAAM;;;IADI,0DAA4B;IAA5B,iGAA4B;;;;IAjJtD,0EAAkC;IACE,sEAAW;IAAA,4DAAK;IAEpD,2EAA6B;IAGuC,wTAAY,kCAAyB,IAAC;IAGlG,yEAAiB;IAGkB,mEAAQ;IAAA,4DAAQ;IAC3C,uFACuD;IADL,kVAAmB,kCAAyB,IAAC;IAE3F,mFAAuD;IAAA,0EAAc;IAAA,4DAAa;IAClF,sJAAuF;IAC3F,4DAAa;IAGjB,4EAA4D;IAE7B,2EAAe;IAAA,4DAAQ;IAClD,yEAEkE;IAClE,wIAEM;IACV,4DAAM;IAGN,4EAA4D;IAC7B,oEAAQ;IAAA,4DAAQ;IAE3C,uJAuDa;IAEjB,4DAAM;IAEN,4EAAyF;IAC1D,+EAAmB;IAAA,4DAAQ;IACtD,yEACmD;IACvD,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,8EACmF;IAAnC,oTAAS,yBAAgB,IAAI,CAAC,IAAE;IADhF,4DACmF;IAMvF,4EAAmB;IACY,uEAAW;IAAA,4DAAQ;IAC9C,8EAG4F;IADrF,gUAAY,oDAA2C,IAAC,4PACG,yBAAgB,IAAI,CAAC,IADxB;IAF/D,4DAG4F;IAC5F,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,8EAGuF;IADhF,gUAAY,oDAA2C,IAAC,4PACF,yBAAgB,IAAI,CAAC,IADnB;IAF/D,4DAGuF;IACvF,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,8EACoF;IAApC,oTAAS,yBAAgB,KAAK,CAAC,IAAE;IADjF,4DACoF;IACpF,wIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,kEAAM;IAAA,4DAAQ;IACzC,yEAEwD;IACxD,wIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,yEACoD;IACxD,4DAAM;IAEN,4EAAmB;IAGI,wEAAY;IAAA,4DAAY;IACnC,8EAC8E;IAAxC,oUAAc,iCAAwB,IAAC;IAD7E,4DAC8E;IAC9E,yFAAwF;IAE5F,4DAAiB;IAIzB,4EAAmB;IAGI,wEAAY;IAAA,4DAAY;IACnC,8EACmE;IAAhC,oUAAc,yBAAgB,IAAC;IADlE,4DACmE;IACnE,yFAA2F;IAE/F,4DAAiB;IAKzB,4EAAwB;IAC6C,qEAAS;IAAA,4DAAe;IAG7F,4EAAwB;IAC2C,kEAAM;IAAA,4DAAe;IAK5F,4EAA0B;IACiB,+RAAS,YAAO,IAAE;IACrD,oEACJ;IAAA,4DAAS;IAET,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;;IAjMS,0DAAiC;IAAjC,kGAAiC;IAKlD,0DAAsD;IAAtD,qHAAsD;IAKvB,0DAAc;IAAd,wFAAc;IAI7C,0DAAsD;IAAtD,qHAAsD;IAIhD,0DAAoD;IAApD,2KAAoD;IAErD,0DAA4B;IAA5B,gGAA4B;IAMjC,0DAAsD;IAAtD,qHAAsD;IAG1C,0DAAU;IAAV,sEAAU;IA2DtB,0DAAmF;IAAnF,kJAAmF;IAkB7E,2DAA+C;IAA/C,sKAA+C;IAGhD,0DAAuB;IAAvB,2FAAuB;IAQtB,0DAAmD;IAAnD,0KAAmD;IAGpD,0DAA2B;IAA3B,+FAA2B;IAS3B,0DAAuB;IAAvB,2FAAuB;IAOtB,0DAA4C;IAA5C,mKAA4C;IAE7C,0DAAoB;IAApB,wFAAoB;IAeF,2DAAwC;IAAxC,gFAAwC;IAEvB,0DAA8B;IAA9B,sEAA8B;IAC/C,0DAAiB;IAAjB,kFAAiB;IASjB,0DAA2C;IAA3C,gFAA2C;IAE1B,0DAAiC;IAAjC,sEAAiC;IAQhC,0DAAsB;IAAtB,uFAAsB;IAIvB,0DAAqB;IAArB,sFAAqB;IAWtD,0DAAuC;IAAvC,wGAAuC;;;IAkC3C,kFAAyE;IAAA,uDAAyD;;IAAA,4DAAa;;;IAAhG,uFAAyB;IAAC,0DAAyD;IAAzD,sMAAyD;;;;IAhBtJ,0EAAkC;IACE,wEAAa;IAAA,4DAAK;IAEtD,2EAA6B;IAG4C,wTAAY,uCAA8B,IAAC;IAG5G,yEAAiB;IAGkB,mFAAwB;IAAA,4DAAQ;IAC3D,uFACuD;IACI,yEAAa;IAAA,4DAAa;IACjF,sJAA+I;IACnJ,4DAAa;IAKrB,4EAA0B;IACiB,+RAAS,YAAO,IAAE;IACrD,oEACJ;IAAA,4DAAS;IAET,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;IAzBS,0DAAsC;IAAtC,uGAAsC;IAUrB,0DAAc;IAAd,wFAAc;IAYzC,0DAA4C;IAA5C,6GAA4C;;;IAwChD,kFAAyF;IAAA,uDAAqC;;IAAA,4DAAa;;;IAAjG,iHAA8C;IAAC,0DAAqC;IAArC,kKAAqC;;;;IAPtI,0EAAqE;IAEtC,uFAA4B;IAAA,4DAAQ;IAC/D,uFAEqD;IADzC,0VAAmB,+BAAsB,IAAC;IAElD,kFAAuD;IAAA,sEAAW;IAAA,4DAAa;IAC/E,2JAA2I;IAC/I,4DAAa;;;IADoB,0DAAW;IAAX,sFAAW;;;IAWxC,kFAAqF;IAAA,uDAAoC;;IAAA,4DAAa;;;IAA9F,+GAA4C;IAAC,0DAAoC;IAApC,iKAAoC;;;;IANjI,0EAAoE;IACrC,sFAA2B;IAAA,4DAAQ;IAC9D,uFAEqD;IADzC,0VAAmB,8BAAqB,IAAC;IAEjD,kFAAmD;IAAA,sEAAW;IAAA,4DAAa;IAC3E,2JAAsI;IAC1I,4DAAa;;;IADmB,0DAAU;IAAV,qFAAU;;;IAUtC,kFAAiF;IAAA,uDAAmC;;IAAA,4DAAa;;;IAA3F,6GAA0C;IAAC,0DAAmC;IAAnC,gKAAmC;;;;IAN5H,0EAAmF;IACpD,qFAA0B;IAAA,4DAAQ;IAC7D,uFAEqD;IADzC,0VAAmB,6BAAoB,IAAC;IAEhD,kFAAmD;IAAA,sEAAW;IAAA,4DAAa;IAC3E,2JAAiI;IACrI,4DAAa;;;IADkB,0DAAS;IAAT,oFAAS;;;;IA5CxD,0EAAkC;IACE,sFAA2B;IAAA,4DAAK;IAEpE,2EAA6B;IAG4C,wTAAY,uCAA8B,IAAC;IAG5G,2EAAuD;IAClB,wEAAa;IAAA,4DAAM;IAEpD,2EAAwB;IACpB,4HACJ;IAAA,4DAAM;IAEN,wIAUM;IAEN,wIAQM;IAEN,wIAQM;IACV,4DAAM;IAEN,4EAA0B;IACiB,+RAAS,YAAO,IAAE;IACrD,oEACJ;IAAA,4DAAS;IAET,4EAAc;IAGN,kEACJ;IAAA,4DAAS;;;IApDS,0DAAsC;IAAtC,uGAAsC;IAUtD,0DAA8C;IAA9C,kHAA8C;IAY9C,0DAA6C;IAA7C,iHAA6C;IAU7C,0DAA4D;IAA5D,gIAA4D;IAiBtD,0DAA4C;IAA5C,6GAA4C;;ADt6CjE,MAAM,wBAAwB;IAmEjC,YAAoB,eAA+B,EACvC,gBAAiC,EACjC,KAAqB,EACrB,KAAe,EACf,cAAoC,EACpC,WAAwB,EACxB,MAAc;QANN,oBAAe,GAAf,eAAe,CAAgB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,UAAK,GAAL,KAAK,CAAgB;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,mBAAc,GAAd,cAAc,CAAsB;QACpC,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QAvE1B,0BAAqB,GAAQ,MAAM,CAAC;QACpC,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,oBAAe,GAAQ,IAAI,CAAC,kCAAiC;QAC7D,uBAAkB,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACtD,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,sBAAiB,GAAY,KAAK,CAAC;QAEnC,cAAS,GAAQ,CAAC,CAAC;QACnB,eAAU,GAAQ,CAAC,CAAC;QACpB,kBAAa,GAAQ,CAAC,CAAC;QACvB,gBAAW,GAAQ,EAAE,CAAC;QACtB,YAAO,GAAG,KAAK,CAAC;QAUhB,gBAAW,GAAQ,CAAC,CAAC;QACrB,oBAAe,GAAQ;YACnB,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,EAAE;SACjB,CAAC;QACF,gBAAW,GAAQ,CAAC,CAAC;QACrB,eAAU,GAAQ,CAAC,CAAC;QAcpB,uBAAkB,GAAQ,CAAC,CAAC;QAC5B,yBAAoB,GAAQ,CAAC,CAAC;QAC9B,wBAAmB,GAAQ,CAAC,CAAC;QAE7B,aAAQ,GAAQ,EAAE,CAAC;QACnB,YAAO,GAAQ,EAAE,CAAC;QAClB,WAAM,GAAQ,EAAE,CAAC;QAEjB,WAAM,GAAQ,EAAE,CAAC;QACjB,iBAAY,GAAY,KAAK,CAAC;QAGpB,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC1C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAgBlD,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,0BAA0B;QAC1B,8BAA8B;QAC9B,uDAAuD;QACvD,2DAA2D;QAC3D,SAAS;QAGT,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAGhC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;YAEvC,wDAAwD;YACxD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;SACJ;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,cAAc,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACzC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YACnF,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,eAAe,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SAE7C,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACrC,cAAc,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACzC,eAAe,EAAE,CAAC,EAAE,CAAC;SAExB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC9C,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,WAAW,EAAE,CAAC,MAAM,CAAC;YACrB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACnD,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACnD,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SACzC,CAAC,CAAC;IAGP,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aAGxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,wBAAwB;QAGpB,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAEhC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,0BAA0B;QACtB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAC9B,WAAW;YACX,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACrF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAC3F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACjG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YACrG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC/F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YAC7F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;SAExF;IACL,CAAC;IAGD,yBAAyB;QACrB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAE9B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC3F,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACrF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACrF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAC7F,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SAElG;IACL,CAAC;IAGD,cAAc,CAAC,KAAK;QAEhB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;YAC5B,OAAO,GAAG,CAAC;;YACV,OAAO,KAAK,CAAC;IACtB,CAAC;IAID,eAAe;QAGX,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;aAElC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,iBAAiB,CAAC,IAAS;QAEvB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,IAAI,SAAS;YAC3D,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;YAE9B,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE5B,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGlE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;aAElC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAGD,YAAY;IACZ,YAAY,CAAC,UAAU;QACnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,KAAK;QAEV,IAAI,KAAK,IAAI,EAAE,EAAE;YACb,OAAO,mBAAmB,CAAC;SAC9B;aAAM,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAClC,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,kBAAkB,CAAC;SAC7B;IACL,CAAC;IAED,SAAS,CAAC,MAAM;QACZ,kBAAkB;QAClB,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC9B,OAAO,OAAO,CAAC;aAClB;iBACI;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;aAC/D;SACJ;;YACI,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,gBAAgB,CAAC,IAAI;QACjB,kBAAkB;QAElB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC5B,OAAO,OAAO,CAAC;SAClB;aACI;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D;IACL,CAAC;IAID,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErD,oBAAoB,CAAC,IAAS,EAAE,IAAI,EAAE,OAAO;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,QAAQ,CAAC;QACT,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;;YAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE7B,iCAAiC;QACjC,sDAAsD;QACtD,+BAA+B;QAE/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,CAAC;IAED,eAAe,CAAC,IAAS,EAAE,IAAI,EAAE,MAAM;QAEnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QAErC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAGrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,oBAAoB;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,QAAQ,CAAC;QACT,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE7B,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;YAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC;QAGpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,sEAAsE;QACtE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,CAAC;IAGD,QAAQ,CAAC,KAAoC;QAEzC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7D,2CAA2C;YAC3C,kDAAkD;YAClD,oDAAoD;YACpD,0DAA0D;YAE1D,uBAAuB;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjE,+CAA+C;YAC/C,sDAAsD;YACtD,wDAAwD;YACxD,8DAA8D;SACjE;IACL,CAAC;IAED,gBAAgB,CAAC,KAAoC;QACjD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,mBAAmB;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7D,oBAAoB;YACpB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvE;IACL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,IAAS,EAAE,MAAM;QAEzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,oBAAoB;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;YAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,WAAW;QACX,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE7B,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;YAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC;QACpD,sEAAsE;QACtE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,wCAAwC;QACxC,gEAAgE;QAChE,QAAQ;QACR,gEAAgE;QAGhE,GAAG;QACH,yBAAyB;IAC7B,CAAC;IAED,QAAQ,CAAC,CAAM;QAGX,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,2EAA2E;IAC/E,CAAC;IAGD,eAAe,CAAC,SAAS;QAErB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChF,0EAA0E;QAE1E,IAAI,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QAI7B,yEAAyE;QACzE,oEAAoE;QAEpE,+BAA+B;QAI/B,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClH,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAEvE;aACI;YACD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,QAAQ,GAAG,CAAC,EAAE;gBACd,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,2EAA2E;aAC9E;;gBAEG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7G;QACD,2FAA2F;IAE/F,CAAC;IAED,4BAA4B;QACxB,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1C,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;SACnD,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG5E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBAEtC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEhE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,mBAAmB;aAEtB;YAED,uBAAuB;YACvB,6BAA6B;QACjC,CAAC,CAAC;IACN,CAAC;IAED,eAAe;QACX,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,GAAG,GAAG;YACF,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YAC5D,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YACrD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvD,2CAA2C;YAC3C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACtD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAClD,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa;YACtC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;SACrD,CAAC;QAGF,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,kBAAkB;gBAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,KAAoB,EAAE,IAAI;QAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE3C,+CAA+C;QAC/C,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC,EAAE;YAC7F,gCAAgC;YAChC,IAAI,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAE7C,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;SACJ;aAAM;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,mBAAmB,CAAC,OAAO;QACvB,QAAQ,CAAC;QACT,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,OAAO;QAElB,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE3C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,IAAI,OAAO,CAAC,WAAW,IAAI,8BAA8B;YACrD,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;QACjD,IAAI,OAAO,CAAC,WAAW,IAAI,6BAA6B;YACpD,IAAI,CAAC,MAAM,GAAG,6BAA6B,CAAC;QAChD,IAAI,OAAO,CAAC,WAAW,IAAI,4CAA4C;YACnE,IAAI,CAAC,MAAM,GAAG,4CAA4C,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB,CAAC,QAAQ;QACzB,qCAAqC;QAErC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB,CAAC,OAAO;QAExB,IAAI,OAAO,IAAI,IAAI,EAAE;YAEjB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC9F,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;YAC3D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACzF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC3F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACpF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACzF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC3F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5F,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAExE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;YAEtD,8CAA8C;YAE9C,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;;gBAE3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEhC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,WAAW;YACX,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,IAAI,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,IAAI,EAAE;gBAC9F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAE7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;YAClD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;YACnE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;SACvD;IAEL,CAAC;IAGD,4BAA4B;QACxB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,GAAG,GAAG;YACF,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;SACxE,CAAC;QAGF,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBAEtC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,kBAAkB;aAErB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB;QAGnB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI;YACxD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI;YAC5D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAI/D,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,oJAAoJ;QACpJ,QAAQ,CAAC;QACT,GAAG,GAAG;YACF,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YACpE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAC7D,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC/D,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC/D,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACtE,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YACvE,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YAC9D,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC1D,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YAC9D,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC1D,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;SAC7D,CAAC;QAGF,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAEjC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,mBAAmB;QAEf,IAAI,GAAG,GAAG;YAEN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YAC5D,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YAClE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC9D,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACxE,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK;YAC5E,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YACtE,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;SAE/D,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG9E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;QAEvD,oDAAoD;QACpD,6FAA6F;QAC7F,4DAA4D;QAC5D,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAEtF,CAAC;IAED,qBAAqB;QAEjB,IAAI,GAAG,GAAG;YAEN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YAC5D,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YAClE,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YACtE,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YACpE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;SAE/D,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG7E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;aAE1B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,OAAO,CAAC,GAAG;QACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,CAAM;QAET,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YACpB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aACvG,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE;YAC7B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;YAEtG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,eAAe;QAGX,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEtF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtC,sBAAsB;qBACzB;iBACJ;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAGD,YAAY;QACR,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1B,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACpE,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAE/D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACxE,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE7E,CAAC;IAED,WAAW;QACP,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1B,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACtE,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAEjE,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACtE,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC7B,oDAAoD;IACxD,CAAC;IAED,MAAM;QAEF,WAAW;QACX,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,IAAI,SAAS,EAAE;YACzE,IAAI,YAAY,IAAI,wBAAwB,EAAE;gBAC1C,4GAA4G;gBAC5G,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;iBACI,IAAI,YAAY,IAAI,6BAA6B,IAAI,YAAY,IAAI,8BAA8B,EAAE;gBACtG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;iBACI;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;SACJ;IAIL,CAAC;IAGD,cAAc,CAAC,KAAK;QAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qEAAqE;QAEjH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChD,mDAAmD;IAGvD,CAAC;IAED,aAAa,CAAC,KAAK;QACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qEAAqE;QAEhH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,kDAAkD;IAEtD,CAAC;IAED,YAAY,CAAC,KAAK;QACd,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,oEAAoE;QAE9G,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9C,iDAAiD;IAErD,CAAC;IAED,8BAA8B,CAAC,eAAuB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,CAAC,sBAAsB,EAAE,CAAC;SACpC;IACL,CAAC;IAED,gCAAgC,CAAC,eAAuB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,sBAAsB,EAAE,CAAC;SACpC;IACL,CAAC;IAED,6BAA6B,CAAC,eAAuB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,CAAC,sBAAsB,EAAE,CAAC;SACpC;IACL,CAAC;IAED,+BAA+B,CAAC,eAAuB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,sBAAsB,EAAE,CAAC;SACpC;IACL,CAAC;IACD,sBAAsB,CAAC,KAAK;QAExB,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE;YAC5B,CAAC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;SACvD;aACI;YACD,CAAC,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;SACzD;QAED,IAAI,KAAK,CAAC,KAAK,IAAI,aAAa;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aACxB;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7D;IACL,CAAC;;gGAhkCQ,wBAAwB;sHAAxB,wBAAwB;;;;;;;;;;;;;;;;QChBrC,yEAAiB;QAIgC,mEAAQ;QAAA,4DAAO;QAAC,oEACzD;QAAA,4DAAK;QAGT,yEAA2B;QAE0B,gJAAS,YAAQ,IAAC;QAC/D,iEACJ;QAAA,4DAAS;QAQjB,yEAAwD;QAKJ,wDAAwB;QAAA,4DAAQ;QAKhF,2EAAsB;QAEd,qEACM;QAKN,0EAAsB;QAEd,6EACA;QAAA,4EAAyB;QACrB,wDACJ;QAAA,4DAAO;QAS3B,2EAA6D;QAOA,yEAAa;QAAA,4DAAQ;QAE9D,2EAAsB;QACS,wDAAgC;QAAA,4DAAQ;QAI3E,2EAAkD;QAEL,mEAAO;QAAA,4DAAQ;QAExD,2EAAsB;QACS,wDAA0C;QAAA,4DAAQ;QAIrF,2EAAkD;QAEL,uEAAW;QAAA,4DAAQ;QAE5D,2EAAsB;QACS,wDAA8C;QAAA,4DAAQ;QAIzF,2EAAkD;QAEL,sEAAU;QAAA,4DAAQ;QAE3D,2EAAsB;QACS,wDAA4C;QAAA,4DAAQ;QAIvF,2EAAkD;QAEL,sEAAU;QAAA,4DAAQ;QAE3D,2EAAsB;QACS,wDAA4C;QAAA,4DAAQ;QAIvF,2EAAkD;QAEL,sEAAU;QAAA,4DAAQ;QAE3D,2EAAsB;QACS,wDAA4B;QAAA,4DAAQ;QAIvE,2EAAkD;QAEL,qEAAS;QAAA,4DAAQ;QAE1D,2EAAsB;QACS,wDAA4C;QAAA,4DAAQ;QAIvF,2EAAkD;QAEL,sEAAU;QAAA,4DAAQ;QAE3D,2EAAsB;QACS,wDAA6C;QAAA,4DAAQ;QAIxF,2EAAkD;QAEL,kEAAM;QAAA,4DAAQ;QAEvD,2EAAsB;QACS,wDAAyC;QAAA,4DAAQ;QAIpF,2EAAyD;QAEZ,kEAAM;QAAA,4DAAQ;QAEvD,2EAA+C;QAC3C,2HAEQ;QACR,2HAEQ;QACZ,4DAAM;QAGV,2EAA6B;QACwB,iJAAS,oBAAgB,IAAC;QACvE,qEACJ;QAAA,4DAAS;QAGb,4EAA+D;QAElB,4EAAe;QAAA,4DAAQ;QAEhE,4EAA2D;QACvD,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QAER,6HAMQ;QACR,4EAAwB;QAC6B,kJAAS,yBAAqB,IAAC;QAC5E,qEACJ;QAAA,4DAAS;QAMrB,4EAA+D;QAElB,6EAAgB;QAAA,4DAAQ;QAEjE,4EAA2D;QACvD,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QACR,6HAEQ;QAGR,6HASQ;QAER,4EAAwB;QAC6B,kJAAS,0BAAsB,IAAC;QAC7E,qEACJ;QAAA,4DAAS;QAUjC,4EAAsB;QAKoE,+IAAS,iBAAa,IAAC;QAIjG,6EAAyB;QAAA,oEAAO;QAAA,4DAAO;QAG3C,4EAA8G;QAAzB,+IAAS,kBAAc,IAAC;QAIzG,6EAAyB;QAAA,qEAAQ;QAAA,4DAAO;QAMpD,4EAAoB;QAM2B,oEAAO;QAAA,4DAAQ;QAG9C,8EAAuE;QAAA,yDAAwC;QAAA,4DAAQ;QAEvH,sEAAsB;QAEtB,yHAIM;QAEN,4HAqKM;QACV,4DAAM;QAMd,4EAAsC;QAGuB,kJAAS,wBAAoB,IAAC;QAC3E,0EACJ;QAAA,4DAAS;QAIb,yHAIM;QAGN,yHAqRM;QACV,4DAAM;QA2BtB,uNA8Fc;QAId,uNA8Ec;QAGd,uNAqLc;QAGd,uNAmNc;QAGd,sNA2Cc;QAEd,sNAsEc;;QA36CsC,2DAAwB;QAAxB,yFAAwB;QAiBpD,0DACJ;QADI,gIACJ;QAmB+B,2DAAgC;QAAhC,iGAAgC;QAShC,0DAA0C;QAA1C,+GAA0C;QAS1C,0DAA8C;QAA9C,mHAA8C;QAS9C,0DAA4C;QAA5C,iHAA4C;QAS5C,0DAA4C;QAA5C,iHAA4C;QAS5C,0DAA4B;QAA5B,6FAA4B;QAS5B,0DAA4C;QAA5C,iHAA4C;QAS5C,0DAA6C;QAA7C,kHAA6C;QAS7C,0DAAyC;QAAzC,8GAAyC;QAS9B,0DAAwC;QAAxC,0GAAwC;QAGxC,0DAAwC;QAAxC,0GAAwC;QAiBxC,0DAAsC;QAAtC,wGAAsC;QAGtC,0DAAyC;QAAzC,2GAAyC;QAGzC,0DAA2C;QAA3C,6GAA2C;QAG3C,0DAAsC;QAAtC,wGAAsC;QAGtC,0DAA0C;QAA1C,4GAA0C;QAIzC,0DAIE;QAJF,4RAIE;QAiBH,0DAAuC;QAAvC,yGAAuC;QAGtC,0DAA0C;QAA1C,4GAA0C;QAG3C,0DAAwC;QAAxC,0GAAwC;QAGxC,0DAA6C;QAA7C,+GAA6C;QAG7C,0DAA+C;QAA/C,iHAA+C;QAG/C,0DAA4C;QAA5C,8GAA4C;QAG5C,0DAAuC;QAAvC,yGAAuC;QAGvC,0DAA2C;QAA3C,6GAA2C;QAK1C,0DAOO;QAPP,ibAOO;QAgDyB,2DAAwC;QAAxC,yGAAwC;QAIzG,0DAA+C;QAA/C,+GAA+C;QAMhC,0DAAgC;QAAhC,sGAAgC;QAqLnD,0DAA4C;QAA5C,4GAA4C;QAO1B,0DAA2C;QAA3C,2GAA2C;;;;;;;;;;;;;;;;;;;AC9dhC;AAIyB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC3D;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAKK,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAHxB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,sBAAsB,oFAFvB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBuB;AACU;AACW;AACY;AACW;AACF;AAC1C;AACmB;AACP;AACI;AACqC;AACG;AACpC;AACZ;AACA;;AA2BhD,MAAM,eAAe;;8EAAf,eAAe;4GAAf,eAAe;gHAlBf;YACL,yDAAY;YACZ,6EAAsB;YACtB,yDAAY;YACZ,uDAAW;YACX,+DAAmB;YACnB,sEAAe;YACf,0EAAiB;YACjB,oEAAc;YACd,8EAAmB;YACnB,kEAAa;YACb,kEAAa;SAChB;mIAMQ,eAAe,mBAxBT,yFAAqB;QAChC,oGAAwB;QACxB,kGAAwB;QACxB,6GAAuB;QACvB,gHAAwB,aAGxB,yDAAY;QACZ,6EAAsB;QACtB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,sEAAe;QACf,0EAAiB;QACjB,oEAAc;QACd,8EAAmB;QACnB,kEAAa;QACb,kEAAa,aAEP,yFAAqB;QAC3B,oGAAwB;QACxB,kGAAwB;;;;;;;;;;;;;;;;;;;;;;;AClCyC;AAEgB;;;;;;;AAUlF,MAAM,wBAAwB;IAajC,YAAoB,OAAe,EACvB,OAAkB,EAClB,gBAAiC,EACjC,IAAgB;QAHR,YAAO,GAAP,OAAO,CAAQ;QACvB,YAAO,GAAP,OAAO,CAAW;QAClB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,SAAI,GAAJ,IAAI,CAAY;QAXrB,QAAG,GAAG,yEAAkB,CAAC;IAahC,CAAC;IAXD,MAAM,CAAC,MAAW;QAEd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACzF,CAAC;IASM,OAAO,CAAC,IAAS;QAEpB,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,4DAA4D;QAChE,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAGD,aAAa,CAAC,UAAe;QAEzB,EAAE;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAG1D,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAEvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;qBAG3B;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;YAGD,aAAa;YACb,mCAAmC;YACnC,8DAA8D;YAC9D,GAAG;YAEH,iCAAiC;YACjC,yCAAyC;YACzC,KAAK;YAGL,kHAAkH;YAClH,2BAA2B;YAC3B,yCAAyC;YACzC,UAAU;YACV,yDAAyD;YACzD,cAAc;YAEd,OAAO;YAEP,kCAAkC;QAEtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,cAAc,CAAC,IAAS,EAAE,MAAc;QAEpC,6DAA6D;QAC7D,yBAAyB;QACzB,uBAAuB;QACvB,6CAA6C;QAC7C,KAAK;QAEL,8EAA8E;QAC9E,8BAA8B;QAC9B,MAAM;QACN,8BAA8B;QAC9B,qCAAqC;QACrC,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;IAET,CAAC;IAED,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;gGAvHQ,wBAAwB;sHAAxB,wBAAwB;QAH7B,yFAAiE;QAA5C,2KAAa,mBAAe,IAAC;QAAe,4DAAsB;;QAApC,0EAAa;;;;;;;;;;;;;;;;;ACdO;;AAiBxE,MAAM,uBAAuB;IAmBhC;QAfU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAe9B,CAAC;IAbjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,QAAQ;IACR,CAAC;;8FAtBQ,uBAAuB;qHAAvB,uBAAuB;QAT3B,uEAAsF;QAAvC,0IAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QAC7H,uEAAwF;QAAzC,0IAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRjC;AAG/C;AAO4C;AACH;AAC5D;AACO;;;;;;;;;;;;;;;ICmBxB,yEAAqF;IACvC,uDAAyC;;IAAA,4DAAK;IACxF,yEAA0C;IAAA,uDAAoB;IAAA,4DAAK;IACnE,yEAA0C;IAAA,uDAAqB;IAAA,4DAAK;IACpE,yEAA+E;IAC3E,uDACJ;IAAA,4DAAK;IACL,0EAA0C;IAAA,wDAAoB;IAAA,4DAAK;IACnE,0EAA0C;IAAA,wDAAsB;IAAA,4DAAK;IACrE,0EAA0C;IAAA,wDAAmB;IAAA,4DAAK;IAClE,0EAA0C;IAAA,wDAAuB;IAAA,4DAAK;IACtE,0EAA0C;IAAA,wDAAoB;IAAA,4DAAK;;;IAVzB,0DAAyC;IAAzC,iKAAyC;IACzC,0DAAoB;IAApB,oFAAoB;IACpB,0DAAqB;IAArB,qFAAqB;IAE3D,0DACJ;IADI,iGACJ;IAC0C,0DAAoB;IAApB,oFAAoB;IACpB,0DAAsB;IAAtB,sFAAsB;IACtB,0DAAmB;IAAnB,mFAAmB;IACnB,0DAAuB;IAAvB,uFAAuB;IACvB,0DAAoB;IAApB,oFAAoB;;ADvBvE,MAAM,qBAAqB;IAqD9B,YACY,KAAe,EACf,IAAgB,EAChB,gBAAiC,EACjC,MAAc,EACd,cAAoC,EACpC,OAA0B;QAL1B,UAAK,GAAL,KAAK,CAAU;QACf,SAAI,GAAJ,IAAI,CAAY;QAChB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAsB;QACpC,YAAO,GAAP,OAAO,CAAmB;QAzDtC,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAKnB,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAGnB,iBAAY,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAElD,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC7B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;YACjE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YAC1F,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACxE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACnE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACvE;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,kGAAwB;gBAChE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACpH;SACJ,CAAC;QASK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAoHF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAxGG,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAnDD,cAAc,CAAC,MAAM;QAEjB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAC1C,OAAO,GAAG,CAAC;;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAgDD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAC;QAG1D,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAC9B,iCAAiC;QACjC,+EAA+E;QAE/E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAGD,SAAS,CAAC,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YAC7C,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;aACtF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU;YACrD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,CAAC;IAID,QAAQ;QACJ,EAAE;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,gBAAgB,CAAC,MAAM;QAEnB,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SACnD;QAED,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,MAAM;SACrB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAElE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,QAAQ,CAAC;gBACT,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEjC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,UAAU;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE/E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEvC,iCAAiC;gBACjC,6EAA6E;gBAE7E,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAID,uBAAuB;QACnB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAEpC,sBAAsB;YAEtB,iDAAiD;YAEjD,6CAA6C;YAG7C,qBAAqB;YAErB,mCAAmC;YAEnC,0BAA0B;YAC1B,0CAA0C;YAC1C,QAAQ;YACR,+BAA+B;YAC/B,yCAAyC;YACzC,YAAY;YACZ,YAAY;YACZ,oDAAoD;YACpD,mDAAmD;YACnD,IAAI;YAEJ,UAAU,CAAC,GAAG,EAAE;gBACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,4BAA4B;QACxB,WAAW;QACX,6BAA6B;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,+BAA+B;QAE1F,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,OAAO;SACV;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,sDAAyB,CAAC,KAAK,CAAC,CAAC;QAEnD,iDAAiD;QACjD,MAAM,QAAQ,GAAG,gDAAmB,EAAE,CAAC;QACvC,yDAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE5D,8CAA8C;QAC9C,MAAM,WAAW,GAAQ,uCAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEnF,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAE3E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;QAC1F,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;QAEtF,kDAAM,CAAC,IAAI,EAAE,eAAe,GAAG,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC;IACxF,CAAC;;0FA9SQ,qBAAqB;mHAArB,qBAAqB;kEAmDnB,2DAAa;;;;;;;QCxE5B,4EAAmI;QAK/G,oEAAkF;QACtF,4DAAM;QAGd,yEAA6B;QAGoB,4EAAgB;QAAA,4DAAO;QAEhE,0EAAoF;QAC1C,wDAA6B;;QAAA,4DAAO;QAItF,6EAA6C;QAEe,mEAAO;QAAA,4DAAK;QAChE,0EAAoD;QAAA,oEAAQ;QAAA,4DAAK;QACjE,0EAA0C;QAAA,wEAAY;QAAA,4DAAK;QAC3D,0EAA+D;QAAA,iEAAK;QAAA,4DAAK;QACzE,0EAA0C;QAAA,kEAAM;QAAA,4DAAK;QACrD,0EAA0C;QAAA,mEAAO;QAAA,4DAAK;QACtD,0EAA0C;QAAA,gEAAI;QAAA,4DAAK;QACnD,0EAA0C;QAAA,oEAAQ;QAAA,4DAAK;QACvD,0EAA0C;QAAA,uEAAW;QAAA,4DAAK;QAI9D,oHAYK;QACT,4DAAQ;QAMhB,0EAAiB;QAGgC,wDAAa;QAAA,4DAAO;QAGjE,2EAA2B;QAEgC,oJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,8IAAS,YAAQ,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAClE,8EAAwD;QAAlC,8IAAS,qBAAiB,KAAK,CAAC,IAAC;QAAC,iFAAqB;QAAA,4DAAS;QACtF,8EAAuD;QAAjC,8IAAS,qBAAiB,IAAI,CAAC,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QACjF,8EAAgE;QAA1C,8IAAS,oBAAgB,cAAc,CAAC,IAAC;QAAC,oFAAwB;QAAA,4DAAS;QACjG,8EAA2D;QAArC,8IAAS,oBAAgB,SAAS,CAAC,IAAC;QAAC,mFAAuB;QAAA,4DAAS;QAC3F,8EAAuD;QAAjC,8IAAS,oBAAgB,KAAK,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QAOtG,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,gJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAMxC,2FAa2D;QAL1C,qKAAa,uBAAmB,IAAC,iHAClB,yBAAqB,IADH,yGAEnB,kBAAc,IAFK;QAclD,4DAAkB;;;QA/FwC,2DAA6B;QAA7B,yJAA6B;QAkBtD,2DAAsB;QAAtB,4FAAsB;QAsBN,0DAAa;QAAb,8EAAa;QAK1B,0DAA0B;QAA1B,kFAA0B;QA+B7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FuC;AACE;AAGZ;;;;;;;;;;;;;IC4BjD,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,oFAAe;;;IADtD,0EAAoD;IAChD,oIAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,+FAA2B;;;;IANzC,0EAAmD;IACpB,gEAAK;IAAA,4DAAQ;IACxC,uEAEyD;IACzD,8HAEM;IACV,4DAAM;;;IALK,0DAA2C;IAA3C,gKAA2C;IAE5C,0DAAmB;IAAnB,sFAAmB;;;IAWrB,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,oFAAe;;;IADtD,0EAAoD;IAChD,oIAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,+FAA2B;;;IANzC,0EAAiD;IAClB,gEAAK;IAAA,4DAAQ;IACxC,uEAEyD;IACzD,8HAEM;IACV,4DAAM;;;IALK,0DAA2C;IAA3C,gKAA2C;IAE5C,0DAAmB;IAAnB,sFAAmB;;;IAK7B,0EAA8C;IACf,8EAAmB;IAAA,4DAAQ;IACtD,uEACoD;IACxD,4DAAM;;;IA0BE,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD9D,0EAA6D;IACzD,8HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IASrC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD9D,0EAAwD;IACpD,8HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAerC,sEAAoC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,qFAAgB;;;IADxD,0EAAqD;IACjD,8HAA0D;IAE9D,4DAAM;;;IAFI,0DAA4B;IAA5B,+FAA4B;;;IAalC,sEAA4C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADtE,0EAA6D;IACzD,8HAAwE;IAC5E,4DAAM;;;IADI,0DAAoC;IAApC,uGAAoC;;;IAU1C,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADjE,0EAAwD;IACpD,8HAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IASrC,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADjE,0EAAwD;IACpD,8HAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAUrC,sEAAoC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD9D,0EAAqD;IACjD,8HAAgE;IACpE,4DAAM;;;IADI,0DAA4B;IAA5B,gGAA4B;;ADjI/C,MAAM,0BAA0B;IAcnC,YAAoB,WAAwB,EAChC,gBAAiC,EACjC,cAAoC,EACrC,WAA2B;QAHlB,gBAAW,GAAX,WAAW,CAAa;QAChC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAsB;QACrC,gBAAW,GAAX,WAAW,CAAgB;QAf/B,WAAM,GAAG,KAAK,CAAC;QAIZ,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAC3C,eAAe;QACf,UAAK,GAAQ,CAAC,CAAC;QAEf,UAAK,GAAQ,IAAI,CAAC;QAClB,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,eAAU,GAAQ,KAAK,CAAC;IAKmB,CAAC;IAE5C,QAAQ;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YAC5E,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SACnC,CAAC,CAAC;QAIH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAE1B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,EAAE,CAAC;aAEvB;SAEJ;IACL,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,YAAY;QAER,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAEhC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACvF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;YAEtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB;IACL,CAAC;IAED,QAAQ,CAAC,KAAoC;QAEzC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YAErB,2CAA2C;YAC3C,kDAAkD;YAClD,oDAAoD;YACpD,0DAA0D;YAG1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7D,2BAA2B;SAC9B;IAEL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IAGD,QAAQ;QAEJ,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtB,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBAC3D,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC1C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAC1D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBACtD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACjD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACpD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAClD,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC5D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACxD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;aACvD;SACJ,CAAC;QAEF,QAAQ,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGlE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,QAAQ,CAAC,SAAS;QAEd,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,0EAA0E;QAE1E,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QAIhC,yEAAyE;QACzE,oEAAoE;QAEpE,+BAA+B;QAE/B,QAAQ,CAAC;QAET,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAE/D;aACI;YACD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,QAAQ,GAAG,CAAC,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3F,2EAA2E;aAC9E;;gBAEG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClE;QACD,2FAA2F;IAE/F,CAAC;;oGAxLQ,0BAA0B;wHAA1B,0BAA0B;QCbvC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAQ5C,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAQnD,yEAAiB;QAE2C,sJAAY,cAAU,IAAC;QAE3E,yEAAiB;QAEb,wHAQM;QAEN,wHAQM;QAEN,yHAIM;QAEN,2EAAmB;QACY,yEAAa;QAAA,4DAAQ;QAChD,wEACwD;QAC5D,4DAAM;QAEN,2EAAmB;QACY,uEAAW;QAAA,4DAAQ;QAC9C,wEACsD;QAC1D,4DAAM;QACN,2EAAoB;QACW,oEAAQ;QAAA,4DAAQ;QAC3C,wEAEoD;QACxD,4DAAM;QACN,2EAAmB;QACY,iEAAK;QAAA,4DAAQ;QAExC,wEAEoD;QACpD,yHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,wEAEmD;QACnD,yHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QACN,2EAAmB;QAEY,kEAAM;QAAA,4DAAQ;QACzC,wEAE0D;QAC1D,yHAGM;QAEV,4DAAM;QAEN,2EAAmB;QAEY,2EAAe;QAAA,4DAAQ;QAClD,wEAEkE;QAClE,yHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,6EAEsF;QAA5B,kJAAS,aAAS,IAAI,CAAC,IAAE;QAFnF,4DAEsF;QACtF,yHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,6EAC6E;QAA7B,kJAAS,aAAS,KAAK,CAAC,IAAE;QAD1E,4DAC6E;QAC7E,yHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,kEAAM;QAAA,4DAAQ;QACzC,wEAEwD;QACxD,yHAEM;QACV,4DAAM;QAGN,2EAAmB;QAGI,wEAAY;QAAA,4DAAY;QACnC,6EAC+D;QAAhC,kKAAc,oBAAgB,IAAC;QAD9D,4DAC+D;QAC/D,wFAAoF;QAExF,4DAAiB;QAKzB,2EAAoB;QAMJ,0EACJ;QAAA,4DAAQ;QAEZ,2EAA4B;QACxB,2EAA8I;QAClJ,4DAAM;QAMlB,2EAA0B;QAGiB,mJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;;QAhLW,0DAAU;QAAV,2EAAU;QAUZ,0DAAyB;QAAzB,sFAAyB;QAIvB,0DAAyB;QAAzB,yFAAyB;QAU1B,0DAAwB;QAAxB,wFAAwB;QAU3B,0DAAwB;QAAxB,wFAAwB;QAoBjC,2DAA+C;QAA/C,kKAA+C;QAO/C,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAatB,0DAAsE;QAAtE,6LAAsE;QAEvE,0DAAoB;QAApB,oFAAoB;QAWnB,0DAAoD;QAApD,uKAAoD;QAErD,0DAA4B;QAA5B,4FAA4B;QAQ3B,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QASvB,0DAAuB;QAAvB,uFAAuB;QAQtB,0DAA4C;QAA5C,+JAA4C;QAE7C,0DAAoB;QAApB,oFAAoB;QAUF,0DAAoC;QAApC,+EAAoC;QAEnB,0DAA0B;QAA1B,qEAA0B;QAgC3D,2DAA+B;QAA/B,4FAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACzLwB;AACX;;;;;;;;;;;;IC2B5C,iFAAuE;IAAA,uDAAY;IAAA,4DAAa;;;IAAlD,qFAAwB;IAAC,0DAAY;IAAZ,6EAAY;;;IAWvF,sEAA4C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADtE,0EAA6D;IACzD,2HAAwE;IAC5E,4DAAM;;;IADI,0DAAoC;IAApC,uGAAoC;;;IAS9C,oFAC6D;IAEF,wEAAa;IAAA,4DAAa;IAEjF,iFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,iFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,iFAA2B;IACvB,mEACJ;IAAA,4DAAa;IAEb,kFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,kFAAiC;IAC7B,0EACJ;IAAA,4DAAa;IAEb,kFAAyB;IACrB,kEACJ;IAAA,4DAAa;IAEb,kFAA2B;IACvB,oEACJ;IAAA,4DAAa;IAEb,kFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,kFAA4B;IACxB,qEACJ;IAAA,4DAAa;IAEb,kFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,kFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,kFAA8B;IAC1B,uEACJ;IAAA,4DAAa;;;IAYb,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADjE,0EAAwD;IACpD,2HAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IASrC,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADjE,0EAAwD;IACpD,2HAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IASrC,sEAAoC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD9D,0EAAqD;IACjD,2HAAgE;IACpE,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;IAUlC,sEAAsC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADhE,0EAAuD;IACnD,2HAAkE;IACtE,4DAAM;;;IADI,0DAA8B;IAA9B,iGAA8B;;;IAWpC,sEAA6C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADvE,0EAA8D;IAC1D,2HAAyE;IAC7E,4DAAM;;;IADI,0DAAqC;IAArC,wGAAqC;;;IAW3C,sEAAyC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADnE,0EAA0D;IACtD,2HAAqE;IACzE,4DAAM;;;IADI,0DAAiC;IAAjC,qGAAiC;;;ADtJpD,MAAM,uBAAuB;IAehC,YAAoB,WAAwB,EAChC,KAAe,EACf,eAA+B;QAFvB,gBAAW,GAAX,WAAW,CAAa;QAChC,UAAK,GAAL,KAAK,CAAU;QACf,oBAAe,GAAf,eAAe,CAAgB;QAd3C,gBAAW,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC9B,iBAAY,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC/B,iBAAY,GAAQ,EAAE,CAAC,eAAc;QACrC,UAAK,GAAQ,IAAI,IAAI,EAAE,CAAC;QAGxB,eAAU,GAAQ,CAAC,CAAC;QAEpB,UAAK,GAAQ,IAAI,CAAC;QACX,WAAM,GAAG,aAAa,CAAC;QACpB,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAKvC,CAAC;IAEL,QAAQ;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAEtC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC;QAGH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;YAEnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1D;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;IAGL,CAAC;IAED,YAAY,CAAC,MAAM;QAEf,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAE7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,WAAW;QACX,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE1E,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;IAExC,CAAC;IAED,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;aAEpC;iBAAM;gBACH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,QAAQ,CAAC,CAAM;QACX,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,SAAS,CAAC,CAAS;QACf,2BAA2B;QAC3B,QAAQ,CAAC;QACT,oEAAoE;QACpE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,eAAe;QAEX,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC7H,IAAI,GAAG,GAAG;YACN,OAAO,EAAG;gBACN,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBACxD,QAAQ,EAAE,WAAW;gBACrB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACrD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBACzD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;gBACtD,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACpD,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBAC5D,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;aAClE;SACJ,CAAC;QAEF,QAAQ,CAAC;QAET,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEtD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAAoC;QAEvD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,IAAI,IAAI,IAAI,cAAc,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACjE;iBACI,IAAI,IAAI,IAAI,cAAc,EAAE;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACjE;SACJ;IAEL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;;8FA9KQ,uBAAuB;qHAAvB,uBAAuB;QCXpC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAQ5C,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAE2C,mJAAY,qBAAiB,IAAC;QAElF,yEAAiB;QAGsB,qEAAS;QAAA,4DAAQ;QAC5C,qFACuD;QACI,2EAAe;QAAA,4DAAa;QACnF,oIAAgG;QACpG,4DAAa;QAGrB,0EAAmB;QAEY,2EAAe;QAAA,4DAAQ;QAClD,wEAEkE;QAClE,sHAEM;QACV,4DAAM;QAIN,0EAAmB;QACY,oEAAQ;QAAA,4DAAQ;QAE3C,qIAqDa;QAEjB,4DAAM;QAEN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,6EAEqG;QAA1C,qJAAS,iCAA6B,IAAC;QAFlG,4DAEqG;QACrG,sHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,6EAEsG;QAA3C,qJAAS,kCAA8B,IAAC;QAFnG,4DAEsG;QACtG,sHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,kEAAM;QAAA,4DAAQ;QACzC,wEAE0D;QAC1D,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,wEAE4D;QAC5D,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QAEY,6EAAiB;QAAA,4DAAQ;QACpD,wEAEmE;QACnE,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QAEY,8EAAkB;QAAA,4DAAQ;QACrD,wEAE+D;QAC/D,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QAGI,wEAAY;QAAA,4DAAY;QACnC,6EACgF;QAAhD,+JAAc,aAAS,cAAc,SAAS,IAAC;QAD/E,4DACgF;QAChF,wFAAoF;QAExF,4DAAiB;QAIzB,2EAAmB;QAGI,wEAAY;QAAA,4DAAY;QACnC,6EACgF;QAAhD,+JAAc,aAAS,cAAc,SAAS,IAAC;QAD/E,4DACgF;QAChF,wFAAoF;QAExF,4DAAiB;QAU7B,2EAA0B;QACiB,gJAAS,WAAO,IAAC;QACpD,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;;;QAhMW,0DAAU;QAAV,2EAAU;QAOZ,0DAAyB;QAAzB,sFAAyB;QASP,0DAAgB;QAAhB,sFAAgB;QAQ7C,0DAAoD;QAApD,uKAAoD;QAErD,0DAA4B;QAA5B,4FAA4B;QAUrB,0DAAU;QAAV,sEAAU;QA4DhB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAA4C;QAA5C,+JAA4C;QAE7C,0DAAoB;QAApB,oFAAoB;QAQnB,0DAA8C;QAA9C,iKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QASrB,0DAAqD;QAArD,wKAAqD;QAEtD,0DAA6B;QAA7B,6FAA6B;QAS5B,0DAAiD;QAAjD,oKAAiD;QAElD,0DAAyB;QAAzB,yFAAyB;QASP,0DAAoC;QAApC,+EAAoC;QAEnB,0DAA0B;QAA1B,qEAA0B;QAC3C,0DAAiB;QAAjB,8EAAiB;QASjB,0DAAoC;QAApC,+EAAoC;QAEnB,0DAA0B;QAA1B,qEAA0B;QAC3C,0DAAiB;QAAjB,8EAAiB;QAiBjC,0DAA+B;QAA/B,4FAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACzMwB;AACE;AAGZ;;;;;;;;;;;ICqBjD,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADtD,0EAAoD;IAChD,4HAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IA2BjC,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD1D,0EAAyD;IACrD,4HAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IASjC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD9D,0EAAwD;IACpD,4HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAmDrC,sEAAoC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IADxD,0EAAqD;IACjD,4HAA0D;IAC9D,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;ADlG/C,MAAM,wBAAwB;IAmBjC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B,EAC/B,eAA+B,EAC/B,MAAc;QAJP,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAQ;QArB1B,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,cAAc,CAAC;QAI/B,gBAAW,GAAQ,CAAC,CAAC;QAKX,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;IAQhB,CAAC;IAED,QAAQ;QAGJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;SAE1D,CAAC,CAAC;QAGH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI;gBAChC,QAAQ,CAAC;aACZ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc,CAAC,KAAK;QAChB,yBAAyB;QACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;IAEnF,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElD,YAAY,CAAC,MAAM;QAEf,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAGhE,CAAC;IAGD,QAAQ;QAEJ,IAAI,GAAG,GAAG;YACN,OAAO,EAAE;gBACL,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC/C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC/C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACjE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC7D,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACzD,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACjE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACjD,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;aAE5D;SACJ,CAAC;QAGF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,KAAK,KAAK,CAAC;IAEX,cAAc;IAEd,mBAAmB;IACnB,+EAA+E;IAE/E,2CAA2C;IAG3C,sBAAsB;IAEtB,gEAAgE;IAChE,eAAe;IAEf,+BAA+B;IAC/B,qCAAqC;IACrC,YAAY;IACZ,OAAO;IACP,GAAG;IAEH,YAAY,CAAC,GAAG;QACZ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC1C;IACL,CAAC;;gGAzLQ,wBAAwB;sHAAxB,wBAAwB;QCdrC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAK5C,yEAAkC;QACE,uDAAU;QAAA,4DAAK;QAInD,yEAAiB;QAEgD,oJAAY,cAAU,IAAC;QAEhF,yEAAiB;QAIkB,0EAAc;QAAA,4DAAQ;QACjD,wEAEyD;QACzD,uHAEM;QAEV,4DAAM;QAEN,2EAAoB;QACW,2EAAe;QAAA,4DAAQ;QAClD,wEAEoD;QAEpD,4EAA2B;QAAA,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QAExD,4DAAM;QACN,2EAAmB;QACY,iEAAK;QAAA,4DAAQ;QAMxC,wEAEyD;QACzD,uHAEM;QACV,4DAAM;QACN,2EAAmB;QACY,qEAAS;QAAA,4DAAQ;QAC5C,wEAEmD;QACnD,uHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QACN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QAEN,2EAAmB;QACY,2EAAe;QAAA,4DAAQ;QAClD,wEACwD;QAC5D,4DAAM;QAEN,2EAAoB;QACW,yEAAa;QAAA,4DAAQ;QAChD,wEAEuD;QAC3D,4DAAM;QAEN,2EAAmB;QACY,uEAAW;QAAA,4DAAQ;QAC9C,wEACqD;QACzD,4DAAM;QACN,2EAAmB;QACY,2EAAe;QAAA,4DAAQ;QAClD,wEACyD;QAC7D,4DAAM;QAEN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QACN,2EAAmB;QAEY,kEAAM;QAAA,4DAAQ;QACzC,wEAEiD;QACjD,uHAEM;QAEV,4DAAM;QAIV,2EAA0B;QAGiB,iJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;QA1HW,0DAAU;QAAV,2EAAU;QAMZ,0DAA8B;QAA9B,2FAA8B;QAQzC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QASlB,0DAA+C;QAA/C,kKAA+C;QAgB/C,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAOlB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAyBtB,2DAAkD;QAAlD,qKAAkD;QAwBlD,2DAAsE;QAAtE,6LAAsE;QAEvE,0DAAoB;QAApB,oFAAoB;QAgBlB,0DAAoC;QAApC,iGAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HmC;AAE/C;AAEtB;AAG8F;AACpB;;;;;;;;;;AAO7F,MAAM,oBAAoB;IA6B7B,YACY,KAAe;IACvB,2BAA2B;IACnB,gBAAiC;QAFjC,UAAK,GAAL,KAAK,CAAU;QAEf,qBAAgB,GAAhB,gBAAgB,CAAiB;QA9B7C,oDAAoD;QACpD,sDAAsD;QAEtD,cAAS,GAAG;YACR,SAAS,EAAE,EAAE;SAChB;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAC1C,wBAAmB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAEjD,sBAAiB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC7C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,yBAAoB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAG1D,eAAU,GAAQ,EAAE,CAAC;QAKrB,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAiC7B,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5F,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YAC1E,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE;YACrD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YAC5E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACpF,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE;YAC/D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE;YACxD;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,yHAAwB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;gBAC/G,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACpH;SACJ,CAAC;QAoCK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA+EF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QArKG,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAIF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAkBD,cAAc,CAAC,MAAM;QAEjB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAC1C,OAAO,GAAG,CAAC;;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAGD,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IAsBD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QAG3D,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,QAAQ,CAAC;QAET,mCAAmC;QACnC,kDAAkD;QAClD,2CAA2C;QAC3C,6CAA6C;QAC7C,GAAG;QACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAE5D,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAOD,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,kBAAkB;QAGd,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE3B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4GAA0B,EAAE;YACzD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4GAA0B,EAAE;YACzD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,EAAE;QAEL,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,kBAAkB,EAAE;iBAE5B;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,wBAAwB;QAEpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,aAAa;QACT,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAID,QAAQ,CAAC,KAAS;QACd,QAAQ,CAAC;QAET,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,GAAG,EAAE;YAGZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;wFAzUQ,oBAAoB;kHAApB,oBAAoB;kEA4HlB,0DAAa;;;;;;;QC3I5B,4EAAmI;QAM/G,oEAAkF;QACtF,4DAAM;QAEN,yEAA8B;QAEe,uEAAW;QAAA,4DAAO;QAWvE,0EAA6B;QAGsB,gFAAoB;QAAA,4DAAO;QAClE,qEAAG;QACC,iFACA;QAAA,iEAAM;QACN,mFACA;QAAA,iEAAM;QACN,sFACA;QAAA,iEAAM;QACN,sFACA;QAAA,iEAAM;QACN,+EACA;QAAA,iEAAM;QACN,uFACJ;QAAA,4DAAI;QAMhB,iEAAM;QAEN,2EAAkC;QAGiB,wDAAmB;QAAA,4DAAO;QACjE,yEAAwC;QACpC,wDACA;QAAA,iEAAM;QACN,wDACA;QAAA,iEAAM;QACN,wDACA;QAAA,iEAAM;QAEV,4DAAI;QAMhB,2EAAkC;QAI+C,+EAAmB;QAAA,4DAAK;QACzF,0EAA+C;QAAA,wDAA+B;QAAA,4DAAK;QAGvF,0EAAuB;QACgD,iEAAK;QAAA,4DAAK;QAC7E,0EAA+C;QAAA,wDAA0C;;QAAA,4DAAK;QAGlG,0EAAsB;QACiD,2EAAe;QAAA,4DAAK;QACvF,0EAA+C;QAAA,wDAA4B;QAAA,4DAAK;QAGpF,0EAAsB;QACiD,yEAAa;QAAA,4DAAK;QACrF,0EAA+C;QAAA,wDAA4C;;QAAA,4DAAK;QAGpG,0EAA0D;QACkB,iEAAK;QAAA,4DAAK;QAClF,0EAAyE;QAAA,wDAAuC;;QAAA,4DAAK;QAGzH,0EAA2D;QACa,qEAAS;QAAA,4DAAK;QAClF,0EAAqE;QAAA,wDAAoC;;QAAA,4DAAK;QAGlH,0EAA2D;QACa,gFAAoB;QAAA,4DAAK;QAC7F,0EAAoE;QAAA,wDAAsC;;QAAA,4DAAK;QAqCvI,0EAAiB;QAIgC,wEAAY;QAAA,4DAAO;QAGhE,2EAA2B;QAGgC,mJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,6IAAS,YAAQ,IAAC;QAAC,+EAAmB;QAAA,4DAAS;QACrE,8EAAgD;QAA1B,6IAAS,mBAAe,IAAC;QAAC,2EAAc;QAAA,4DAAS;QACvE,+EAA2D;QAArC,8IAAS,8BAA0B,IAAC;QAAC,8EAAiB;QAAA,4DAAS;QACrF,+EAAyD;QAAnC,8IAAS,4BAAwB,IAAC;QAAC,4EAAe;QAAA,4DAAS;QACjF,+EAAyD;QAAnC,8IAAS,4BAAwB,IAAC;QAAC,4EAAe;QAAA,4DAAS;QACjF,+EAAuD;QAAjC,8IAAS,0BAAsB,IAAC;QAAC,0EAAa;QAAA,4DAAS;QAW7F,4EAAqB;QACX,wEAAW;QAAA,4DAAO;QACxB,+EAAsD;QAA9C,gJAAU,uBAAmB,IAAC;QAClC,+EAA+B;QAAA,+DAAE;QAAA,4DAAS;QAC1C,+EAAmB;QAAA,+DAAE;QAAA,4DAAS;QAC9B,+EAAmB;QAAA,+DAAE;QAAA,4DAAS;QAC9B,+EAAoB;QAAA,gEAAG;QAAA,4DAAS;QAKxC,4FAa2D;QAL1C,qKAAa,uBAAmB,IAAC,iHAClB,yBAAqB,IADH,yGAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QA/IyC,2DAAmB;QAAnB,oFAAmB;QAEtD,0DACA;QADA,uGACA;QACA,0DACA;QADA,kGACA;QACA,0DACA;QADA,kIACA;QAa+C,0DAA+B;QAA/B,gGAA+B;QAK/B,0DAA0C;QAA1C,wKAA0C;QAK1C,0DAA4B;QAA5B,6FAA4B;QAK5B,0DAA4C;QAA5C,0KAA4C;QAKlB,0DAAuC;QAAvC,gKAAuC;QAK3C,0DAAoC;QAApC,6JAAoC;QAKrC,0DAAsC;QAAtC,+JAAsC;QA+C9F,0DAA0B;QAA1B,kFAA0B;QAkC7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;ACnLe;AACyB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACzD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC3D,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC5D,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACvD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,gBAAgB;QAC5B,SAAS,EAAE,MAAM;KACpB;CAAE,CAAC;AAMD,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAHtB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,oBAAoB,oFAFrB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBuB;AAEiB;AACK;AACtB;AACmB;AACP;AACF;AACU;AACD;AACyB;AACQ;AAC0B;AACjC;AACO;AACX;AAC0C;AAC0B;AACrG;AACA;AACiB;AACf;AACuB;AACH;AACsB;;AA0C5F,MAAM,aAAa;;0EAAb,aAAa;2GAAb,aAAa;+GAvBb;YACL,0DAAY;YACZ,yEAAoB;YACpB,0DAAY;YACZ,wDAAW;YACX,gEAAmB;YACnB,sEAAe;YACf,oEAAc;YACd,8EAAmB;YACnB,6EAAkB;YAClB,kEAAa;YACb,kEAAa;YACb,mFAAqB;YACrB,oEAAc;SACjB;oIASQ,aAAa,mBAtClB,8EAAkB;QAClB,oGAAwB;QACxB,4GAAwB;QACxB,sIAAgC;QAChC,qGAAyB;QACzB,4GAAwB;QACxB,iGAAuB;QACvB,2IAA+B;QAC/B,qKAAuC;QACvC,gBAAgB;QAChB,0FAAqB;QACrB,uFAAoB;QACpB,6GAA0B,aAI1B,0DAAY;QACZ,yEAAoB;QACpB,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,sEAAe;QACf,oEAAc;QACd,8EAAmB;QACnB,6EAAkB;QAClB,kEAAa;QACb,kEAAa;QACb,mFAAqB;QACrB,oEAAc,aAGd,8EAAkB;QAClB,qGAAyB;QACzB,4GAAwB;QACxB,0FAAqB;QACrB,uFAAoB;;;;;;;;;;;;;;;;AChEmD;;AASxE,MAAM,+BAA+B;IAuBxC;QAnBU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAmB9B,CAAC;IAjBjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAIG,QAAQ;IACR,CAAC;;8GA1BQ,+BAA+B;6HAA/B,+BAA+B;QAL7B,uEAAsF;QAAvC,kJAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,kJAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;QAC5H,uEAA8F;QAA9C,kJAAS,sBAAkB,IAAC;QAAkB,uEAA0B;QAAA,mEAAQ;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;ACNhE;AAEC;;;;;AASlE,MAAM,uCAAuC;IAiBhD,YAAY,0BAA0B;IAClC,0BAA0B;IAClB,OAAkB,EAClB,eAA+B;QAD/B,YAAO,GAAP,OAAO,CAAW;QAClB,oBAAe,GAAf,eAAe,CAAgB;QAfpC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAgB3C,CAAC;IAdD,MAAM,CAAC,MAAW;QACd,EAAE;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3F,mDAAmD;IACvD,CAAC;IAYM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,QAAQ,CAAC;QACT,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5E,2CAA2C;QAE/C,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa;YAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;8HAvDQ,uCAAuC;qIAAvC,uCAAuC;QAHrC,kGAA0E;QAA5C,mMAAa,mBAAe,IAAC;QAAe,4DAA+B;;QAA7C,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRoB;AACxC;AAGpB;AAEtB;AAI4D;AACG;AACiD;;;;;;;;;;;;;;;;;;ICiHtH,4EAAgE;IAEd,yEAAc;IAAA,yEAAQ;IAAA,uDAAqC;;IAAA,4DAAS;IAC9G,yEAA0C;IAAA,2EAAgB;IAAA,yEAAQ;IAAA,wDAAqB;IAAA,4DAAS;IAChG,0EAA0C;IAAA,oEAAQ;IAAA,0EAAQ;IAAA,wDAAwB;IAAA,4DAAS;;;IAF3B,0DAAqC;IAArC,iKAAqC;IACnC,0DAAqB;IAArB,sFAAqB;IAC7B,0DAAwB;IAAxB,kGAAwB;;;IAbtG,4EAAiI;IAGjH,uDAAiB;IAAA,4DAAK;IAGlC,qEAAI;IAGI,oIAOQ;IACZ,4DAAK;IAET,qEAAI;IAC0C,kEAAM;IAAA,0EAAQ;IAAA,wDAAiC;IAAA,4DAAS;IAClG,0EAA0C;IAAA,4EAAgB;IAAA,0EAAQ;IAAA,wDAAsC;IAAA,4DAAS;IACjH,0EAA0C;IAAA,uEAAW;IAAA,0EAAQ;IAAA,wDAAiC;IAAA,4DAAS;IACvG,0EAA0C;IAAA,mEAAO;IAAA,0EAAQ;IAAA,wDAAqC;IAAA,4DAAS;;;;IApB/F,0DAAiB;IAAjB,kFAAiB;IAMqB,0DAAoB;IAApB,0FAAoB;IAWV,0DAAiC;IAAjC,kGAAiC;IACvB,0DAAsC;IAAtC,uGAAsC;IAC3C,0DAAiC;IAAjC,kGAAiC;IACrC,0DAAqC;IAArC,sHAAqC;;;IAsEtF,qEAA0C;IACI,uDAAqC;;IAAA,4DAAK;IACpF,yEAA0C;IAAA,uDAAqB;IAAA,4DAAK;IACpE,yEAA0C;IAAA,uDAAsB;IAAA,4DAAK;IACrE,yEAA0C;IAAA,uDAAiB;IAAA,4DAAK;IAChE,0EAA0C;IAAA,wDAAwB;IAAA,4DAAK;IACvE,0EAA0C;IAAA,wDAAoC;;IAAA,4DAAK;IACnF,0EAA0C;IAAA,wDAAqB;IAAA,4DAAK;;;IAN1B,0DAAqC;IAArC,iKAAqC;IACrC,0DAAqB;IAArB,sFAAqB;IACrB,0DAAsB;IAAtB,gGAAsB;IACtB,0DAAiB;IAAjB,2FAAiB;IACjB,0DAAwB;IAAxB,kGAAwB;IACxB,0DAAoC;IAApC,gKAAoC;IACpC,0DAAqB;IAArB,sFAAqB;;;IA1BnF,4EAAiJ;IAGjI,uDAAqB;IAAA,4DAAK;IAGtC,qEAAI;IAKsD,wEAAY;IAAA,4DAAK;IAC3D,0EAA0C;IAAA,uEAAW;IAAA,4DAAK;IAC1D,0EAA0C;IAAA,+DAAG;IAAA,4DAAK;IAClD,0EAA0C;IAAA,+DAAG;IAAA,4DAAK;IAClD,0EAA0C;IAAA,kEAAM;IAAA,4DAAK;IACrD,0EAA0C;IAAA,qEAAS;IAAA,4DAAK;IACxD,0EAA0C;IAAA,0EAAc;IAAA,4DAAK;IAEjE,iIAQK;IAET,4DAAQ;;;IA1BJ,0DAAqB;IAArB,sFAAqB;IAgBD,2DAAoB;IAApB,0FAAoB;;;;IA0CpD,6EAAyG;IAAxB,6SAAS,qBAAa,IAAC;IACpG,0EACJ;IAAA,4DAAS;;;;;IAsDjB,0EAAkC;IACE,6EAAkB;IAAA,4DAAK;IAE3D,0EAA6B;IACyC,uTAAY,uCAA+B,IAAC;IAC1G,0EAAuD;IAEH,6TAAS,yBAAiB,mBAAmB,CAAC,IAAC;IACvF,8EACJ;IAAA,4DAAmB;IACnB,gEAAM;IAIV,4DAAkB;IAElB,wEAEuD;IAEvD,+FAAoF;IACnD,iUAAU,6BAAqB,GAAG,CAAC,IAAC;IAAuB,8DAAE;IAAA,4DAAoB;IAC9G,yFAAkE;IAArC,iUAAU,6BAAqB,GAAG,CAAC,IAAC;IAAC,8DAAE;IAAA,4DAAoB;IACxF,yFAAkE;IAArC,iUAAU,6BAAqB,GAAG,CAAC,IAAC;IAAC,8DAAE;IAAA,4DAAoB;IACxF,yFAAkE;IAArC,iUAAU,6BAAqB,GAAG,CAAC,IAAC;IAAC,8DAAE;IAAA,4DAAoB;IAKhG,2EAA0B;IACiB,sWAAS,WAAO,SAAE,oCAA4B,IAAE;IACnF,oEACJ;IAAA,4DAAS;IAET,2EAAc;IAGN,6EACJ;IAAA,4DAAS;;;IAlCS,0DAAmC;IAAnC,oGAAmC;IAalD,0DAA2C;IAA3C,iKAA2C;IAkBtC,2DAA2C;IAA3C,4GAA2C;;ADnUhE,MAAM,yBAAyB;IAsHlC,YACY,KAAe,EACf,WAAwB,EACxB,eAA+B,EAC/B,cAAoC,EACpC,OAAkB;QAJlB,UAAK,GAAL,KAAK,CAAU;QACf,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,mBAAc,GAAd,cAAc,CAAsB;QACpC,YAAO,GAAP,OAAO,CAAW;QAxH9B,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,mBAAc,GAAQ,EAAE,CAAC;QAOzB,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAC7B,cAAS,GAAG;YACR,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK;YACpB,EAAE,EAAE,CAAC;SACR;QAIS,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC/C,sBAAiB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC7C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,oBAAe,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAOrD,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACxG,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;YACpE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YACzD;gBACI,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG;gBAC3D,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D;YACD;gBACI,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG;gBAClE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;aACpE;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAChJ;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,mJAAuC;gBAC/E,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACpH;SACJ,CAAC;QAkDK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA8LF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAwCD,yBAAoB,GAAQ,EAAE,CAAC;QA2I/B,4BAA4B;QAE5B,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,kCAA6B,GAAY,KAAK,CAAC;QAC/C,eAAU,GAAQ,EAAE,CAAC;QACrB,4BAAuB,GAAQ,EAAE,CAAC;QAClC,0BAAqB,GAAQ,EAAE,CAAC;QA3W5B,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IA3FD,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ;QAEtB,IAAI,QAAQ,IAAI,IAAI,EAAE;YAElB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,qBAAqB,GAAG,GAAG,SAAS,EAAE,CAAC;SACjD;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,qDAAqD,CAAC;IACtE,CAAC;IA+CD,QAAQ;QACJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAErC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAChD,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SAElC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAgB,CAAC;QAGzE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAgB,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzC;IAEL,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAGD,SAAS,CAAC,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE9F,CAAC;IAED,qBAAqB,CAAC,KAAK;QAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAElF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;qBAElC;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,WAAW,CAAC,KAAK;QACb,WAAW;QAEX,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,UAAU,CAAC,GAAG,EAAE;YAGZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAGD,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,uBAAuB;QAEnB,uBAAuB;QACvB,4CAA4C;QAC5C,mDAAmD;QACnD,UAAU;QACV,mCAAmC;QACnC,sDAAsD;QACtD,GAAG;QAEH,IAAI,GAAG,GAAG;YACN,IAAI,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAExE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,+EAA+E;gBAC/E,WAAW;gBAEX,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAID,6BAA6B;QAGzB,IAAI,CAAC,eAAe,CAAC,6BAA6B,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE3E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC;gBACtC,QAAQ,CAAC;gBAET,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;wBAClE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;qBACjE,CAAC;gBACN,CAAC,CAAC;aAEL;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,aAAa;QAET,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAID,aAAa;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAGD,WAAW;QACP,UAAU,CAAC,GAAG,EAAE;YAGZ,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE3D,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;gBAEzC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAGD,WAAW;QAEP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,mDAAmD,EAAE,KAAK,EAAE,SAAS,EAAE;SAC3F,CAAC,CAAC;QACH,QAAQ,CAAC;QACT,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAExE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,IAAI,CAAC,6BAA6B,EAAE,CAAC;iBAExC;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAGN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAWD,0BAA0B;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,WAAW;QACxB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACzC,CAAC;IAED,6BAA6B;QAEzB,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,iBAAiB;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC/D,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEzC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;gBAGlC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEnD,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;oBAE1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAC9B,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;wBACjG,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC;qBACpF,CAAC;gBACN,CAAC,CAAC;gBAEF,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC;gBAKT,oBAAoB;gBAEpB,UAAU,CAAC,GAAG,EAAE;oBACZ,CAAC,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,CAAC,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAE/D,kEAAkE;oBAElE,iDAAiD;oBAEjD,yBAAyB;oBAEzB,0DAA0D;oBAE1D,8BAA8B;oBAC9B,iDAAiD;oBACjD,YAAY;oBACZ,mCAAmC;oBACnC,6BAA6B;oBAC7B,gBAAgB;oBAChB,gBAAgB;oBAChB,wDAAwD;oBACxD,uDAAuD;oBACvD,QAAQ;oBAER,wBAAwB;oBACxB,qEAAqE;oBACrE,eAAe;gBACf,CAAC,EAAE,IAAI,CAAC,CAAC;aAGZ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;QAIF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,YAAY,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,+BAA+B;QAC3D,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,+BAA+B;QAC3D,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,0BAA0B;QACtB,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB,CAAC,GAAQ;QACzB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACzC,CAAC;IAED,6BAA6B;QAEzB,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE;eACzB,IAAI,CAAC,UAAU,IAAI,EAAE;YACxB,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;;YAE3C,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAElD,CAAC;;kGAtmBQ,yBAAyB;uHAAzB,yBAAyB;;;;kEAoHvB,2DAAa;;;;;;;;;;QCtI5B,4EAAmI;QAM/G,oEAAkF;QACtF,4DAAM;QAEN,yEAA8B;QAEe,6EAAiB;QAAA,4DAAO;QAGrE,0EAA8B;QAEiB,wDAAiC;QAAA,4DAAO;QAM/F,2EAA6B;QAGsB,gFAAoB;QAAA,4DAAO;QAClE,qEAAG;QACC,iFACA;QAAA,iEAAM;QACN,mFACA;QAAA,iEAAM;QACN,sFACA;QAAA,iEAAM;QACN,sFACA;QAAA,iEAAM;QACN,+EACA;QAAA,iEAAM;QACN,uFACJ;QAAA,4DAAI;QAMhB,6EAA+B;QAEmB,yFAA6B;QAAA,4DAAK;QAC5E,0EAA0C;QAAA,qEAAS;QAAA,4DAAK;QACxD,0EAA0C;QAAA,0EAAc;QAAA,4DAAK;QAC7D,0EAAqD;QAAA,kEAAM;QAAA,4DAAK;QAIxE,6EAAsC;QAEY,wDAAmF;;QAAA,4DAAK;QAClI,0EAA0C;QAAA,wDAA6C;;QAAA,4DAAK;QAC5F,0EAA0C;QAAA,wDAAgC;QAAA,4DAAK;QAC/E,0EAAqD;QAAA,wDAAmC;QAAA,4DAAK;QAIrG,6EAAqC;QAEsC,wDAAiE;QAAA,4DAAK;QAQzJ,+EAA+J;QAK3I,qEAAkF;QACtF,4DAAM;QAKd,2EAA6B;QAGoB,2EAAe;QAAA,4DAAO;QAG/D,0EAAoF;QAC1C,wDAA6B;;QAAA,4DAAO;QAyBtF,6HAyBQ;QAGZ,4DAAM;QAwBV,+EAAyL;QAKrK,qEAAkF;QACtF,4DAAM;QAId,2EAA6B;QAGoB,wDAAc;QAAA,4DAAO;QAG9D,0EAAoF;QAC1C,wDAA6B;;QAAA,4DAAO;QAKtF,6HAoCQ;QAEZ,4DAAM;QAWV,0EAAiB;QAIgC,6EAAiB;QAAA,4DAAO;QAIrE,2EAA2B;QAInB,8HAES;QAET,+EAAqJ;QAA9F,yJAAS,wBAAwB,IAAC;QACrF,8EAAgB;QAAA,iFAA0E;QAAA,sEAAS;QAAA,4DAAW;QAElH,uFAA8B;QACJ,mJAAS,gCAA4B,IAAC;QAAC,+EAAkB;QAAA,4DAAS;QACxF,+EAA8C;QAAxB,mJAAS,iBAAa,IAAC;QAAC,yEAAY;QAAA,4DAAS;QAGvE,+EAA4I;QAAzF,yJAAS,wBAAwB,IAAC;QACjF,mEAAK;QAAA,iFAA0E;QAAA,sEAAS;QAAA,4DAAW;QAEvG,uFAA0B;QACA,mJAAS,mBAAe,IAAC;QAAC,wEAAW;QAAA,4DAAS;QACpE,+EAAgD;QAA1B,mJAAS,mBAAe,IAAC;QAAC,2EAAc;QAAA,4DAAS;QACvE,+EAAyD;QAAnC,mJAAS,4BAAwB,IAAC;QAAC,4EAAe;QAAA,4DAAS;QACjF,+EAAyD;QAAnC,mJAAS,4BAAwB,IAAC;QAAC,4EAAe;QAAA,4DAAS;QACjF,+EAAsD;QAAhC,mJAAS,yBAAqB,IAAC;QAAC,yEAAY;QAAA,4DAAS;QAC3E,+EAAuD;QAAjC,mJAAS,0BAAsB,IAAC;QAAC,0EAAa;QAAA,4DAAS;QAO7F,4EAAqB;QACX,wEAAW;QAAA,4DAAO;QACxB,+EAAsD;QAA9C,qJAAU,uBAAmB,IAAC;QAClC,+EAA+B;QAAA,+DAAE;QAAA,4DAAS;QAC1C,+EAAmB;QAAA,+DAAE;QAAA,4DAAS;QAC9B,+EAAmB;QAAA,+DAAE;QAAA,4DAAS;QAC9B,+EAAoB;QAAA,gEAAG;QAAA,4DAAS;QAIxC,4FAa2D;QAL1C,0KAAa,uBAAmB,IAAC,sHAClB,yBAAqB,IADH,8GAEnB,kBAAc,IAFK;QAMlD,4DAAkB;QAGlB,uNAkDc;;;;QAnViD,2DAAiC;QAAjC,gGAAiC;QAuCtC,2DAAmF;QAAnF,gOAAmF;QACnF,0DAA6C;QAA7C,2KAA6C;QAC7C,0DAAgC;QAAhC,iGAAgC;QACrB,0DAAmC;QAAnC,6GAAmC;QAMrB,0DAAiE;QAAjE,2IAAiE;QA0B1F,2DAA6B;QAA7B,yJAA6B;QAyByB,0DAAuB;QAAvB,6FAAuB;QAiE9E,2DAAc;QAAd,+EAAc;QAIb,0DAA6B;QAA7B,yJAA6B;QAKsC,0DAA0B;QAA1B,gGAA0B;QA6DlI,0DAAmC;QAAnC,mGAAmC;QAIpB,0DAA8B;QAA9B,kFAA8B;QAQ9B,2DAA0B;QAA1B,kFAA0B;QA6B7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;ACpSuC;;AAQxE,MAAM,wBAAwB;IAmBjC;QAfU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAe9B,CAAC;IAbjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,QAAQ;IACR,CAAC;;gGAtBQ,wBAAwB;sHAAxB,wBAAwB;QAJtB,uEAAsF;QAAvC,2IAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,2IAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACLxD;AAEC;AAEgB;;;;;AAOlF,MAAM,gCAAgC;IAiBzC,YAAY,0BAA0B;IAClC,0BAA0B;IAClB,OAAkB,EAClB,eAA+B;QAD/B,YAAO,GAAP,OAAO,CAAW;QAClB,oBAAe,GAAf,eAAe,CAAgB;QAfpC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAgB3C,CAAC;IAdD,MAAM,CAAC,MAAW;QACd,EAAE;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3F,mDAAmD;IACvD,CAAC;IAYM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjD,CAAC;IAGD,MAAM,CAAC,EAAO;QAGV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;qBAE1D;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;gHAtFQ,gCAAgC;8HAAhC,gCAAgC;QAH9B,0FAAkE;QAA5C,oLAAa,mBAAe,IAAC;QAAe,4DAAuB;;QAArC,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRmC;AAKnE;AAGtB;AAM+D;AAC2B;AACxB;AACG;AACiE;;;;;;;;;;;;;AAOzJ,MAAM,wBAAwB;IA6BjC,YAAoB,eAA+B,EACvC,gBAAiC,EACjC,eAA+B,EAC/B,KAAqB,EACrB,KAAe,EACf,OAAkB,EAClB,MAAc,EACd,cAAoC,EACpC,WAAwB;QARhB,oBAAe,GAAf,eAAe,CAAgB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,UAAK,GAAL,KAAK,CAAgB;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAW;QAClB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAsB;QACpC,gBAAW,GAAX,WAAW,CAAa;QAnCpC,YAAO,GAAG,KAAK,CAAC;QAMhB,uBAAkB,GAAQ,EAAE,CAAC;QAG7B,mBAAc,GAAQ,EAAE,CAAC;QAEzB,gBAAW,GAAQ,CAAC,CAAC;QAKrB,cAAS,GAAG;YACR,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK;YACpB,EAAE,EAAE,CAAC;SACR;QAES,mBAAc,GAAG,IAAI,wDAAY,EAAQ,CAAC;QAC1C,sBAAiB,GAAG,IAAI,wDAAY,EAAQ,CAAC;QAC7C,yBAAoB,GAAG,IAAI,wDAAY,EAAQ,CAAC;QA4C1D,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5F,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE;YACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE;YAC7C;gBACI,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc;gBAC/C,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D;YACD;gBACI,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB;gBACtD,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;aACpE;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACpI;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,qKAAuC;gBAC/E,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACxG;YACD,GAAG;YACH,qBAAqB;YACrB,qCAAqC;YACrC,2BAA2B;YAC3B,6CAA6C;YAC7C,uBAAuB;YACvB,QAAQ;YACR,eAAe;YAEf,IAAI;YACJ,GAAG;YACH,qBAAqB;YACrB,qCAAqC;YACrC,2BAA2B;YAC3B,yDAAyD;YACzD,yBAAyB;YACzB,QAAQ;YACR,eAAe;YAEf,YAAY;YACZ,GAAG;YACH,qBAAqB;YACrB,qCAAqC;YACrC,2BAA2B;YAC3B,+CAA+C;YAC/C,2BAA2B;YAC3B,QAAQ;YACR,eAAe;YAEf,GAAG;SAEN,CAAC;QAkDK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA1IE,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QAG9D,IAAI,CAAC,mBAAmB,GAAG;YACvB,cAAc,EAAE,sHAAuB;SAC1C;IACL,CAAC;IAED,QAAQ;QAEJ,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEnC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;SACJ;IAEL,CAAC;IAsDD,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ;QAEtB,IAAI,QAAQ,IAAI,IAAI,EAAE;YAElB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,qBAAqB,GAAG,GAAG,SAAS,EAAE,CAAC;SACjD;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,qDAAqD,CAAC;IACtE,CAAC;IAkBD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAgB,CAAC;QAGzE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAgB,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAEhC,wCAAwC;IAC5C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IACD,eAAe;QAEX,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAErF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACrB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC5C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAErC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;6BACnE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBAG3D,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1C,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;wBAC9D,wBAAwB;wBAExB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;qBAChC;iBACJ;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,aAAa;QACT,sCAAsC;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,oBAAoB;QAChB,6CAA6C;QAC7C,8CAA8C;QAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,UAAU;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAEnD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAGxC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAEtF,CAAC;IAED,qBAAqB,CAAC,KAAK;QAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1D,WAAW;YACX,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAElF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;qBAE1B;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAID,WAAW,CAAC,KAAK;QAEb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,UAAU,CAAC,GAAG,EAAE;YAGZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAGnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;oBACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;aAChD,CAAC;YAEF,UAAU,CAAC,GAAG,EAAE;gBACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,MAAM;QACF,uBAAuB;QAEvB,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,IAAI,SAAS,EAAE;YACzE,IAAI,YAAY,IAAI,yBAAyB;gBACzC,IAAI,CAAC,aAAa,EAAE,CAAC;iBACpB,IAAI,YAAY,IAAI,4BAA4B;gBACjD,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACnC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,KAAK;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;;gGA/YQ,wBAAwB;uHAAxB,wBAAwB;mEAuLtB,2DAAa;;;;;;;QChN5B,6EAAmI;QAM/G,qEAAkF;QACtF,6DAAM;QAEN,0EAA8B;QAEe,8EAAiB;QAAA,6DAAO;QAGrE,2EAA8B;QAEiB,yDAAiC;QAAA,6DAAO;QAM/F,4EAA6B;QAGsB,iFAAoB;QAAA,6DAAO;QAClE,sEAAG;QACC,kFACA;QAAA,kEAAM;QACN,oFACA;QAAA,kEAAM;QACN,uFACA;QAAA,kEAAM;QACN,uFACA;QAAA,kEAAM;QACN,gFACA;QAAA,kEAAM;QACN,wFACJ;QAAA,6DAAI;QAMhB,8EAA+B;QAEmB,0FAA6B;QAAA,6DAAK;QAC5E,2EAA0C;QAAA,sEAAS;QAAA,6DAAK;QACxD,2EAA0C;QAAA,2EAAc;QAAA,6DAAK;QAC7D,2EAAqD;QAAA,mEAAM;QAAA,6DAAK;QAIxE,8EAAsC;QAEY,yDAAmF;;QAAA,6DAAK;QAClI,2EAA0C;QAAA,yDAA6C;;QAAA,6DAAK;QAC5F,2EAA0C;QAAA,yDAAgC;QAAA,6DAAK;QAC/E,2EAAqD;QAAA,yDAAmC;QAAA,6DAAK;QAIrG,8EAAqC;QAEsC,yDAAiE;QAAA,6DAAK;QAazJ,2EAAiB;QAIgC,qEAAQ;QAAA,6DAAO;QAAC,sEACzD;QAAA,6DAAK;QAGT,4EAA2B;QAE0B,kJAAS,YAAQ,IAAC;QAC/D,mEACJ;QAAA,6DAAS;QAET,+EAA6E;QAAvB,kJAAS,gBAAY,IAAC;QACxE,0EACJ;QAAA,6DAAS;QAOjB,4EAAwD;QAKJ,yDAAwB;QAAA,6DAAQ;QAKhF,4EAAsB;QAEd,uEACM;QAKN,4EAAsB;QAEd,8EACA;QAAA,6EAAyB;QACrB,yDACJ;QAAA,6DAAO;QAS3B,4EAA6D;QAOA,uEAAU;QAAA,6DAAQ;QAE3D,4EAAsB;QACS,yDAA6B;QAAA,6DAAQ;QAIxE,4EAAkD;QAEL,mEAAM;QAAA,6DAAQ;QAEvD,4EAAsB;QACS,0DAAyB;QAAA,6DAAQ;QAIpE,6EAAkD;QAEL,wEAAU;QAAA,6DAAQ;QAE3D,6EAAsB;QACS,0DAA4B;QAAA,6DAAQ;QAIvE,6EAAkD;QAEL,wEAAU;QAAA,6DAAQ;QAE3D,6EAAsB;QACS,0DAA4B;QAAA,6DAAQ;QAIvE,6EAAkD;QAEL,wEAAU;QAAA,6DAAQ;QAE3D,6EAAsB;QACS,0DAAwB;QAAA,6DAAQ;QAInE,6EAAkD;QAEL,uEAAS;QAAA,6DAAQ;QAE1D,6EAAsB;QACS,0DAA4B;QAAA,6DAAQ;QAIvE,6EAAkD;QAEL,wEAAU;QAAA,6DAAQ;QAE3D,6EAAsB;QACS,0DAA4B;QAAA,6DAAQ;QAIvE,6EAAkD;QAEL,wEAAU;QAAA,6DAAQ;QAE3D,6EAAsB;QACS,0DAA4B;QAAA,6DAAQ;QAIvE,6EAAkD;QAEL,6EAAe;QAAA,6DAAQ;QAEhE,6EAAsB;QACS,0DAAiC;QAAA,6DAAQ;QAI5E,6EAAkD;QAEL,2EAAa;QAAA,6DAAQ;QAE9D,6EAAsB;QACS,0DAA+B;QAAA,6DAAQ;QAI1E,6EAAkD;QAEL,yEAAW;QAAA,6DAAQ;QAE5D,6EAAsB;QACS,0DAA6B;QAAA,6DAAQ;QAIxE,6EAAkD;QAEL,6EAAe;QAAA,6DAAQ;QAEhE,6EAAsB;QACS,0DAAiC;QAAA,6DAAQ;QAI5E,6EAAwB;QAC6B,mJAAS,oCAA4B,IAAC;QACnF,sEACJ;QAAA,6DAAS;QAOzB,6EAAsB;QAMqB,sEAAQ;QAAA,6DAAQ;QAG/C,+EAA0C;QAAA,0DAAmB;QAAA,6DAAQ;QAErE,uEAAsB;QAItB,6FAc6D;QAN5C,0KAAa,uBAAmB,IAAC,qHAClB,yBAAqB,IADH,6GAEnB,kBAAc,IAFK;QAOlD,6DAAkB;;QA7Q6B,4DAAiC;QAAjC,iGAAiC;QAuCtC,4DAAmF;QAAnF,kOAAmF;QACnF,2DAA6C;QAA7C,6KAA6C;QAC7C,2DAAgC;QAAhC,kGAAgC;QACrB,2DAAmC;QAAnC,8GAAmC;QAMrB,2DAAiE;QAAjE,4IAAiE;QAyChG,4DAAwB;QAAxB,0FAAwB;QAiBpD,2DACJ;QADI,kGACJ;QAmB+B,4DAA6B;QAA7B,+FAA6B;QAS7B,2DAAyB;QAAzB,2FAAyB;QASzB,2DAA4B;QAA5B,8FAA4B;QAS5B,2DAA4B;QAA5B,8FAA4B;QAS5B,2DAAwB;QAAxB,0FAAwB;QASxB,2DAA4B;QAA5B,8FAA4B;QAS5B,2DAA4B;QAA5B,8FAA4B;QAS5B,2DAA4B;QAA5B,8FAA4B;QAS5B,2DAAiC;QAAjC,mGAAiC;QASjC,2DAA+B;QAA/B,iGAA+B;QAS/B,2DAA6B;QAA7B,+FAA6B;QAS7B,2DAAiC;QAAjC,mGAAiC;QAuB1B,4DAAmB;QAAnB,qFAAmB;QAS5C,2DAAuB;QAAvB,qFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjR2B;AAGnC;AAIhD,8HAA8H;AAClC;AACuB;;;;;;;;;;AAO5G,MAAM,kBAAkB;IA+D3B,YACY,KAAe,EACf,KAAqB,EACrB,cAAoC,EACpC,eAA+B;QAH/B,UAAK,GAAL,KAAK,CAAU;QACf,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAsB;QACpC,oBAAe,GAAf,eAAe,CAAgB;QAxD3C,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,WAAW,CAAC;QAC7B,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,cAAS,GAAG;YACR,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACrC;QAED,8DAA8D;QACpD,yBAAoB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAChD,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC/C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,oBAAe,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC3C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAE/C,eAAU,GAAa;YAC1B,yGAAyG;YACzG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;YAC1D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACxF,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC1E,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAClF,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACnF;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,4HAAgC;gBACxE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SACJ,CAAC;QAWK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAaE,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAjDD,gBAAgB,CAAC,MAAM;QAEnB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IA6CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAGjE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAGD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzC;IACL,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ;QAKJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAID,gBAAgB;QAEZ,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEjC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,wBAAwB;QACpB,6CAA6C;QAC7C,uBAAuB;QACvB,iDAAiD;QAEjD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;;oFAvOQ,kBAAkB;gHAAlB,kBAAkB;kEA6DhB,0DAAa;;;;;QC1E5B,yEAAiB;QAIgC,uDAAa;QAAA,4DAAO;QAIjE,yEAA2B;QAGgC,gJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,2IAAS,oBAAgB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QACtE,6EAA2D;QAArC,2IAAS,8BAA0B,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QACrF,6EAAyD;QAAnC,2IAAS,4BAAwB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACjF,6EAAyD;QAAnC,2IAAS,4BAAwB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACjF,6EAAsD;QAAhC,2IAAS,yBAAqB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAC3E,6EAAuD;QAAjC,2IAAS,0BAAsB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QA+B7F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,6IAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,kKAAa,uBAAmB,IAAC,8GAClB,yBAAqB,IADH,sGAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QAzE+B,0DAAa;QAAb,8EAAa;QAO1B,0DAA0B;QAA1B,kFAA0B;QAsD7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpE2C;AAInC;AAEwB;AAGc;AAC2B;AACM;;;;;;;;;;;;;;;;;ICwB3G,6EAAgG;IAArB,uSAAS,iBAAU,IAAC;IAC3F,sEACJ;IAAA,4DAAS;;;;;IAGT,6EAAiJ;IAA5B,uSAAS,wBAAiB,IAAC;IAAC,uDAAmB;IAAA,4DAAS;;;IAA/G,sKAAsD;IAA6B,0DAAmB;IAAnB,qFAAmB;;ADtBzK,MAAM,qBAAqB;IAuC9B,YAAoB,OAAkB,EAC1B,KAAqB,EACrB,eAA+B,EAC/B,cAAoC;QAH5B,YAAO,GAAP,OAAO,CAAW;QAC1B,UAAK,GAAL,KAAK,CAAgB;QACrB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,mBAAc,GAAd,cAAc,CAAsB;QA/BhD,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,eAAU,GAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAEhF,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,eAAe,CAAC;QACjC,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,sBAAiB,GAAQ,CAAC,CAAC;QAC3B,oBAAe,GAAY,IAAI,CAAC;QAChC,sBAAiB,GAAY,KAAK,CAAC;QAEnC,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAQ,YAAY,CAAC;QAElC,mBAAc,GAAU,EAAE,CAAC;QAI3B,cAAS,GAAG;YACR,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK;YACpB,EAAE,EAAE,CAAC;SACR;QACS,yBAAoB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAClD,oBAAe,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC3C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QA2CjD,eAAU,GAAa;YAC1B,yGAAyG;YACzG;gBACI,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,kBAAkB;gBAChC,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjD;gBACD,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,EAAE;aAEZ;YACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;YACjG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5G,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;YACvG,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YACrF,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;YACrG,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;YAC7H,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;YACvH,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;YACxH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1F,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;YACnH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE;YACnG;gBACI,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB;gBAC/C,kBAAkB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9C,KAAK,EAAE,MAAM;iBAChB;aACJ;YACD,GAAG;YACH,+EAA+E;YAC/E,sHAAsH;YACtH,GAAG;SACN,CAAC;QAgDK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA9HE,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;QAE9B,IAAI,CAAC,mBAAmB,GAAG;YACvB,gBAAgB,EAAE,4HAAyB;YAC3C,cAAc,EAAE,sHAAuB;SAC1C;IACL,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,aAAa;aACnB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,OAAO,mCAAQ,MAAM,CAAC,IAAI,GAAK,MAAM,CAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEP,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;eAC1C,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;SAExD;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAuCD,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;SAChB;;YACI,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,MAAM;QACZ,OAAO,0EAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB;IACtB,iBAAiB,CAAC,QAAQ;QACtB,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,qBAAqB,GAAG,GAAG,SAAS,EAAE,CAAC;SACjD;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,MAAM;QAEnB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,MAAM;QAElB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,OAAO,MAAM,CAAC;SACjB;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAaD,qBAAqB,CAAC,KAAK;QACvB,WAAW;QACX,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,GAAG,EAAE,CAAC;YAEb,GAAG,GAAG;gBACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;gBAC1C,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;gBACjC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;aACjD,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;aACI;YACD,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAEtC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC;YAEnF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACxC;SACJ;IACL,CAAC;IAED,YAAY;IAEZ,CAAC;IAED,qBAAqB,CAAC,KAAK;QAEvB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,GAAG,GAAG;YACF,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;YACvC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;YAC9B,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACtF,CAAC;QACF,WAAW;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAID,QAAQ;QAEJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,KAAK,EAAE,WAAW,EAAE;SACnF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAGtF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE5C,IAAI,CAAC,eAAe,EAAE,CAAC;iBAE1B;qBAAM;oBACH,kBAAkB;oBAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC7C;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;QAGN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAMP,CAAC;IAKD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAGjE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAGD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC5B,wCAAwC;SAC3C;IACL,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAID,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,KAAoC;QAEzC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,0CAA0C;YAC1C,iDAAiD;YACjD,mDAAmD;YACnD,yDAAyD;YACzD,uCAAuC;YAEvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE5D,cAAc;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;IAEL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,eAAe;QAEX,IAAI,GAAG,GAAG;YACN,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B;QAED,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAChE,WAAW;YACX,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAChD,6BAA6B;oBAC7B,uCAAuC;oBACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACrC,0CAA0C;iBAC7C;qBACI,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;oBAC1B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;iBACnC;aAGJ;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,eAAe;QACX,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QAEtE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAErC,CAAC;IAKD,oBAAoB,CAAC,GAAQ;QAEzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,+BAA+B;QAE/B,IAAI,GAAG,IAAI,KAAK;YACZ,IAAI,CAAC,iBAAiB,GAAG,8EAAqB,CAAC;aAC9C,IAAI,GAAG,IAAI,OAAO;YACnB,IAAI,CAAC,iBAAiB,GAAG,gFAAuB,CAAC;aAChD,IAAI,GAAG,IAAI,mBAAmB;YAC/B,IAAI,CAAC,iBAAiB,GAAG,oFAA2B,CAAC;aACpD,IAAI,GAAG,IAAI,kBAAkB;YAC9B,IAAI,CAAC,iBAAiB,GAAG,qFAA4B,CAAC;aACrD,IAAI,GAAG,IAAI,MAAM;YAClB,IAAI,CAAC,iBAAiB,GAAG,+EAAsB,CAAC;QAGpD,cAAc;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAID,iBAAiB;QACb,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,MAAM;QAGZ,IAAI,MAAM,EAAE;YACR,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACtC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAClD,IAAI,CAAC,qBAAqB,CACtB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAClC,CAAC;gBACN,CAAC,CAAC,CAAC;SACV;aACI;YACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACtC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;SACV;IAEL,CAAC;;0FA/cQ,qBAAqB;mHAArB,qBAAqB;kEA2QnB,0DAAa;;;;;QC1R5B,yEAAiB;QAIgC,uDAAa;QAAA,4DAAO;QAIjE,yEAA2B;QAOJ,qEAAU;QAAA,4DAAY;QACjC,4EAC8D;QAAhC,6JAAc,oBAAgB,IAAC;QAD7D,4DAC8D;QAC9D,uFAA4E;QAEhF,4DAAiB;QAEjB,+FAAoF;QACjD,2JAAU,yBAAqB,KAAK,CAAC,IAAC;QAAkD,gEAAI;QAAA,4DAAoB;QASnJ,0HAES;QAGT,0HAA6K;QAE7K,8EAA4I;QAAzF,oJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,8IAAS,uBAAmB,IAAC;QAAC,0EAAc;QAAA,4DAAS;QAC3E,8EAA2D;QAArC,8IAAS,8BAA0B,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QACrF,8EAAyD;QAAnC,8IAAS,4BAAwB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACjF,8EAAsD;QAAhC,8IAAS,yBAAqB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAyB3F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,gJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAc6D;QAN5C,qKAAa,uBAAmB,IAAC,iHAClB,yBAAqB,IADH,yGAEnB,kBAAc,IAFK;QAQlD,4DAAkB;;;;QA9F+B,0DAAa;QAAb,8EAAa;QAY9B,0DAA4B;QAA5B,8EAA4B;QAEX,0DAAkB;QAAlB,oEAAkB;QAKmB,0DAA2B;QAA3B,wFAA2B;QAS5F,0DAA6B;QAA7B,6FAA6B;QAK7B,0DAA6B;QAA7B,6FAA6B;QAEd,0DAA0B;QAA1B,kFAA0B;QA8C7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFuC;AAC/E,sEAAsE;AACtE,2DAA2D;AAC3D,8DAA8D;AAC9D,uEAAuE;AACvE,8EAA8E;AAC9E,gFAAgF;AAGC;AAIZ;;;;;;;;;;;;ICMjD,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADtD,0EAAoD;IAChD,2HAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAqCjC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD9D,0EAAwD;IACpD,2HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IA4BrC,sEAA0C;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IAD7D,0EAA2D;IACvD,2HAA+D;IACnE,4DAAM;;;IADI,0DAAkC;IAAlC,qGAAkC;;;IAUxC,sEAA2C;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IAD/D,0EAA4D;IACxD,2HAAiE;IACrE,4DAAM;;;IADI,0DAAmC;IAAnC,sGAAmC;;;ADxEtD,MAAM,uBAAuB;IAmBhC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B,EAC/B,gBAAiC,EACjC,MAAc,EACd,KAAqB;QALd,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QAtBjC,aAAQ,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,cAAc,CAAC;QAI/B,eAAU,GAAQ,CAAC,CAAC;QAEpB,mBAAc,GAAQ,CAAC,CAAC;QAGd,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;QAUZ,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,0BAA0B;QAC1B,8BAA8B;QAC9B,uDAAuD;QACvD,kEAAkE;QAClE,SAAS;QAGT,qEAAqE;QACrE,8EAA8E;QAC9E,4DAA4D;QAC5D,GAAG;IAGP,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YAE5E,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,cAAc,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACzC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YACnF,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,+DAAmB,CAAC;SAC3D,CAAC,CAAC;QAIH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;SAClD;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAGnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAGtC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAE7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;aAE5D;YAGD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC/C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;aACvB;SAEJ;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,KAAoC;QAEzC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;SAExD;IAEL,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,YAAY;QACR,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAE7B,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAE9B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7E,oGAAoG;YACpG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAChF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAExE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC1F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC9F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACxF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACtF,uFAAuF;YAEvF,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SAC7D;IACL,CAAC;IAID,QAAQ;QAEJ,wCAAwC;QACxC,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACrD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC3C,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAC5D,yDAAyD;gBACzD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtD,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACxD,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBAChD,0EAA0E;gBAC1E,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC5D,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;gBAClE,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;gBACtE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAChE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAC9D,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,kDAAkD;aAGhF;SACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;QACF,GAAG;QACH,QAAQ;QACR,oCAAoC;QACpC,GAAG;IAEP,CAAC;IAED,KAAK,KAAK,CAAC;;8FA1LF,uBAAuB;qHAAvB,uBAAuB;QCtBpC,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAE+C,mJAAY,cAAU,IAAC;QAE/E,yEAAiB;QAGkB,wEAAa;QAAA,4DAAQ;QAChD,sEAEyD;QACzD,qHAEM;QACV,4DAAM;QAGN,0EAAmB;QACY,kEAAM;QAAA,4DAAQ;QACzC,uEAE0D;QAK9D,4DAAM;QAEN,2EAAuB;QAOQ,oEAAQ;QAAA,4DAAQ;QAC3C,wEAE6D;QACjE,4DAAM;QAEN,0EAAmB;QAEY,qEAAS;QAAA,4DAAQ;QAC5C,wEAG4D;QAC5D,qHAEM;QACV,4DAAM;QAEN,0EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QAExD,4DAAM;QASN,qEAAgC;QAChC,2EAAoB;QACgC,2EAAe;QAAA,4DAAK;QAExE,0EAAmB;QACY,yEAAa;QAAA,4DAAQ;QAChD,wEAEgE;QAChE,qHAEM;QACV,4DAAM;QAEN,0EAAmB;QACY,0EAAc;QAAA,4DAAQ;QACjD,wEAEiE;QACjE,qHAEM;QACV,4DAAM;QAEN,2EAAuB;QACQ,4EAAgB;QAAA,4DAAQ;QACnD,wEAEmE;QACvE,4DAAM;QAEN,2EAAmB;QACY,8EAAkB;QAAA,4DAAQ;QACrD,wEAC2D;QAC/D,4DAAM;QAEN,2EAAmB;QACY,2EAAe;QAAA,4DAAQ;QAClD,wEACwD;QAC5D,4DAAM;QAEN,2EAAwB;QAEL,wEAAY;QAAA,4DAAY;QACnC,6EAE0D;QAD7B,+JAAc,oBAAgB,IAAC;QAD5D,4DAE0D;QAC1D,wFAAqF;QAEzF,4DAAiB;QAKzB,2EAA0B;QACiB,gJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;;QAzIW,0DAAU;QAAV,2EAAU;QAOZ,0DAA6B;QAA7B,0FAA6B;QAOxC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QASlB,0DAAsE;QAAtE,6LAAsE;QAiBtE,0DAA+C;QAA/C,kKAA+C;QAS/C,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QA0BtB,2DAAkD;QAAlD,qKAAkD;QAEnD,0DAA0B;QAA1B,0FAA0B;QAQzB,0DAAoF;QAApF,2MAAoF;QAErF,0DAA2B;QAA3B,2FAA2B;QAQ1B,0DAAqD;QAArD,wKAAqD;QAmBxC,2DAAqC;QAArC,8EAAqC;QAGpB,0DAA2B;QAA3B,oEAA2B;QAaxD,0DAAmC;QAAnC,gGAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxI4C;AACtB;AAKZ;AAIiB;AACG;AAC6B;;;;;;;;;;;;;;;;;;;;;;;ICgI9F,4EAA4E;IACxE,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,yGACJ;;;IACA,4EAA2E;IACvE,gEACJ;IAAA,4DAAQ;;;IAWR,4EAA0E;IACtE,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,uGACJ;;;IACA,4EAAyE;IACrE,gEACJ;IAAA,4DAAQ;;;IA+DR,4EAA4F;IACxF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,2HACJ;;;IACA,4EAAgG;IAC5F,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,8HACJ;;;IACA,4EAA0F;IACtF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,wHACJ;;;IACA,4EAA6F;IACzF,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,4HACJ;;;IACA,4EAAkG;IAC9F,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,kIACJ;;;IACA,4EAAoG;IAChG,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,oIACJ;;;IACA,4EAAiG;IAC7F,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,iIACJ;;;IASA,4EAK8D;IAC1D,gEACJ;IAAA,4DAAQ;;;IA4BZ,4EAA8E;IAAA,2EAAgB;IAAA,4DAAQ;;;IAMtG,oEAAoE;;;IAIpE,yEAAgE;IAEnB,yEAAc;IAAA,4DAAQ;IAO/D,0EAA2B;IACc,mEAAQ;IAAA,4DAAQ;IAGzD,0EAA2B;IACc,uEAAY;IAAA,4DAAQ;IAG7D,2EAA2B;IACc,oEAAQ;IAAA,4DAAQ;IAEzD,sEAEM;IACV,4DAAM;;;;IAEN,sEAA0D;IAMG,uDAAmD;;IAAA,4DAAQ;IAahH,0EAA2B;IAG0B,wDAA+B;IAAA,4DAAQ;IAK5F,2EAA2B;IAG0B,wDAAqE;;IAAA,4DAAQ;IAKlI,2EAA2B;IAG0B,wDAAwE;;IAAA,4DAAQ;IAKrI,2EAA2B;IAGgC,2WAAS,4CAAgC,IAAC;IAAkB,yEAA0B;IAAA,gEAAI;IAAA,4DAAI;IAC7I,yEAA6G;IAA9D,2WAAS,8CAAkC,IAAC;IAAkB,yEAA0B;IAAA,kEAAM;IAAA,4DAAI;;;IAzCxG,0DAAmD;IAAnD,uLAAmD;IAgBnD,0DAA+B;IAA/B,yGAA+B;IAQ/B,0DAAqE;IAArE,oMAAqE;IAQrE,0DAAwE;IAAxE,yMAAwE;;;IA+BrI,4EAAwE;IAAA,uEAAY;IAAA,4DAAQ;;;IAM5F,oEAA8D;;;IAE9D,yEAA0D;IAEb,uEAAY;IAAA,4DAAQ;IAO7D,0EAA2B;IACc,uEAAY;IAAA,4DAAQ;IAG7D,0EAA2B;IACc,+DAAI;IAAA,4DAAQ;IAGrD,2EAA2B;IACc,mEAAO;IAAA,4DAAQ;IAGxD,2EAA2B;IACc,kEAAM;IAAA,4DAAQ;IAGvD,sEAEM;IACV,4DAAM;;;;IAEN,sEAAgD;IAMa,uDAA4C;;IAAA,4DAAQ;IAazG,0EAA2B;IAG0B,wDAA+B;IAAA,4DAAQ;IAK5F,2EAA2B;IAG0B,wDAAwB;IAAA,4DAAQ;IAKrF,2EAA2B;IAG0B,wDAA6D;;IAAA,4DAAQ;IAK1H,2EAA2B;IAG0B,wDAA+E;;IAAA,4DAAQ;IAK5I,2EAA2B;IAGgC,wWAAS,sCAA0B,IAAC;IAAkB,yEAA0B;IAAA,gEAAI;IAAA,4DAAI;IACvI,yEAAuG;IAAxD,wWAAS,wCAA4B,IAAC;IAAkB,yEAA0B;IAAA,kEAAM;IAAA,4DAAI;;;IAjDlG,0DAA4C;IAA5C,gLAA4C;IAgB5C,0DAA+B;IAA/B,yGAA+B;IAQ/B,0DAAwB;IAAxB,kGAAwB;IAQxB,0DAA6D;IAA7D,4LAA6D;IAQ7D,0DAA+E;IAA/E,iNAA+E;;;IAiB5I,yEAA0D;IACtD,qEAEM;IAEN,0EAA2B;IACc,wEAAa;IAAA,4DAAQ;IAAA,gEAAM;IAChE,0EAAgD;IAEC,uDAAgE;;IAAA,4DAAQ;IAK7H,2EAAsB;IACmB,oEAAQ;IAAA,4DAAQ;IAAA,iEAAM;IAC3D,2EAAgD;IAEC,wDAA4D;;IAAA,4DAAQ;;;IATpE,0DAAgE;IAAhE,mMAAgE;IAShE,0DAA4D;IAA5D,+LAA4D;;;IAQrH,4EAAyE;IAAA,mEAAQ;IAAA,4DAAQ;;;IAIzF,oEAA+D;;;IAE/D,yEAA2D;IAEd,gEAAK;IAAA,4DAAQ;IAOtD,0EAA2B;IACc,uEAAY;IAAA,4DAAQ;IAG7D,0EAA2B;IACc,+DAAI;IAAA,4DAAQ;IAGrD,2EAA2B;IACc,mEAAO;IAAA,4DAAQ;IAGxD,2EAA2B;IACc,kEAAM;IAAA,4DAAQ;IAGvD,sEAEM;IACV,4DAAM;;;IAoCE,0EAAmD;IAGE,uDAAuC;;IAAA,4DAAQ;;;IAA/C,0DAAuC;IAAvC,wKAAuC;;;IAK5F,0EAAoD;IAGC,uDAA4D;;IAAA,4DAAQ;;;IAApE,0DAA4D;IAA5D,2LAA4D;;;;IA9CzH,sEAAiD;IAMY,uDAA4C;;IAAA,4DAAQ;IAazG,0EAA2B;IAG0B,wDAA+B;IAAA,4DAAQ;IAK5F,2EAA2B;IAG0B,wDAAwB;IAAA,4DAAQ;IAKrF,oIAMM;IAEN,oIAMM;IAEN,2EAA2B;IAG0B,wDAA0D;;IAAA,4DAAQ;IAKvH,2EAA2B;IAGgC,wWAAS,sCAA0B,IAAC;IAAkB,yEAA0B;IAAA,gEAAI;IAAA,4DAAI;IACvI,yEAAuG;IAAxD,wWAAS,wCAA4B,IAAC;IAAkB,yEAA0B;IAAA,kEAAM;IAAA,4DAAI;;;IAzDlG,0DAA4C;IAA5C,gLAA4C;IAgB5C,0DAA+B;IAA/B,yGAA+B;IAQ/B,0DAAwB;IAAxB,kGAAwB;IAKvE,0DAAqB;IAArB,qFAAqB;IAQrB,0DAAsB;IAAtB,sFAAsB;IAWyB,0DAA0D;IAA1D,6LAA0D;;;IAiBvH,yEAA2D;IACvD,qEAEM;IACN,0EAAsB;IACmB,0EAAe;IAAA,4DAAQ;IAAA,gEAAM;IAClE,0EAAgD;IAEC,uDAA+D;;IAAA,4DAAQ;;;IAAvE,0DAA+D;IAA/D,kMAA+D;;;;IAhWpI,sEAAuC;IACnC,uDAGA;IAAA,yEAAiB;IAGT,+HAAsG;IAMtG,yHAAoE;IAIpE,4HAuBM;IAEN,6HAsDM;IACV,4DAAM;IAWV,yEAAiB;IAGT,iIAA4F;IAM5F,2HAA8D;IAE9D,8HA4BM;IAEN,+HA6DM;IAEN,+HAsBM;IAIN,iIAAyF;IAIzF,2HAA+D;IAE/D,8HA4BM;IACN,+HAqEM;IAEN,8HAYM;IAGV,4DAAM;IAWV,0EAAiB;IAGsB,8EAAkB;IAAA,4DAAQ;IAEzD,qEAAqB;IAErB,0EAAiB;IAE4B,yEAAa;IAAA,4DAAQ;IAAA,iEAAI;IAC9D,2EAAgD;IAEC,wDAAoC;IAAA,4DAAQ;IAmCjG,2EAA2B;IACc,yEAAa;IAAA,4DAAQ;IAAA,iEAAM;IAChE,2EAAgD;IAEC,wDAAwD;;IAAA,4DAAQ;IAKrH,2EAA2B;IACc,oEAAQ;IAAA,4DAAQ;IAAA,iEAAM;IAC3D,2EAAgD;IAEC,wDAAuC;IAAA,4DAAQ;IAKpG,2EAA2B;IACc,yEAAa;IAAA,4DAAQ;IAAA,iEAAM;IAChE,2EAAgD;IAEC,wDAA2D;;IAAA,4DAAQ;IAKxH,2EAA2B;IACc,sEAAU;IAAA,4DAAQ;IAAA,iEAAM;IAC7D,2EAAgD;IAEC,wDAAuC;IAAA,4DAAQ;IAKpG,2EAA2B;IACc,mEAAO;IAAA,4DAAQ;IAAA,iEAAM;IAC1D,2EAAgD;IAEC,wDAA6E;;IAAA,4DAAQ;IAK1I,2EAA2B;IACc,kEAAM;IAAA,4DAAQ;IAAA,iEAAM;IACzD,2EAAiD;IAEE,mEAAO;IAAA,4DAAQ;IAC1D,6EAGyC;IADlC,uWAAS,gCAAoB,CAAC,EAAE,IAAC;IAFxC,4DAGyC;IAMrD,2EAAsB;IACmB,kEAAM;IAAA,4DAAQ;IAAA,iEAAI;IAEvD,2EAAuF;IAG3E,wDACJ;IAAA,4DAAQ;IAchC,0EAAiB;IAMwC,wWAAS,+BAAmB,CAAC,YAAY,IAAC;IACvF,kFACJ;IAAA,4DAAS;IAET,8EAAsG;IAAhD,wWAAS,oCAAwB,CAAC,YAAY,IAAC;IACjG,kFACJ;IAAA,4DAAS;IAET,+EAAyF;IAAnC,yWAAS,iCAAqB,CAAC,EAAE,IAAC;IACpF,4EACJ;IAAA,4DAAS;IAET,+EAA2F;IAArC,yWAAS,mCAAuB,CAAC,EAAE,IAAC;IACtF,8EACJ;IAAA,4DAAS;IAIjB,sEAAsB;IAC1B,4DAAM;;;;IAzgBF,0DAGA;IAHA,gOAGA;IAGgB,0DAA4C;IAA5C,gHAA4C;IAM/C,0DAA4C;IAA5C,gHAA4C;IAI3C,0DAA4C;IAA5C,gHAA4C;IAyBxB,0DAA8B;IAA9B,wGAA8B;IAqEhD,0DAAsC;IAAtC,0GAAsC;IAMzC,0DAAsC;IAAtC,0GAAsC;IAErC,0DAAsC;IAAtC,0GAAsC;IA8BtB,0DAAwB;IAAxB,kGAAwB;IA+D5B,0DAAsC;IAAtC,0GAAsC;IA0BhD,0DAAuC;IAAvC,2GAAuC;IAI1C,0DAAuC;IAAvC,2GAAuC;IAEtC,0DAAuC;IAAvC,2GAAuC;IA6BvB,0DAAyB;IAAzB,mGAAyB;IAuE7B,0DAAuC;IAAvC,2GAAuC;IAsCA,2DAAoC;IAApC,kHAAoC;IAuCpC,0DAAwD;IAAxD,kMAAwD;IASxD,0DAAuC;IAAvC,qHAAuC;IASvC,0DAA2D;IAA3D,oMAA2D;IAS3D,0DAAuC;IAAvC,qHAAuC;IASvC,0DAA6E;IAA7E,wNAA6E;IAW/G,2DAAqC;IAArC,wHAAqC;IAErC,gGAA+B;IASG,0DAAqC;IAArC,8GAAqC;IAEjD,0DAA0F;IAA1F,mKAA0F;IACnH,0DACJ;IADI,gHACJ;;;;IAoHR,qFAC6D;IADH,mYAAmC;IAGzF,kFAAuD;IAAA,wEAAa;IAAA,4DAAa;IAEjF,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAA2B;IACvB,mEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAAiC;IAC7B,0EACJ;IAAA,4DAAa;IAEb,mFAAyB;IACrB,kEACJ;IAAA,4DAAa;IAEb,mFAA2B;IACvB,oEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA4B;IACxB,qEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA8B;IAC1B,uEACJ;IAAA,4DAAa;;;IAnDyC,kGAAmC;;;;;IAzDrH,0EAAkC;IAEE,0EAAe;IAAA,4DAAK;IAIxD,0EAAiB;IAE+C,oTAAY,6BAAqB,IAAC;IAE1F,yEAAiB;IAIkB,gEAAK;IAAA,4DAAQ;IACxC,uEAEgE;IAEhE,6EAA2B;IAAA,oEAAQ;IAAA,4DAAQ;IAC3C,wEAEmE;IAEnE,0EAAiB;IAEkB,kEAAM;IAAA,4DAAQ;IACzC,wEAEiE;IAIrE,4DAAM;IACN,2EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,wEAC2D;IAC/D,4DAAM;IAGV,0EAAiB;IAEkB,yEAAa;IAAA,4DAAQ;IAChD,wEAC+D;IACnE,4DAAM;IACN,2EAAmB;IACY,uEAAW;IAAA,4DAAQ;IAC9C,wEAC6D;IACjE,4DAAM;IAGV,0EAAiB;IAEkB,oEAAQ;IAAA,4DAAQ;IAC3C,oJAqDa;IACjB,4DAAM;IACN,2EAAmB;IAEA,yEAAa;IAAA,4DAAY;IACpC,6EAEsE;IADvC,gUAAc,yBAAiB,IAAC;IAD/D,4DAEsE;IACtE,wFAAoF;IAExF,4DAAiB;IAajC,2EAA0B;IAEiB,2RAAS,WAAO,IAAC;IACpD,oEACJ;IAAA,4DAAS;IACT,2EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;IAtIS,0DAA6B;IAA7B,8FAA6B;IAQxC,0DAAkD;IAAlD,yKAAkD;IAKlD,0DAAqD;IAArD,4KAAqD;IAO7C,0DAAoF;IAApF,mNAAoF;IA6B9E,2DAAU;IAAV,sEAAU;IA0DH,0DAAoC;IAApC,+EAAoC;IAGnB,0DAA0B;IAA1B,qEAA0B;IAqB/D,0DAAmC;IAAnC,oGAAmC;;;IA2HvC,kFAAuE;IAAA,uDAAoB;IAAA,4DAAa;;;IAA1D,qFAAwB;IAAC,0DAAoB;IAApB,qFAAoB;;;IAS3F,kFAAqE;IAAA,uDAAa;IAAA,4DAAa;;;IAAlD,oFAAuB;IAAC,0DAAa;IAAb,8EAAa;;;IASlF,sEAAmC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD7D,2EAAoD;IAChD,2IAA+D;IACnE,4DAAM;;;IADI,0DAA2B;IAA3B,+FAA2B;;;IAUjC,sEAAsC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADhE,2EAAuD;IACnD,2IAAkE;IACtE,4DAAM;;;IADI,0DAA8B;IAA9B,kGAA8B;;;;IA7CxD,0EAAkC;IACE,uDAAmB;IAAA,4DAAK;IAE5D,2EAA6B;IAG+B,oTAAY,6BAAqB,IAAC;IAGtF,yEAAiB;IAGkB,mEAAQ;IAAA,4DAAQ;IAC3C,qFACyF;IAA9C,8UAAmB,iCAAyB,IAAC;IACpF,mFAAuD;IAAA,0EAAc;IAAA,4DAAa;IAElF,oJAAwG;IAC5G,4DAAa;IAEjB,2EAAmB;IACY,oEAAQ;IAAA,4DAAQ;IAC3C,sFAC2C;IADG,+UAAmB,iCAAyB,IAAC;IAEvF,mFAAuD;IAAA,0EAAc;IAAA,4DAAa;IAElF,oJAA+F;IACnG,4DAAa;IAEjB,4EAAmB;IACY,iEAAK;IAAA,4DAAQ;IACxC,yEAEwD;IACxD,sIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,oEAAQ;IAAA,4DAAQ;IAC3C,yEAEmD;IACnD,sIAEM;IACV,4DAAM;IAGN,4EAAmB;IAGI,yEAAa;IAAA,4DAAY;IACpC,8EAEuE;IADxC,gUAAc,yBAAiB,IAAC;IAD/D,4DAEuE;IACvE,wFAAqF;IAEzF,4DAAiB;IAO7B,2EAA0B;IAEiB,yWAAS,WAAO,SAAE,sBAAc,IAAE;IACrE,oEACJ;IAAA,4DAAS;IAET,2EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;IA3EW,0DAAmB;IAAnB,wFAAmB;IAKrB,0DAAyB;IAAzB,0FAAyB;IAWV,0DAAe;IAAf,yFAAe;IAShB,0DAAe;IAAf,yFAAe;IAMxC,0DAA2C;IAA3C,kKAA2C;IAE5C,0DAAmB;IAAnB,uFAAmB;IAQlB,0DAA8C;IAA9C,qKAA8C;IAE/C,0DAAsB;IAAtB,0FAAsB;IAUJ,0DAAqC;IAArC,+EAAqC;IAGpB,0DAA2B;IAA3B,qEAA2B;IAC5C,0DAAiB;IAAjB,kFAAiB;IAejC,0DAA+B;IAA/B,gGAA+B;;;IAkCnC,sEAA0C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADpE,2EAA2D;IACvD,2IAAsE;IAC1E,4DAAM;;;IADI,0DAAkC;IAAlC,sGAAkC;;;IAM5C,qFAC6D;IAEF,wEAAa;IAAA,4DAAa;IAEjF,kFAAwB;IACpB,gEACJ;IAAA,4DAAa;IAEb,kFAA4B;IACxB,oEACJ;IAAA,4DAAa;IAEb,kFAA0B;IACtB,kEACJ;IAAA,4DAAa;;;IAWb,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IADjE,2EAAwD;IACpD,2IAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,mGAA+B;;;IAUrC,sEAAqC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD/D,2EAAsD;IAClD,2IAAiE;IACrE,4DAAM;;;IADI,0DAA6B;IAA7B,iGAA6B;;;;IA3DvD,0EAAkC;IACE,uDAA4B;IAAA,4DAAK;IAErE,2EAA6B;IAG4B,oTAAY,0BAAkB,IAAC;IAGhF,yEAAiB;IAGkB,uEAAY;IAAA,4DAAQ;IAC/C,wEAEgE;IAChE,sIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,wEAAY;IAAA,4DAAQ;IAC/C,qJAiBa;IACjB,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,yEAE4D;IAC5D,sIAEM;IACV,4DAAM;IAEN,4EAAmB;IACY,mEAAO;IAAA,4DAAQ;IAC1C,yEAE0D;IAC1D,sIAEM;IACV,4DAAM;IAEN,4EAAmB;IAGI,gEAAI;IAAA,4DAAY;IAC3B,8EAEmE;IADpC,iUAAc,0BAAiB,IAAC;IAD/D,4DAEmE;IACnE,wFAAiF;IAErF,4DAAiB;IAO7B,2EAA0B;IAIiB,0WAAS,WAAO,SAAE,uBAAc,IAAE;IACrE,oEACJ;IAAA,4DAAS;IAET,2EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;IA1FW,0DAA4B;IAA5B,iGAA4B;IAK9B,0DAAsB;IAAtB,uFAAsB;IAQjC,0DAAkD;IAAlD,yKAAkD;IAEnD,0DAA0B;IAA1B,8FAA0B;IAOnB,0DAAU;IAAV,sEAAU;IAuBhB,0DAA+C;IAA/C,sKAA+C;IAEhD,0DAAuB;IAAvB,2FAAuB;IAQtB,0DAA6C;IAA7C,oKAA6C;IAE9C,0DAAqB;IAArB,yFAAqB;IASH,0DAAiC;IAAjC,+EAAiC;IAGhB,0DAAuB;IAAvB,qEAAuB;IACxC,0DAAiB;IAAjB,kFAAiB;IAiBjC,0DAA4B;IAA5B,6FAA4B;;;IAmChC,sEAA6C;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADvE,2EAA8D;IAC1D,2IAAyE;IAC7E,4DAAM;;;IADI,0DAAqC;IAArC,0GAAqC;;;;IAO/C,qFAC6D;IADH,sYAAmC;IAGzF,kFAAuD;IAAA,wEAAa;IAAA,4DAAa;IAEjF,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAAyB;IACrB,iEACJ;IAAA,4DAAa;IAEb,kFAA2B;IACvB,mEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAAiC;IAC7B,0EACJ;IAAA,4DAAa;IAEb,mFAAyB;IACrB,kEACJ;IAAA,4DAAa;IAEb,mFAA2B;IACvB,oEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA4B;IACxB,qEACJ;IAAA,4DAAa;IAEb,mFAAgC;IAC5B,yEACJ;IAAA,4DAAa;IAEb,mFAA0B;IACtB,mEACJ;IAAA,4DAAa;IAEb,mFAA8B;IAC1B,uEACJ;IAAA,4DAAa;;;IAnDyC,mGAAmC;;;IA+DzF,sEAAwC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADlE,2EAAyD;IACrD,2IAAoE;IACxE,4DAAM;;;IADI,0DAAgC;IAAhC,qGAAgC;;;IAStC,sEAAwC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IADlE,2EAAyD;IACrD,2IAAoE;IACxE,4DAAM;;;IADI,0DAAgC;IAAhC,qGAAgC;;;IAStC,sEAAqC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,4FAAsB;;;IAD/D,2EAAsD;IAClD,2IAAiE;IACrE,4DAAM;;;IADI,0DAA6B;IAA7B,kGAA6B;;;;IAzGvD,0EAAkC;IACE,0EAAe;IAAA,4DAAK;IAExD,2EAA6B;IAG+B,sTAAY,0BAAiB,IAAC;IAGlF,yEAAiB;IAGkB,0EAAe;IAAA,4DAAQ;IAClD,wEAEkE;IAClE,sIAEM;IACV,4DAAM;IAEN,2EAAmB;IACY,oEAAQ;IAAA,4DAAQ;IAE3C,oJAqDa;IAEjB,4DAAM;IAEN,4EAAmB;IACY,qEAAS;IAAA,4DAAQ;IAC5C,8EAEqG;IAA1C,wTAAS,sCAA6B,IAAC;IAFlG,4DAEqG;IACrG,sIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,sEAAU;IAAA,4DAAQ;IAC7C,8EAE6D;IADL,wTAAS,uCAA8B,IAAC;IADhG,4DAE6D;IAC7D,sIAEM;IACV,4DAAM;IACN,4EAAmB;IACY,kEAAM;IAAA,4DAAQ;IACzC,yEAE0D;IAC1D,sIAEM;IACV,4DAAM;IAEN,4EAAmB;IAGI,wEAAY;IAAA,4DAAY;IACnC,8EACgE;IAAhC,kUAAc,yBAAgB,IAAC;IAD/D,4DACgE;IAChE,wFAAoF;IAExF,4DAAiB;IAKzB,4EAAmB;IAGI,0EAAc;IAAA,4DAAY;IACrC,8EAC2E;IAA1C,kUAAc,mCAA0B,IAAC;IAD1E,4DAC2E;IAC3E,wFAAsF;IAE1F,4DAAiB;IAKzB,4EAAwB;IACgD,qEAAS;IAAA,4DAAe;IAMpG,2EAA0B;IACiB,4WAAS,YAAO,SAAE,uBAAc,IAAE;IACrE,oEACJ;IAAA,4DAAS;IAET,2EAAc;IAGN,kEACJ;IAAA,4DAAS;;;;;IAjJS,0DAAyB;IAAzB,0FAAyB;IAQpC,0DAAqD;IAArD,4KAAqD;IAEtD,0DAA6B;IAA7B,iGAA6B;IAQtB,0DAAU;IAAV,sEAAU;IA4DhB,0DAAgD;IAAhD,uKAAgD;IAEjD,0DAAwB;IAAxB,4FAAwB;IAOvB,0DAAgD;IAAhD,uKAAgD;IAEjD,0DAAwB;IAAxB,4FAAwB;IAOvB,0DAA6C;IAA7C,oKAA6C;IAE9C,0DAAqB;IAArB,yFAAqB;IASH,0DAAoC;IAApC,gFAAoC;IAEnB,0DAA0B;IAA1B,sEAA0B;IAC3C,0DAAiB;IAAjB,kFAAiB;IAUjB,0DAAsC;IAAtC,gFAAsC;IAErB,0DAA4B;IAA5B,sEAA4B;IAC7C,0DAAiB;IAAjB,kFAAiB;IAOI,0DAAsB;IAAtB,uFAAsB;IAY3D,0DAA+B;IAA/B,gGAA+B;;ADj3CpD,MAAM,sBAAsB;IAgE/B,YAAoB,eAA+B,EACvC,gBAAiC,EACjC,cAAoC,EACpC,KAAqB,EACrB,KAAe,EACf,WAAwB,EACxB,OAAkB;QANV,oBAAe,GAAf,eAAe,CAAgB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAsB;QACpC,UAAK,GAAL,KAAK,CAAgB;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAW;QAzD9B,0BAAqB,GAAQ,MAAM,CAAC;QAEpC,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,iBAAY,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChD,kBAAa,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEjD,eAAU,GAAY,KAAK,CAAC;QAE5B,2BAAsB,GAAQ,CAAC,CAAC;QAChC,mBAAc,GAAQ,CAAC,CAAC;QACxB,YAAO,GAAG,KAAK,CAAC;QAGhB,oBAAe,GAAQ,aAAa,CAAC;QACrC,oBAAe,GAAQ,CAAC,CAAC;QACzB,eAAU,GAAQ,CAAC,CAAC;QAGpB,sBAAiB,GAAQ,CAAC,CAAC;QAC3B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,sBAAiB,GAAQ,CAAC,CAAC;QAC3B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAQ,EAAE,CAAC;QACpB,mBAAc,GAAQ,EAAE,CAAC;QACzB,mBAAc,GAAQ,EAAE,CAAC;QACzB,iCAA4B,GAAQ,EAAE,CAAC;QACvC,gCAA2B,GAAQ,EAAE,CAAC;QACtC,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,0BAAqB,GAAQ,EAAE,CAAC;QAChC,2BAAsB,GAAQ,EAAE,CAAC;QACjC,mBAAc,GAAQ,CAAC,CAAC;QACxB,kBAAa,GAAQ,CAAC,CAAC;QACvB,eAAU,GAAQ,CAAC,CAAC;QACpB,kBAAa,GAAQ,CAAC,CAAC;QAEvB,6BAAwB,GAAQ,kBAAkB,CAAC;QAGnD,uBAAuB;QAEb,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC1C,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAgBhD,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,KAAK,CAAC,aAAa;aACnB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,OAAO,mCAAQ,MAAM,CAAC,IAAI,GAAK,MAAM,CAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;QAC7D,CAAC,CAAC,CAAC;QAGP,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS;eAC9D,IAAI,CAAC,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACzE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,6BAA6B;SAC1D;IAEL,CAAC;IAED,QAAQ;QAEJ,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;SAC7C;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,cAAc,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACzC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YACnF,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,WAAW,EAAE,CAAC,GAAG,CAAC;YAClB,MAAM,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC,CAAC;QAEH,kDAAkD;QAClD,6CAA6C;QAC7C,qDAAqD;QACrD,8BAA8B;QAC9B,gDAAgD;QAChD,6BAA6B;QAC7B,0FAA0F;QAC1F,iDAAiD;QACjD,iBAAiB;QAEjB,KAAK;QAEL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,OAAO,EAAE,CAAC,MAAM,EAAE,+DAAmB,CAAC;YACtC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,+DAAmB,CAAC;YAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,+DAAmB,CAAC;YACtC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,OAAO,EAAE,CAAC,EAAE,CAAC;SAEhB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,+DAAmB,CAAC;YACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,+DAAmB,CAAC;YACvD,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SAEpC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACxC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACxC,eAAe,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAChC,YAAY,EAAE,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QAEF,EAAE;QACF,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,IAAI,SAAS,EAAE;YACzE,IAAI,YAAY,IAAI,wBAAwB,EAAE;gBAC1C,4GAA4G;gBAC5G,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;iBACI,IAAI,YAAY,IAAI,6BAA6B,IAAI,YAAY,IAAI,8BAA8B,EAAE;gBACtG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;iBACI;gBACD,6BAA6B;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC9B;SACJ;IAKL,CAAC;IAED,eAAe;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;aAEnC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,0BAA0B;QACtB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAE7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC1F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACtF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAChG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC7F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC9F,qFAAqF;YACrF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAE/D,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,IAAI;gBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;SACtE;IACL,CAAC;IAGD,8BAA8B;IAC9B,MAAM;IACN,yCAAyC;IAEzC,+FAA+F;IAC/F,4GAA4G;IAC5G,oGAAoG;IACpG,gGAAgG;IAChG,kGAAkG;IAClG,iGAAiG;IACjG,8FAA8F;IAC9F,mFAAmF;IACnF,OAAO;IACP,GAAG;IAGH,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,oDAAoD;IAEpD,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1C,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAG9C,mBAAmB;QAEf,IAAI,GAAG,GAAG;YAEN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YAC5D,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YAClE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC9D,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACxE,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK;YAC5E,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YACtE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YAC9D,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;SAC5D,CAAC;QAGF,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG7E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;aAEzB;iBAAM;gBACH,kBAAkB;aAErB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,+BAA+B;IAE/B,iBAAiB;IAEjB,oBAAoB;IACpB,iDAAiD;IACjD,4EAA4E;IAC5E,qFAAqF;IACrF,kFAAkF;IAClF,iFAAiF;IACjF,6EAA6E;IAC7E,+EAA+E;IAC/E,uEAAuE;IACvE,+DAA+D;IAC/D,WAAW;IACX,QAAQ;IAER,2EAA2E;IAG3E,uCAAuC;IAEvC,sCAAsC;IACtC,oCAAoC;IAEpC,kBAAkB;IAClB,iCAAiC;IAEjC,WAAW;IAEX,2BAA2B;IAC3B,iCAAiC;IACjC,QAAQ;IAER,GAAG;IAEH,oBAAoB;IACpB,+BAA+B;IAC/B,uDAAuD;IACvD,wEAAwE;IACxE,GAAG;IAEH,QAAQ,CAAC,KAAoC;QAEzC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,EAAE;YACF,4CAA4C;YAC5C,2DAA2D;YAC3D,mDAAmD;YACnD,qDAAqD;YACrD,yCAAyC;YAEzC,gCAAgC;YAChC,kDAAkD;YAClD,2BAA2B;YAE3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACjE;IACL,CAAC;IAED,SAAS,CAAC,KAAoC;QAE1C,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YAErB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAChE;IACL,CAAC;IAED,uBAAuB,CAAC,YAAY;QAEhC,IAAI,QAAQ,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;QACxD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB,CAAC,KAAoC;QACnD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,EAAE;YACF,6CAA6C;YAC7C,oDAAoD;YACpD,sDAAsD;YACtD,4DAA4D;YAE5D,oDAAoD;YACpD,2BAA2B;YAE3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAClE;IACL,CAAC;IAED,eAAe;QAGX,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC5D,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACrD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACvD,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtD,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACtD,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;aAErD;SACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGnE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEzB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;aAEzB;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;QAMF,SAAS;QACT,+BAA+B;QAC/B,mCAAmC;QACnC,mEAAmE;QACnE,qEAAqE;QACrE,4DAA4D;QAC5D,8DAA8D;QAC9D,8DAA8D;QAC9D,iDAAiD;QACjD,6DAA6D;QAC7D,0BAA0B;QAC1B,iCAAiC;QACjC,+CAA+C;QAC/C,uCAAuC;QACvC,IAAI;QAKJ,8EAA8E;QAG9E,mCAAmC;QAEnC,mCAAmC;QAEnC,8DAA8D;QAC9D,kCAAkC;QAClC,gCAAgC;QAEhC,cAAc;QACd,6BAA6B;QAE7B,OAAO;QAEP,uBAAuB;QACvB,6BAA6B;QAC7B,IAAI;IACR,CAAC;IAID,OAAO,CAAC,GAAG;QACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,kBAAkB;QACd,kCAAkC;QAElC,yDAAyD;QAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,8HAA4B,EAAE;YAC3D,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEtD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc;QAGV,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAC9B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEzF,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBAExB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBAExB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAExB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACxC,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,EAAE;yBAEL;wBAED,oDAAoD;wBACpD,4CAA4C;qBAC/C;iBAEJ;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,UAAU,CAAC,IAAI;QACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,8BAA8B,CAAC,IAAI;QAE/B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,IAAI;QAEvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;QAE5F,0FAA0F;QAC1F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;QAE5F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;QAEzE,uFAAuF;QAEvF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,gBAAgB;QACZ,qCAAqC;QAErC,sHAAsH;QAEtH,KAAK;QAEL,oDAAoD;QAEpD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAEpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7J,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,OAAO;QACb,kBAAkB;QAClB,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,OAAO,OAAO,CAAC;SAClB;aACI;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAChE;IACL,CAAC;IAED,WAAW,CAAC,IAAI;QAGZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;YACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE/B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;YAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAG9D,CAAC;IAED,QAAQ,CAAC,CAAM;QACX,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,SAAS,CAAC,GAAG;QAET,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,4CAA4C;QAC5C,qDAAqD;QACrD,oEAAoE;QACpE,GAAG;QACH,QAAQ;QACR,4FAA4F;QAC5F,GAAG;IACP,CAAC;IAED,MAAM,CAAC,CAAM;QAET,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAGD,YAAY;IACZ,YAAY,CAAC,UAAU;QACnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,KAAK;QAEV,IAAI,KAAK,GAAG,EAAE,EAAE;YACZ,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAClC,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,kBAAkB,CAAC;SAC7B;IACL,CAAC;IAED,4BAA4B;IAC5B,MAAM;IACN,GAAG;IAEH,2CAA2C;IAE3C,eAAe,CAAC,EAAE;QAEd,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,wBAAwB,GAAG,kBAAkB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;QAEZ,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,cAAc;gBAC3B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAC/C,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBACzD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;aAC/C;SACJ,CAAC;QAGF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEnD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;aAEzB;iBAAM;gBACH,mBAAmB;aACtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAGD,oBAAoB,CAAC,IAAI;QACrB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,QAAQ;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC9E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE9E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;qBAEzB;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB,CAAC,IAAI;QACxB,IAAI,IAAI,IAAI,IAAI,EAAE;YAEd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpD,IAAI,CAAC,wBAAwB,GAAG,mBAAmB,CAAC;SACvD;IACL,CAAC;IAED,sBAAsB,CAAC,KAAK;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE/E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;qBAEzB;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4CAA4C;IAI5C,0CAA0C;IAE1C,UAAU,CAAC,EAAE;QAGT,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,8BAA8B,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB,CAAC,KAAK;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;IAClF,CAAC;IAED,iBAAiB,CAAC,KAAK;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;IAClF,CAAC;IAED,mBAAmB;QAEf,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,EAAE,EAAE,IAAI,CAAC,sBAAsB;gBAC/B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAC1D,WAAW,EAAE,IAAI,CAAC,eAAe;gBACjC,SAAS,EAAE,IAAI,CAAC,iBAAiB;gBACjC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1D,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjE,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,SAAS,EAAE,IAAI,CAAC,iBAAiB,2CAA0C;aAC9E;SACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAErD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;aAEzB;iBAAM;gBACH,mBAAmB;aACtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CAAC,IAAI;QACvB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB,CAAC,IAAI;QAC1B,IAAI,IAAI,IAAI,IAAI,EAAE;YAId,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,qEAAqE;YACrE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;YAExC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;YAExC,IAAI,CAAC,eAAe,GAAG,+BAA+B;SACzD;IACL,CAAC;IAED,wBAAwB,CAAC,KAAK;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;gBACd,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE3E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,cAAc,EAAE,CAAC;qBAEzB;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAA2C;IAE3C,UAAU;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,KAAK;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAGD,cAAc;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;QAE1E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,YAAY,CAAC,KAAK;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrF,CAAC;;4FAn8BQ,sBAAsB;oHAAtB,sBAAsB;;;;;;;;;;;;QCnBnC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAO5C,yEAAiB;QAIgC,kEAAO;QAAA,4DAAO;QAAC,oEAExD;QAAA,4DAAK;QAGT,0EAA2B;QAcgC,qJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,+IAAS,oBAAgB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QACtE,8EAAuD;QAAjC,+IAAS,oBAAgB,KAAK,CAAC,IAAC;QAAC,yEAAa;QAAA,4DAAS;QAC7E,8EAAsD;QAAhC,+IAAS,oBAAgB,IAAI,CAAC,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAIvF,8EAA+E;QAAnB,+IAAS,YAAQ,IAAC;QAC1E,kEACJ;QAAA,4DAAS;QAMjB,2EAAwD;QAKJ,wDAAmC;QAAA,4DAAQ;QAK3F,2EAAsB;QAGd,sEACM;QAKN,2EAAsB;QAEd,6EACA;QAAA,4EAAyB;QAErB,wDACJ;;QAAA,4DAAO;QAS3B,2EAA6D;QAOA,yEAAa;QAAA,4DAAQ;QAE9D,2EAAsB;QACS,wDAA8B;QAAA,4DAAQ;QAIzE,2EAAkD;QAEL,uEAAW;QAAA,4DAAQ;QAE5D,2EAAsB;QACS,wDAA6B;QAAA,4DAAQ;QAIxE,2EAAkD;QAEL,qEAAS;QAAA,4DAAQ;QAE1D,2EAAsB;QACS,wDAA2B;QAAA,4DAAQ;QAItE,2EAAkD;QAEL,sEAAU;QAAA,4DAAQ;QAE3D,2EAAsB;QACS,wDAA4B;QAAA,4DAAQ;QAIvE,2EAAkD;QAEL,kEAAM;QAAA,4DAAQ;QAEvD,2EAAsB;QACS,wDAA+B;QAAA,4DAAQ;QAI1E,2EAAyD;QAEZ,oEAAQ;QAAA,4DAAQ;QAEzD,2EAA+C;QAE3C,yHAEQ;QACR,yHAEQ;QAEZ,4DAAM;QAGV,2EAAyD;QAEZ,kEAAM;QAAA,4DAAQ;QAEvD,2EAA+C;QAE3C,yHAEQ;QACR,yHAEQ;QACZ,4DAAM;QAGV,2EAA6B;QACwB,+IAAS,wBAAoB,IAAC;QAC3E,oEACJ;QAAA,4DAAS;QAmDb,2EAA+D;QAElB,6EAAgB;QAAA,4DAAQ;QAEjE,4EAA2D;QACvD,2HAEQ;QACR,2HAEQ;QACR,2HAEQ;QACR,2HAEQ;QACR,2HAEQ;QACR,2HAEQ;QACR,2HAEQ;QASR,2HAOQ;QAQZ,4DAAM;QAYtB,4EAAsB;QAClB,0HA0gBM;QAGV,4DAAM;QAeV,qNAuJc;QA8Fd,qNAuFc;QAGd,qNAsGc;QAKd,qNAgKc;;;QA/2CsB,2DAA0B;QAA1B,kFAA0B;QAuBV,2DAAmC;QAAnC,oGAAmC;QAmB/D,0DACJ;QADI,0LACJ;QAmB+B,2DAA8B;QAA9B,+FAA8B;QAS9B,0DAA6B;QAA7B,8FAA6B;QAS7B,0DAA2B;QAA3B,4FAA2B;QAS3B,0DAA4B;QAA5B,6FAA4B;QAS5B,0DAA+B;QAA/B,gGAA+B;QAUpB,0DAAoC;QAApC,oGAAoC;QAGpC,0DAAmC;QAAnC,oGAAmC;QAanC,0DAAkC;QAAlC,kGAAkC;QAGlC,0DAAiC;QAAjC,kGAAiC;QAiEjC,0DAAoD;QAApD,sHAAoD;QAGnD,0DAAuD;QAAvD,yHAAuD;QAGvD,0DAAiD;QAAjD,mHAAiD;QAGlD,0DAAqD;QAArD,uHAAqD;QAGrD,0DAA0D;QAA1D,4HAA0D;QAG1D,0DAA4D;QAA5D,8HAA4D;QAG5D,0DAAyD;QAAzD,2HAAyD;QAWxD,0DAKqB;QALrB,qaAKqB;QAuBnD,0DAAY;QAAZ,kFAAY;;;;;;;;;;;;;;;;;;;;;;;;ACxRsC;AAGnC;AAGyC;;;;;;;;AAOlF,MAAM,oBAAoB;IAqE7B,YACY,KAAe,EACf,IAAgB,EAChB,gBAAiC,EACjC,MAAc;QAHd,UAAK,GAAL,KAAK,CAAU;QACf,SAAI,GAAJ,IAAI,CAAY;QAChB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAlE1B,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAInB,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAExD,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5G,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;YACjE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;YAClC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,EAAE;SAElG,CAAC;QA2BK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAoGF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QA1FG,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAGlC,CAAC;IAnED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IA8CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC;QAGhE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ;YAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAKD,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,cAAc,CAAC,UAAU;QAErB,IAAI,UAAU,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SACnD;QAED,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;IACP,CAAC;;wFA9MQ,oBAAoB;kHAApB,oBAAoB;kEAmElB,0DAAa;;;;;QC9E5B,yEAAiB;QAIgC,uDAAa;QAAA,4DAAO;QAAC,sEAE9D;QAAA,4DAAK;QAGT,yEAA2B;QAE0B,4IAAS,YAAQ,IAAC;QAC/D,yEAEJ;QAAA,4DAAS;QAET,4EAAsF;QAAhC,4IAAS,mBAAe,KAAK,CAAC,IAAC;QACjF,2EACJ;QAAA,4DAAS;QACT,6EAAqF;QAA/B,6IAAS,mBAAe,IAAI,CAAC,IAAC;QAChF,gFACJ;QAAA,4DAAS;QAOjB,0EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,6EAAsD;QAA9C,+IAAU,uBAAmB,IAAC;QAClC,6EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,oKAAa,uBAAmB,IAAC,gHAClB,yBAAqB,IADH,wGAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;QAlD+B,0DAAa;QAAb,8EAAa;QAsC7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;AC5Ce;AACyB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACrD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAClD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,MAAM;KACpB;CAAE,CAAC;AAMD,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAHpB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,oBAAoB,oFAFnB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBqB;AACmB;AACF;AACa;AACM;AACpC;AACyC;AAC7B;AACQ;AACD;AACT;AACwB;AACoC;AACtD;AACR;AACA;;AA+BhD,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GArBb;YACL,yDAAY;YACZ,yEAAoB;YACpB,yDAAY;YACZ,uDAAW;YACX,+DAAmB;YACnB,sEAAe;YACf,oEAAc;YACd,8EAAmB;YACnB,6EAAkB;YAClB,0EAAiB;YACjB,kEAAa;YACb,kEAAa;SAChB;mIAQQ,aAAa,mBA3BlB,sFAAoB;QACpB,4FAAsB;QACtB,iGAAuB;QACvB,0FAAsB;QACtB,8HAA4B,aAG5B,yDAAY;QACZ,yEAAoB;QACpB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,sEAAe;QACf,oEAAc;QACd,8EAAmB;QACnB,6EAAkB;QAClB,0EAAiB;QACjB,kEAAa;QACb,kEAAa,aAGb,sFAAoB;QACpB,4FAAsB;QACtB,iGAAuB;QACvB,0FAAsB;;;;;;;;;;;;;;;;;;;;;;;AC5CiD;AACX;AAGI;;;;;;;;;ICsBpD,sEAAmC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADtD,0EAAoD;IAChD,gIAAwD;IAC5D,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAmBjC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,uFAAmB;;;IAD9D,0EAAwD;IACpD,gIAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAiBrC,sEAAoC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IADxD,0EAAqD;IACjD,gIAA0D;IAC9D,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;ADjD/C,MAAM,4BAA4B;IAiBrC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,gBAAiC,EACjC,cAAoC,EACpC,MAAc;QAEtB,0BAA0B;QANX,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAsB;QACpC,WAAM,GAAN,MAAM,CAAQ;QAnB1B,aAAQ,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,kBAAkB,CAAC;QAInC,oBAAe,GAAQ,CAAC,CAAC;QAGf,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;QAUZ,0BAA0B;QAC1B,8BAA8B;QAC9B,uDAAuD;QACvD,2DAA2D;QAC3D,SAAS;QAGT,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;IACP,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,6EAAoB,CAAC,CAAC,CAAC;YAC5E,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,6DAA6D;SAChE,CAAC,CAAC;QAIH,4CAA4C;QAC5C,yBAAyB;QACzB,GAAG;QACH,QAAQ;QACR,yBAAyB;QACzB,qCAAqC;QAErC,wCAAwC;QACxC,mCAAmC;QACnC,0CAA0C;QAC1C,8BAA8B;QAC9B,8BAA8B;QAC9B,oCAAoC;QACpC,oBAAoB;QACpB,OAAO;QAEP,GAAG;QAEH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAID,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,qBAAqB;IACrB,sGAAsG;IAEtG,uCAAuC;IAEvC,2CAA2C;IAC3C,4DAA4D;IAC5D,sCAAsC;IACtC,eAAe;IACf,kBAAkB;IAElB,4DAA4D;IAC5D,WAAW;IAEX,2BAA2B;IAC3B,iCAAiC;IACjC,QAAQ;IACR,GAAG;IAEH,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,YAAY;QACR,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;YAElC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;YAElC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAEnD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC/F,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAEhF;IACL,CAAC;IAID,QAAQ;QAEJ,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;gBAChC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACrD,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;gBAClE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACrD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtD,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACxD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACvD,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;aACnD;SAGJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;gBACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,KAAK,KAAK,CAAC;IAEX,MAAM,CAAC,EAAE;QAEL,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;iBAG3B;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,YAAY,CAAC,GAAG;QACZ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC1C;IACL,CAAC;;wGAlMQ,4BAA4B;0HAA5B,4BAA4B;QCbzC,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAE+C,wJAAY,cAAU,IAAC;QAE/E,yEAAiB;QAIkB,wEAAa;QAAA,4DAAQ;QAChD,sEACiE;QACrE,4DAAM;QAEN,0EAAmB;QACY,yEAAa;QAAA,4DAAQ;QAChD,uEAEyD;QACzD,0HAEM;QACV,4DAAM;QAEN,2EAAoB;QACW,2EAAe;QAAA,4DAAQ;QAClD,wEAE6D;QACjE,4DAAM;QAEN,2EAAmB;QAEY,qEAAS;QAAA,4DAAQ;QAC5C,wEAG4D;QAC5D,0HAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QAExD,4DAAM;QAEN,2EAAmB;QACY,kEAAM;QAAA,4DAAQ;QACzC,wEAE0D;QAC1D,0HAEM;QACV,4DAAM;QAeN,2EAAoB;QAImB,kEAAM;QAAA,4DAAQ;QAE7C,2EAA4B;QACxB,2EAA8I;QAClJ,4DAAM;QAKlB,2EAA0B;QAGiB,qJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QAET,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;QArGW,0DAAU;QAAV,2EAAU;QAOZ,0DAA6B;QAA7B,0FAA6B;QAcxC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAQlB,0DAA+C;QAA/C,kKAA+C;QAS/C,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAetB,0DAAsE;QAAtE,6LAAsE;QAEvE,0DAAoB;QAApB,oFAAoB;QAuClB,2DAAmC;QAAnC,gGAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpG3D,oDAAoD;AACsC;AAG1C;AAKwE;AACjB;;;;;;;;;;AAUhG,MAAM,sBAAsB;IA0E/B,YACY,KAAe;IACvB,2BAA2B;IACnB,gBAAiC,EACjC,cAAoC,EACpC,QAAkB;QAJlB,UAAK,GAAL,KAAK,CAAU;QAEf,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAsB;QACpC,aAAQ,GAAR,QAAQ,CAAU;QAzE9B,UAAK,GAAQ,eAAe,CAAC;QAC7B,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAInB,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAExD,gDAAgD;QAChD,8BAA8B;QACvB,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE;YACzD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;YACpD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE;YACtD,kDAAkD;YAClD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;YAC7C,kGAAkG;YAClG;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,yHAAwB;gBAChE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SAEJ,CAAC;QA2BK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA0KF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QA/JG,QAAQ,CAAC;QACT,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACnC,oCAAoC;QAEpC,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,kBAAkB;YAClB,sBAAsB;YACtB,IAAI;YACJ,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;SAE9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAnED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IA8CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAgB,CAAC;QAGrE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAgB,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3B,2BAA2B;IAE/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ;YAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,eAAe;QACX,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAGpC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,IAAI;SACnB;QAED,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAErE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAIpC,gDAAgD;gBAChD,IAAI,CAAC,UAAU,GAAG;oBACd,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;oBAChG,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE;oBACzD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE;oBAC/C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;oBACpD,kDAAkD;oBAClD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;oBAE3C;wBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,yHAAwB;wBAChE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;qBACnH;iBAEJ,CAAC;gBAEF,gDAAgD;gBAIhD,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,MAA0B,EAAE,EAAE;oBAE9D,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;gBAEzC,wBAAwB;gBACxB,2CAA2C;gBAE3C,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAGD,QAAQ;QACJ,QAAQ,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;;YAEG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,mBAAmB,CAAC,UAAU;QAE1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;QAE7B,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,KAAK;SACpB;QAED,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAErE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEpC,IAAI,CAAC,UAAU,GAAG;oBACd,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE;oBACzD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;oBACpD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE;oBACtD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;oBAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;oBAC7C,kGAAkG;oBAClG;wBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,yHAAwB;wBAChE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;qBACnH;iBAEJ,CAAC;gBAKF,2CAA2C;gBAI3C,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gHAA4B,EAAE;YAC3D,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gHAA4B,EAAE;YAC3D,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IAGD,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAEnE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;iBAElC;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;;4FAnVQ,sBAAsB;oHAAtB,sBAAsB;kEAwEpB,0DAAa;;;;;QCzF5B,yEAAiB;QAIgC,uDAAS;QAAA,4DAAO;QAK7D,yEAA2B;QAQgC,oJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,+IAAS,YAAQ,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAClE,6EAA2D;QAArC,+IAAS,wBAAoB,KAAK,CAAC,IAAC;QAAC,yEAAa;QAAA,4DAAS;QACjF,6EAAkD;QAA5B,+IAAS,qBAAiB,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QAoB3F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,iJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,sKAAa,uBAAmB,IAAC,kHAClB,yBAAqB,IADH,0GAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QAjE+B,0DAAS;QAAT,0EAAS;QAatB,0DAA0B;QAA1B,kFAA0B;QAwC7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;AC3De;AACI;AACqB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,CAAC,gEAAS,CAAC;KAC3B;IACD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACvD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,qBAAqB;;0FAArB,qBAAqB;kHAArB,qBAAqB;sHAHvB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,qBAAqB,oFAFtB,yDAAY;;;;;;;;;;;;;;;;;;;;;;ACpBuB;AAEmB;AACA;AACnB;AACQ;AACA;;AAiBhD,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAXd;YACL,yDAAY;YACZ,2EAAqB;YACrB,yDAAY;YACZ,iEAAa;YACb,iEAAa;SAChB;mIAKQ,cAAc,mBAbnB,2EAAiB,aAGjB,yDAAY;QACZ,2EAAqB;QACrB,yDAAY;QACZ,iEAAa;QACb,iEAAa,aAGb,2EAAiB;;;;;;;;;;;;;;;;;;;;;;;ACrB0D;AAGnC;;;;;;;;;AAUzC,MAAM,iBAAiB;IA+G1B,YACY,KAAe;IACvB,2BAA2B;IACnB,gBAAiC,EACjC,cAAoC,EACpC,MAAc;QAJd,UAAK,GAAL,KAAK,CAAU;QAEf,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,mBAAc,GAAd,cAAc,CAAsB;QACpC,WAAM,GAAN,MAAM,CAAQ;QA7G1B,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,cAAS,GAAG;YACR,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK;YACpB,EAAE,EAAE,CAAC;SACR;QAES,sBAAiB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC7C,yBAAoB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAClD,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC/C,oBAAe,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAErD,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAChG,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;YACpE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE;YAC5F,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;YACpH;gBACI,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG;gBACpE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;aACpE;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;SAE3J,CAAC;QAyDK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA8GF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAlGG,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IA5FD,OAAO,CAAC,KAAK;QACT,WAAW;QACX,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI;YACnC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB;;YAElC,OAAO,KAAK,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ;QAEtB,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,qBAAqB,GAAG,GAAG,SAAS,EAAE,CAAC;SACjD;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;QACD,sCAAsC;;YACjC,OAAO,qDAAqD,CAAC;IACtE,CAAC;IAyCD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAC;QAG1D,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAC9B,iCAAiC;QACjC,+EAA+E;QAE/E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,8IAA8I;QAE9I,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAGD,oBAAoB;IACpB,kEAAkE;IAClE,oBAAoB;IACpB,SAAS;IACT,8CAA8C;IAE9C,wDAAwD;IACxD,gGAAgG;IAChG,gEAAgE;IAChE,iGAAiG;IACjG,GAAG;IAIH,QAAQ;QACJ,EAAE;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,eAAe,CAAC,MAAM;QAElB,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SACnD;QAED,IAAI,GAAG,GAAG;YACN,IAAI,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAID,aAAa;QAET,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;;kFApRQ,iBAAiB;+GAAjB,iBAAiB;kEA6Gf,0DAAa;;;;;QCzH5B,yEAAiB;QAIgC,0EAAe;QAAA,4DAAO;QAInE,yEAA2B;QAGgC,+IAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,0IAAS,mBAAe,IAAC;QAAC,0EAAc;QAAA,4DAAS;QACvE,6EAA2D;QAArC,0IAAS,8BAA0B,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QACrF,6EAAyD;QAAnC,0IAAS,4BAAwB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACjF,6EAAsD;QAAhC,0IAAS,yBAAqB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAC3E,6EAAuD;QAAjC,0IAAS,0BAAsB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QAqB7F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,4IAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAIxC,2FAa2D;QAL1C,iKAAa,uBAAmB,IAAC,6GAClB,yBAAqB,IADH,qGAEnB,kBAAc,IAFK;QAMlD,4DAAkB;;;QArDkB,0DAA0B;QAA1B,kFAA0B;QA0C7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDuC;AACE;;;;;;;;;;;;ICmB7D,sEAAsC;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IADzD,0EAAuD;IACnD,2HAA2D;IAC/D,4DAAM;;;IADI,0DAA8B;IAA9B,iGAA8B;;;IAmBpC,sEAAuC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,0FAAsB;;;IADjE,0EAAwD;IACpD,2HAAmE;IACvE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAUrC,sEAAoC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,0FAAsB;;;IAD9D,0EAAqD;IACjD,2HAAgE;IACpE,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;ADpC/C,MAAM,uBAAuB;IAiBhC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B,EAC/B,gBAAiC,EACjC,MAAc;QAJP,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAnB1B,gBAAW,GAAQ,IAAI,CAAC,gCAA+B;QACvD,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,aAAa,CAAC;QAI9B,eAAU,GAAQ,CAAC,CAAC;QAGV,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;IAShB,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SACnC,CAAC,CAAC;QAGH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAGD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAID,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,YAAY,CAAC,MAAM;QAEf,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,CAAC;IAED,QAAQ,CAAC,CAAM;QAEX,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,cAAc,CAAC,KAAoB,EAAE,IAAI;QAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE3C,+CAA+C;QAC/C,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC,EAAE;YAC7F,gCAAgC;YAChC,IAAI,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAE7C,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;SACJ;aAAM;YACH,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,QAAQ;QAEJ,IAAI,GAAG,GAAG;YAEN,OAAO,EAAE;gBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3B,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;gBAClD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxD,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;aAC7D;SACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,mBAAmB;aAEtB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,KAAK,KAAK,CAAC;IAEX,MAAM,CAAC,EAAE;QAEL,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;gBAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;iBAG3B;qBAAM;oBAEH,8CAA8C;iBACjD;YAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;gBACf,uBAAuB;YAC3B,CAAC,CAAC;SACL;IACL,CAAC;IAED,YAAY,CAAC,GAAG;QACZ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC1C;IACL,CAAC;;8FAtJQ,uBAAuB;qHAAvB,uBAAuB;QCbpC,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAE+C,mJAAY,cAAU,IAAC;QAE/E,yEAAiB;QAIkB,yEAAc;QAAA,4DAAQ;QACjD,sEAE4D;QAC5D,qHAEM;QAEV,4DAAM;QAEN,0EAAmB;QACY,iEAAK;QAAA,4DAAQ;QACxC,6EAGgD;QAFzC,qJAAS,iCAA6B,IAAC,mGAC3B,+CAA2C,IADhB;QAD9C,4DAGgD;QAGpD,0EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,6EAEkD;QAD3C,2JAAY,+CAA2C,IAAC;QAD/D,4DAEkD;QAClD,qHAEM;QACV,4DAAM;QACN,0EAAmB;QACY,kEAAM;QAAA,4DAAQ;QACzC,6EAGwD;QAFjD,2JAAY,+CAA2C,IAAC;QAD/D,4DAGwD;QACxD,qHAEM;QACV,4DAAM;QAEN,2EAAwB;QAEL,uEAAW;QAAA,4DAAY;QAClC,wEAEqE;QAGzE,4DAAiB;QAIzB,2EAA0B;QAEiB,gJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QACT,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;;QAxEW,0DAAU;QAAV,2EAAU;QAOZ,0DAA6B;QAA7B,0FAA6B;QAQxC,0DAA8C;QAA9C,iKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QAmBtB,0DAAuB;QAAvB,uFAAuB;QAQtB,0DAA4C;QAA5C,+JAA4C;QAE7C,0DAAoB;QAApB,oFAAoB;QAQN,0DAA6B;QAA7B,8EAA6B;QAGZ,0DAAmB;QAAnB,oEAAmB;QAYhD,0DAAmC;QAAnC,gGAAmC;;;;;;;;;;;;;;;;;ACvEoB;;AASxE,MAAM,uBAAuB;IAmBhC;QAfU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAe9B,CAAC;IAbjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,QAAQ;IACR,CAAC;;8FAtBQ,uBAAuB;qHAAvB,uBAAuB;QAJrB,uEAAsF;QAAvC,0IAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,0IAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNtC;AAG1C;AAIoD;;;;;;;;;;;AAS7F,MAAM,wBAAwB;IAsJjC,YACY,KAAe,EACf,MAAc,EACd,QAAkB,EAClB,cAAoC,EACpC,gBAAiC;QAJjC,UAAK,GAAL,KAAK,CAAU;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;QAClB,mBAAc,GAAd,cAAc,CAAsB;QACpC,qBAAgB,GAAhB,gBAAgB,CAAiB;QApJ7C,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,yBAAyB,CAAC;QAC3C,uBAAkB,GAAQ,EAAE,CAAC;QAInB,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAEzD,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACxG,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,UAAU,EAAE;YAC1D,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE;YACtD,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE;YACpD,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,cAAc,EAAE;YAClE,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,WAAW,EAAE;YAC5D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;YAClE,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACxI,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;SAE9H,CAAC;QAwGK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAeE,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACnC,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAEJ,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IA5ID,yBAAyB,CAAC,IAAI;QAG1B,IAAI,IAAI,IAAI,IAAI;YACZ,OAAO,kDAAkD,CAAC;;YACzD,OAAO,gDAAgD,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,IAAI;QAGjB,kCAAkC;QAClC,8DAA8D;QAC9D,+BAA+B;QAC/B,6DAA6D;QAC7D,mEAAmE;QAEnE,6CAA6C;QAG7C,4BAA4B;QAC5B,oEAAoE;QACpE,iCAAiC;QACjC,oEAAoE;QACpE,+BAA+B;QAC/B,kEAAkE;QAClE,4CAA4C;QAC5C,uEAAuE;QACvE,cAAc;QACd,GAAG;QAEH,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,kBAAkB;QAClB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE;YACzC,MAAM,GAAG,OAAO,CAAC;SACpB;aACI;YACD,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;SAC1E;QAED,IAAI,MAAM,IAAI,OAAO;YACjB,OAAO,kDAAkD,CAAC;aACzD,IAAI,MAAM,IAAI,OAAO;YACtB,OAAO,kDAAkD,CAAC;aACzD,IAAI,MAAM,IAAI,KAAK;YACpB,OAAO,gDAAgD,CAAC;aACvD,IAAI,MAAM,IAAI,kBAAkB;YACjC,OAAO,qDAAqD,CAAC;;YAC5D,EAAE,CAAC;IAGZ,CAAC;IAED,QAAQ,CAAC,KAAK;QAEV,IAAI,KAAK,GAAG,EAAE,EAAE;YACZ,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAClC,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,kBAAkB,CAAC;SAC7B;;YAEG,OAAO,OAAO,CAAC;IACvB,CAAC;IAED,YAAY;IACZ,YAAY,CAAC,UAAU;QAEnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAID,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IA6CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QAGvE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,iCAAiC;QAEjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ;QACJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAE9C,qDAAqD;QACrD,wCAAwC;QACxC,+CAA+C;QAE/C,gEAAgE;QAChE,2CAA2C;QAC3C,mCAAmC;QACnC,SAAS;QACT,GAAG;QACH,MAAM;QAEN,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;SAC9C;aACI;YACD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;SACvC;QAED,QAAQ,CAAC;QACT,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE1D,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAGD,sBAAsB,CAAC,IAAI;QACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEnE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAGxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAID,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,YAAY;QACR,IAAI,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;QAEtC,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;;gGA7SQ,wBAAwB;sHAAxB,wBAAwB;kEAoJtB,0DAAa;;;;;QC9J5B,yEAAiB;QAIgC,uDAAa;QAAA,4DAAO;QAIjE,yEAA2B;QAEgC,sJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,iJAAS,YAAQ,IAAC;QAAC,uEAAW;QAAA,4DAAS;QAC7D,6EAA+C;QAAzB,iJAAS,kBAAc,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QAChE,6EAA+C;QAAzB,iJAAS,kBAAc,IAAC;QAAC,gFAAoB;QAAA,4DAAS;QAoB5F,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,mJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,wKAAa,uBAAmB,IAAC,oHAClB,yBAAqB,IADH,4GAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QA1D+B,0DAAa;QAAb,8EAAa;QAM1B,0DAA0B;QAA1B,kFAA0B;QAwC7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;ACxDgC;AAEF;AAEgB;;;;;AAQ/E,MAAM,+BAA+B;IAiBxC,YAAY,0BAA0B;IAClC,0BAA0B;IAClB,OAAkB,EAClB,gBAAiC;QADjC,YAAO,GAAP,OAAO,CAAW;QAClB,qBAAgB,GAAhB,gBAAgB,CAAiB;QAftC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAe3C,CAAC;IAbD,MAAM,CAAC,MAAW;QACd,EAAE;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3F,mDAAmD;IACvD,CAAC;IAWM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAErB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAEnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAGD,MAAM,CAAC,EAAO;QAGV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAE9D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;qBAEzD;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;8GAvFQ,+BAA+B;6HAA/B,+BAA+B;QAH7B,yFAAiE;QAA5C,kLAAa,mBAAe,IAAC;QAAe,4DAAsB;;QAApC,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRI;AAGnC;AAIyC;AACwB;;;;;;;;;;AAO1G,MAAM,oBAAoB;IAoF7B,YACY,KAAe,EACf,IAAgB,EAChB,gBAAiC,EACjC,MAAc;QAEtB,mCAAmC;QACnC,gBAAgB;QAChB,+BAA+B;QAC/B,QAAQ;QACR,2BAA2B;QAC3B,iCAAiC;QACjC,IAAI;QAXI,UAAK,GAAL,KAAK,CAAU;QACf,SAAI,GAAJ,IAAI,CAAY;QAChB,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAjF1B,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,UAAU,CAAC;QAC5B,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,cAAS,GAAG;YACR,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SAC5B;QAES,wBAAmB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAE3D,gDAAgD;QAChD,iCAAiC;QACjC,+GAA+G;QAC/G,oEAAoE;QACpE,yEAAyE;QACzE,wGAAwG;QAExG,IAAI;QAGG,eAAU,GAAa;YAC1B,yGAAyG;YACzG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3D,GAAG;YACH,oDAAoD;YACpD,wEAAwE;YACxE,IAAI;YACJ,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACxG;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,yHAA+B;gBACvE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SACJ,CAAC;QA2BK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAqGF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAnFG,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAjED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IA4CD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC;QAGhE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAgB,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAGD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,iCAAiC;QACjC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjD;IACL,CAAC;IAGD,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,oBAAoB,CAAC,SAAS;QAE1B,IAAI,SAAS,IAAI,KAAK,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SACnD;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAChD;QAED,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,SAAS;SACxB,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iGAAuB,EAAE;YACtD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,8FAA8F;QAE9F,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YAC7C,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1F,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU;YACrD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAGpG,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;;wFAjQQ,oBAAoB;kHAApB,oBAAoB;kEAkFlB,0DAAa;;;;;QC/F5B,yEAAiB;QAIgC,uDAAa;QAAA,4DAAO;QAIjE,yEAA2B;QAGgC,kJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,6IAAS,YAAQ,IAAC;QAAC,uEAAW;QAAA,4DAAS;QAC7D,6EAA4D;QAAtC,6IAAS,yBAAqB,KAAK,CAAC,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QAC7E,6EAAuD;QAAjC,6IAAS,qBAAiB,IAAI,CAAC,IAAC;QAAC,gFAAoB;QAAA,4DAAS;QACpF,6EAA2D;QAArC,6IAAS,yBAAqB,IAAI,CAAC,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QAwBrG,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,+IAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,oKAAa,uBAAmB,IAAC,gHAClB,yBAAqB,IADH,wGAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QAhE+B,0DAAa;QAAb,8EAAa;QAO1B,0DAA0B;QAA1B,kFAA0B;QA6C7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;AC1De;AACyB;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACtD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wFAAkB,EAAE;IAClD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACnD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,MAAM;KACpB;CAAE,CAAC;AAOD,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAJpB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAGb,oBAAoB,oFAHnB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBqB;AACmB;AACnB;AACY;AACQ;AACD;AACT;AAEO;AACa;AACY;AACD;AACF;AAC0B;AACzD;AACA;;AA8BhD,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GApBb;YACL,yDAAY;YACZ,yEAAoB;YACpB,yDAAY;YACZ,uDAAW;YACX,+DAAmB;YACnB,sEAAe;YACf,oEAAc;YACd,8EAAmB;YACnB,6EAAkB;YAClB,kEAAa;YACb,kEAAa;SAChB;mIAQQ,aAAa,mBA1BlB,sFAAoB;QACpB,kGAAwB;QACxB,iGAAuB;QACvB,+FAAuB;QACvB,yHAA+B,aAG/B,yDAAY;QACZ,yEAAoB;QACpB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,sEAAe;QACf,oEAAc;QACd,8EAAmB;QACnB,6EAAkB;QAClB,kEAAa;QACb,kEAAa,aAGb,sFAAoB;QACpB,kGAAwB;QACxB,+FAAuB;QACvB,yHAA+B;;;;;;;;;;;;;;;;;;;;;;;;AC1C6B;;;;;;;;;;;IC+B5C,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,0EAAyD;IACrD,4HAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAajC,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,0EAAiE;IAC7D,4HAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,sGAAmC;;;IAsBzC,sEAAsC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD7D,0EAA4D;IACxD,4HAA+D;IACnE,4DAAM;;;IADI,0DAA8B;IAA9B,iGAA8B;;;IAapC,sEAAmC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1D,0EAAyD;IACrD,4HAA4D;IAChE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;IAajC,sEAAuC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD9D,0EAA6D;IACzD,4HAAgE;IACpE,4DAAM;;;IADI,0DAA+B;IAA/B,kGAA+B;;;IAarC,sEAAwC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD/D,0EAA8D;IAC1D,4HAAiE;IACrE,4DAAM;;;IADI,0DAAgC;IAAhC,mGAAgC;;;IAatC,sEAAoC;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD3D,0EAA0D;IACtD,4HAA6D;IACjE,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;IA2B1B,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,0EAAiE;IAC7D,4HAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,sGAAmC;;;IAYzC,sEAAmD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IAD1E,0EAAyE;IACrE,4HAA4E;IAChF,4DAAM;;;IADI,0DAA2C;IAA3C,8GAA2C;;;IAajD,sEAAiD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADxE,0EAAuE;IACnE,4HAA0E;IAC9E,4DAAM;;;IADI,0DAAyC;IAAzC,6GAAyC;;;IAY/C,sEAA8C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADrE,0EAAoE;IAChE,4HAAuE;IAC3E,4DAAM;;;IADI,0DAAsC;IAAtC,0GAAsC;;;IAa5C,sEAA2C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADlE,0EAAiE;IAC7D,4HAAoE;IACxE,4DAAM;;;IADI,0DAAmC;IAAnC,uGAAmC;;;IAqBzC,sEAA+C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADtE,0EAAqE;IACjE,6HAAwE;IAC5E,4DAAM;;;IADI,0DAAuC;IAAvC,2GAAuC;;;IAY7C,sEAAgD;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADvE,0EAAsE;IAClE,6HAAyE;IAC7E,4DAAM;;;IADI,0DAAwC;IAAxC,4GAAwC;;;IAY9C,sEAA4C;IAAA,uDAAmB;IAAA,4DAAM;;;IAAzB,0DAAmB;IAAnB,wFAAmB;;;IADnE,0EAAkE;IAC9D,6HAAqE;IACzE,4DAAM;;;IADI,0DAAoC;IAApC,wGAAoC;;;IAqC1D,iFAA0F;IAAA,uDAAqC;;IAAA,4DAAa;;;IAAlG,gHAA+C;IAAC,0DAAqC;IAArC,iKAAqC;;;IAW/H,iFAAsF;IAAA,uDAAoC;;IAAA,4DAAa;;;IAA/F,8GAA6C;IAAC,0DAAoC;IAApC,gKAAoC;;;IAU1H,iFAAkF;IAAA,uDAAmC;;IAAA,4DAAa;;;IAA5F,4GAA2C;IAAC,0DAAmC;IAAnC,+JAAmC;;;ADjS9H,MAAM,wBAAwB;IAoBjC,YAAoB,WAAwB,EAChC,MAAc,EACd,gBAAiC;QAFzB,gBAAW,GAAX,WAAW,CAAa;QAChC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAiB;QAnB7C,eAAU,GAAQ,KAAK,CAAC;QACxB,aAAQ,GAAQ,EAAE,CAAC;QACnB,YAAO,GAAQ,EAAE,CAAC;QAClB,WAAM,GAAQ,EAAE,CAAC;IAgBgC,CAAC;IAElD,QAAQ;QAEJ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAEtC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACnC,SAAS,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACpC,KAAK,EAAE,CAAC,EAAE,EAAE,4DAAgB,CAAC;YAE7B,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,oBAAoB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC/C,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,eAAe,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC1C,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,gBAAgB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAC5C,aAAa,EAAE,CAAC,EAAE,EAAE,4DAAgB,CAAC;YACrC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAE3B,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAClC,MAAM,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACjC,KAAK,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAEhC,YAAY,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACvC,OAAO,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YAElC,eAAe,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,CAAC,KAAK,EAAE,+DAAmB,CAAC;SAE3C,CAAC,CAAC;QAGH,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,oBAAoB,CAAC,GAAG;QAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;YAEb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAE3F;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAExD;IAEL,CAAC;IAED,cAAc,CAAC,GAAG;QAEd,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,eAAe;QAGX,IAAI,GAAG,GAAG;YAGN,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YACtD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;YAChD,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACpD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;YAE5C,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK;YAC1E,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK;YACtE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;YAChE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK;YAClE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACpE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;YAC5D,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK;YAE5E,iBAAiB,EAAE,IAAI,CAAC,QAAQ;YAChC,YAAY,EAAE,IAAI,CAAC,MAAM;YAGzB,gBAAgB,EAAE,IAAI,CAAC,OAAO;YAC9B,WAAW,EAAE,IAAI,CAAC,KAAK;YAEvB,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,UAAU,EAAE,IAAI,CAAC,IAAI;YAErB,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK;YAC1D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;SAInD,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAGtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;aAEtD;iBAAM;gBACH,mBAAmB;aAEtB;YAED,uBAAuB;YACvB,6BAA6B;QACjC,CAAC,CAAC;IAEN,CAAC;IAED,wBAAwB;QAGpB,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEvE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAEhC;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,cAAc,CAAC,KAAK;QAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qEAAqE;QAEjH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,KAAK;QACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qEAAqE;QAEhH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,KAAK;QACd,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,oEAAoE;QAE9G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;;gGAzMQ,wBAAwB;sHAAxB,wBAAwB;QCHrC,mFACiE;QACrC,8DAAG;QAAA,4DAAa;QAG5C,0EAAmG;QAA/B,oJAAY,qBAAiB,IAAC;QAI9F,yEAAqB;QAIT,6EACJ;QAAA,4DAAK;QAEL,yEAAiB;QAEkB,iEAAK;QAAA,4DAAQ;QAE5C,2EAA2B;QACvB,wEAEyD;QACzD,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,yEAAa;QAAA,4DAAQ;QAEpD,2EAA2B;QACvB,wEAEiE;QACjE,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,uEAAW;QAAA,4DAAQ;QAElD,2EAA2B;QACvB,wEACsD;QAC1D,4DAAM;QAGN,0EAAsB;QACS,oEAAQ;QAAA,4DAAQ;QAE/C,2EAA2B;QACvB,wEAE4D;QAC5D,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,sEAAU;QAAA,4DAAQ;QAEjD,2EAA2B;QACvB,wEAEyD;QACzD,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,qEAAS;QAAA,4DAAQ;QAEhD,2EAA2B;QACvB,wEAE6D;QAC7D,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,sEAAU;QAAA,4DAAQ;QAEjD,2EAA2B;QACvB,wEAE8D;QAC9D,uHAEM;QACV,4DAAM;QAEN,0EAAsB;QACS,kEAAM;QAAA,4DAAQ;QAE7C,2EAA2B;QAEvB,wEAE0D;QAC1D,uHAEM;QACV,4DAAM;QAId,2EAAwB;QAGZ,6EACJ;QAAA,4DAAK;QAEL,0EAAiB;QAGK,+JAAU,wCAAoC,IAAC;QAAC,oEAAQ;QAAA,4EAAgC;QAAA,4EAAgB;QAAA,4DAAO;QAGjI,2EAAsB;QAEa,iEAAK;QAAA,4DAAQ;QAE5C,2EAA2B;QACvB,wEAEiE;QACjE,uHAEM;QACV,4DAAM;QAEN,0EAAsB;QACS,yEAAa;QAAA,4DAAQ;QAEpD,2EAA2B;QACvB,wEAEyE;QACzE,uHAEM;QACV,4DAAM;QAGN,0EAAsB;QACS,uEAAW;QAAA,4DAAQ;QAElD,2EAA2B;QACvB,wEAE8D;QAC9D,uHAEM;QACV,4DAAM;QAEN,0EAAsB;QACS,oEAAQ;QAAA,4DAAQ;QAE/C,2EAA2B;QACvB,wEAEoE;QACpE,uHAEM;QACV,4DAAM;QAEN,0EAAsB;QACS,sEAAU;QAAA,4DAAQ;QAGjD,2EAA2B;QACvB,wEAEiE;QACjE,uHAEM;QACV,4DAAM;QAUN,0EAAsB;QACS,sEAAS;QAAA,4DAAQ;QAGhD,4EAA2B;QACvB,yEAEqE;QACrE,yHAEM;QACV,4DAAM;QAEN,2EAAsB;QACS,uEAAU;QAAA,4DAAQ;QAEjD,4EAA2B;QACvB,yEAEsE;QACtE,yHAEM;QACV,4DAAM;QAEN,2EAAsB;QACS,mEAAM;QAAA,4DAAQ;QAE7C,4EAA2B;QACvB,yEAEkE;QAClE,yHAEM;QACV,4DAAM;QAEN,2EAAsB;QACS,4EAAe;QAAA,4DAAQ;QAEtD,4EAA2B;QACvB,yEACiE;QAErE,4DAAM;QAU1B,4EAAqD;QAChB,0EAAa;QAAA,4DAAM;QAEpD,4EAAwB;QAEpB,sIAEJ;QAAA,4DAAM;QAEN,4EAAmB;QAEY,iFAAoB;QAAA,4DAAQ;QACvD,sFAEqD;QADzC,gLAAmB,0BAAsB,IAAC;QAElD,mFAAmD;QAAA,wEAAW;QAAA,4DAAa;QAC3E,uIAA4I;QAChJ,4DAAa;QAIjB,4EAAmB;QACY,gFAAmB;QAAA,4DAAQ;QACtD,sFAEqD;QADzC,gLAAmB,yBAAqB,IAAC;QAEjD,mFAAmD;QAAA,wEAAW;QAAA,4DAAa;QAC3E,uIAAuI;QAC3I,4DAAa;QAGjB,4EAAmB;QACY,+EAAkB;QAAA,4DAAQ;QACrD,sFAEqD;QADzC,gLAAmB,wBAAoB,IAAC;QAEhD,mFAAmD;QAAA,wEAAW;QAAA,4DAAa;QAC3E,uIAAkI;QACtI,4DAAa;QAKrB,4EAAgE;QACvC,oEAAO;QAAA,4DAAM;QAElC,4EAAwB;QAEpB,4JAEJ;QAAA,4DAAM;QAGV,4EAAwC;QAMf,yEAAY;QAAA,4DAAM;QAEvC,mMAAqI;QAAA,0EAAmC;QAAA,iEAAI;QAAA,4DAAI;QAAC,+FAErL;QAAA,4DAAM;QAGN,4EAA6B;QAGrB,uPACC;QAAA,6EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,8DAAC;QAAA,4DAAI;QAEzE,wFAAiG;QAC/D,gEAAG;QAAA,4DAAmB;QACpD,yFAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,yFAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QAK3E,uEAAwE;QAE5E,0EAAgB;QAAA,kMAAqI;QAAA,6EAA4C;QAAA,qEAAQ;QAAA,4DAAO;QAAA,8DAAC;QAAA,4DAAI;QAE7M,wFAA4F;QAC1D,gEAAG;QAAA,4DAAmB;QACpD,yFAA6B;QAAA,+DAAE;QAAA,4DAAmB;QAClD,yFAAkC;QAAA,+EAAkB;QAAA,4DAAmB;QAM/E,4EAAiD;QACZ,iFAAoB;QAAA,4DAAM;QAE3D,2EAAgC;QAExB,sNAAyJ;QAAA,4DAAK;QAElK,uEAAI;QAAA,oLAAuH;QAAA,4DAAK;QAEhI,uEAAI;QAAA,qVAAyR;QAAA,4DAAK;QAElS,uEAAI;QAAA,+LAAmI;QAAA,4DAAK;QAE5I,uEAAI;QAAA,8UAAiR;QAAA,4DAAK;QAE1R,uEAAI;QAAA,0PAA6L;QAAA,4DAAK;QAEtM,uEAAI;QAAA,iMAAoI;QAAA,4DAAK;QAE7I,uEAAI;QAAA,8HAAiE;QAAA,4DAAK;QAE1E,uEAAI;QAAA,qUAAwQ;QAAA,4DAAK;QAGrR,4EAA0B;QAER,gKAAU,kCAA8B,IAAC;QAAC,4GAA+C;QAAA,4DAAe;QAG9H,4EAAyB;QACkG,mEAAM;QAAA,4DAAS;;QArXxI,0DAAyB;QAAzB,sFAAyB;QAiBJ,2DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAWlB,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAoB1B,2DAA8C;QAA9C,iKAA8C;QAE/C,0DAAsB;QAAtB,sFAAsB;QAWrB,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAWlB,0DAA+C;QAA/C,kKAA+C;QAEhD,0DAAuB;QAAvB,uFAAuB;QAWtB,0DAAgD;QAAhD,mKAAgD;QAEjD,0DAAwB;QAAxB,wFAAwB;QAWvB,0DAA4C;QAA5C,+JAA4C;QAE7C,0DAAoB;QAApB,oFAAoB;QAyBX,2DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAU1B,0DAA2D;QAA3D,8KAA2D;QAE5D,0DAAmC;QAAnC,mGAAmC;QAWlC,0DAAyD;QAAzD,4KAAyD;QAE1D,0DAAiC;QAAjC,iGAAiC;QAUhC,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAA8B;QAA9B,8FAA8B;QAW7B,0DAAmD;QAAnD,sKAAmD;QAEpD,0DAA2B;QAA3B,2FAA2B;QAmB1B,0DAAuD;QAAvD,0KAAuD;QAExD,0DAA+B;QAA/B,+FAA+B;QAU9B,0DAAwD;QAAxD,2KAAwD;QAEzD,0DAAgC;QAAhC,gGAAgC;QAU/B,0DAAoD;QAApD,uKAAoD;QAErD,0DAA4B;QAA5B,4FAA4B;QAsCjB,2DAAW;QAAX,iFAAW;QAWZ,0DAAU;QAAV,gFAAU;QAUX,0DAAS;QAAT,+EAAS;QAsFoB,2DAAsD;QAAtD,uHAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjYnF;AAE4D;AAGvD;AAIpB;AAEF;;;;;;;;;;;;IC6Dd,yEAAmF;IAE3E,sEACyC;IAC7C,4DAAK;IAEL,yEAA4B;IACxB,uDACJ;IAAA,4DAAK;IAEL,yEAAwB;IACpB,uDACA;IAAA,gEAAM;IACN,uDACA;IAAA,gEAAM;IACN,wDACA;IAAA,iEAAM;IACN,wDACA;IAAA,iEAAM;IACN,wDAGJ;IAAA,4DAAK;IAEL,0EAA4B;IACxB,wDACJ;;IAAA,4DAAK;IAEL,0EAA4B;IACxB,wDACJ;IAAA,4DAAK;;;;;;;;IA5BK,0DAAuE;IAAvE,iJAAuE;IAK7E,0DACJ;IADI,kHACJ;IAGI,0DACA;IADA,iMACA;IACA,0DACA;IADA,kOACA;IACA,0DACA;IADA,oIACA;IACA,0DACA;IADA,iMACA;IACA,0DAGJ;IAHI,2XAGJ;IAGI,0DACJ;IADI,0MACJ;IAGI,0DACJ;IADI,mHACJ;;ADpFT,MAAM,uBAAuB;IA4ChC,YAAsC,QAAkB,EAC5C,cAAoC,EACpC,eAA+B;QAFL,aAAQ,GAAR,QAAQ,CAAU;QAC5C,mBAAc,GAAd,cAAc,CAAsB;QACpC,oBAAe,GAAf,eAAe,CAAgB;QA5C3C,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,uBAAkB,GAAQ,EAAE,CAAC;QAM7B,oBAAe,GAAY,IAAI,CAAC;QAEhC,kBAAa,GAAQ,EAAE,CAAC;QACxB,8BAA8B;QAC9B,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,cAAS,GAAG;YACR,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SAC5B;QAED,WAAM,GAAG;YACL,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,KAAK;YACpB,EAAE,EAAE,CAAC;SACR;QAES,wBAAmB,GAAG,IAAI,uDAAY,EAAU,CAAC;QACjD,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAE/C,sBAAiB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC7C,wBAAmB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC/C,yBAAoB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAChD,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,uBAAkB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC9C,qBAAgB,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC5C,oBAAe,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAErD,gBAAW,GAAG;YACV,SAAS,EAAE,EAAE;SAChB;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QA4B7C,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9G,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC/F,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC5H,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACrH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE;YACnE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;YACnH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;YAC/D,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE;YAC9F,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE;YACtG,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5G,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG;YAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;YAIhE,8DAA8D;YAC9D,GAAG;YACH,oDAAoD;YACpD,wEAAwE;YACxE,IAAI;YACJ,GAAG;YACH,8EAA8E;YAC9E,sHAAsH;YACtH,GAAG;SACN,CAAC;QAuHK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAClB,CAAC;QAmFF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QAtQG,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB;YACpB,gCAAgC;YAChC,gDAAgD;SACnD,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,uDAAuD;IACvD,6BAA6B;IAC7B,GAAG;IAEH,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IA6BD,WAAW,CAAC,KAAK;QACb,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YACnB,OAAO,GAAG,CAAC;;YACV,OAAO,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,eAAe;IACf,SAAS,CAAC,UAAU;QAChB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,MAAM,IAAI,OAAO;YACjB,OAAO,kDAAkD,CAAC;aACzD,IAAI,MAAM,IAAI,OAAO;YACtB,OAAO,kDAAkD,CAAC;aACzD,IAAI,MAAM,IAAI,KAAK;YACpB,OAAO,gDAAgD,CAAC;aACvD,IAAI,MAAM,IAAI,UAAU;YACzB,OAAO,qDAAqD,CAAC;;YAC5D,EAAE,CAAC;QACR,uCAAuC;IAC3C,CAAC;IAED,YAAY;IACZ,YAAY,CAAC,UAAU;QAEnB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,UAAU;QACpB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClE,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC;IACzC,CAAC;IAED,MAAM;IACN,MAAM,CAAC,MAAM,EAAE,OAAO;QAClB,IAAI,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;QACjC,IAAI,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;QAC/B,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ;QAEtB,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,qBAAqB,GAAG,GAAG,SAAS,EAAE,CAAC;SACjD;;YACI,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,GAAG;QACd,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;YACxB,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;gBAClB,OAAO,GAAG,CAAC;aACd;iBAAM;gBACH,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;aACnC;aACA;YACD,OAAO,GAAG,CAAC;SACd;IACL,CAAC;IAED,QAAQ,CAAC,KAAK;QAEV,IAAI,KAAK,GAAG,EAAE,EAAE;YACZ,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAClC,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,OAAO,UAAU,CAAC;SACrB;aAAM,IAAI,KAAK,GAAG,EAAE,EAAE;YACnB,qBAAqB;YACrB,OAAO,KAAK;SACf;IAGL,CAAC;IAED,mBAAmB,CAAC,MAAM;QAEtB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;YACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;YACvC,OAAO,KAAK,CAAC;YAEb,sCAAsC;SACzC;;YACI,OAAO,EAAE,CAAC;QACf,oCAAoC;IACxC,CAAC;IAED,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IAuBD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QAGvE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAGD,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAE7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,iCAAiC;QACjC,mCAAmC;QACnC,yCAAyC;QACzC,mCAAmC;QACnC,oDAAoD;QACpD,GAAG;QAEH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAGD,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAUD,qBAAqB;QACjB,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,kCAAkC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QAGL,oCAAoC;QAEpC,+BAA+B;QAE/B,oBAAoB;QACpB,cAAc;QACd,0BAA0B;QAC1B,UAAU;QAEV,MAAM,OAAO,GAAG,mCAAC,CAAC,mBAAmB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhC,0DAA0D;QAC1D,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,gCAAgC;QAIzC,iDAAiD;QACjD,iBAAiB;QACjB,gDAAgD;QAEhD,2DAA2D;QAC3D,kDAAkD;QAClD,6DAA6D;QAC7D,kCAAkC;QAClC,8BAA8B;QAC9B,kCAAkC;QAClC,qBAAqB;QAGrB,iBAAiB;QACjB,uBAAuB;QAEvB,iCAAiC;QACjC,qBAAqB;QACrB,2BAA2B;QAE3B,4BAA4B;QAE5B,mBAAmB;QACnB,KAAK;QAEL,mCAAmC;QAEnC,mBAAmB;QACnB,KAAK;QAEL,sFAAsF;QAGtF,gCAAgC;QAChC,mCAAmC;QACnC,8CAA8C;QAE9C,YAAY;QACZ,0BAA0B;QAC1B,cAAc;QACd,uBAAuB;QACvB,WAAW;QAGX,oFAAoF;QACpF,mDAAmD;QACnD,0CAA0C;QAC1C,iBAAiB;QACjB,6CAA6C;QAG7C,wFAAwF;QAExF,8EAA8E;QAC9E,+BAA+B;QAE/B,8BAA8B;QAC9B,+BAA+B;QAC/B,uCAAuC;QAIvC,yCAAyC;QACzC,mDAAmD;QACnD,0CAA0C;QAC1C,iBAAiB;QACjB,6CAA6C;QAE7C,YAAY;QAGZ,8EAA8E;QAE9E,kEAAkE;QAElE,6EAA6E;QAC7E,0CAA0C;QAC1C,2DAA2D;QAC3D,4CAA4C;QAC5C,0CAA0C;QAE1C,oDAAoD;QACpD,6CAA6C;QAE7C,iBAAiB;QACjB,iBAAiB;IAIrB,CAAC;IAID,QAAQ;QACJ,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACxB,UAAU,EAAE,MAAM;YAClB,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;SAChD,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACZ,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,EAAE,IAAI,CAAC,CAAC;IAGb,CAAC;IAID,kBAAkB,CAAC,GAAY;QAI3B,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAGxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAc,qBAAqB,CAAS,CAAC;QAEpF,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAE3B,0CAA0C;QAE1C,+DAA+D;QAC/D,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAGvB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAG9B,CAAC;IAED,SAAS,CAAC,GAAY;QAElB,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAc,qBAAqB,CAAS,CAAC;QACpF,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC9B,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAEvB,qBAAqB;IACzB,CAAC;IAMD,qBAAqB,CAAC,CAAC;QAEnB,IAAI,GAAG,GAAG;YACN,IAAI,EAAE,CAAC;SACV;QAED,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEtE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC;gBACtC,wEAAwE;gBACxE,QAAQ,CAAC;gBACT,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,mCAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,sBAAsB;QAIlB,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAEpE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC;aAG1C;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAID,mCAAmC;IACnC,iDAAiD;IACjD,2BAA2B;IAC3B,oDAAoD;IACpD,GAAG;IAGH,aAAa;QACT,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,wBAAwB;QACpB,0CAA0C;QAC1C,oBAAoB;QACpB,oCAAoC;QACpC,8CAA8C;QAE9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAGD,oBAAoB;QAEhB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,oBAAoB,CAAC,GAAQ;QAEzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,+BAA+B;QAE/B,IAAI,GAAG,IAAI,UAAU;YACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC5B,IAAI,GAAG,IAAI,aAAa;YACzB,IAAI,CAAC,kCAAkC,EAAE,CAAC;aACzC,IAAI,GAAG,IAAI,UAAU;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAC/B,IAAI,GAAG,IAAI,UAAU;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAExC,CAAC;;8FAxmBQ,uBAAuB,kEA4CZ,qDAAQ;qHA5CnB,uBAAuB;kEAqOrB,0DAAa;;;;;;;QCvP5B,4EAA6G;QAIjG,oEAAkF;QACtF,4DAAM;QACN,yEAA8B;QAGe,0EAAe;QAAA,4DAAO;QAG/D,0EAAyD;QAAA,wDAAmC;;QAAA,4DAAO;QAkDvG,4EAA0B;QAElB,iEAAS;QACT,0EAAgB;QAAA,8EAAkB;QAAA,4DAAK;QACvC,0EAAiB;QAAA,oEAAQ;QAAA,4DAAK;QAC9B,0EAAgB;QAAA,gEAAI;QAAA,4DAAK;QACzB,0EAAgB;QAAA,mEAAO;QAAA,4DAAK;QAGpC,yEAAO;QACH,sHAiCK;QAET,4DAAQ;QAKhB,0EAAiB;QAIgC,2EAAe;QAAA,4DAAO;QAInE,2EAA2B;QAIgC,sJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QAMA,gJAAS,mBAAe,IAAC;QAAC,0EAAc;QAAA,4DAAS;QACvE,8EAA2D;QAArC,gJAAS,8BAA0B,IAAC;QAAC,6EAAiB;QAAA,4DAAS;QACrF,8EAAyD;QAAnC,gJAAS,4BAAwB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACjF,8EAAsD;QAAhC,gJAAS,yBAAqB,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAC3E,8EAAuD;QAAjC,gJAAS,0BAAsB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QAC7E,8EAA2C;QAArB,gJAAS,cAAU,IAAC;QAAC,iEAAK;QAAA,4DAAS;QAWjE,+FAA+F;QAS/C,6JAAU,yBAAqB,UAAU,CAAC,IAAC;QAC3E,4EAAsC;QAClC,sEACJ;QAAA,4DAAO;QAIf,2EAA+B;QAEvB,wDACJ;;QAAA,4DAAM;QAKd,2EAA+C;QAEA,6JAAU,yBAAqB,aAAa,CAAC,IAAC;QACjF,4EAAsC;QAAA,uEAAW;QAAA,4DAAO;QAGhE,2EAA+B;QAEvB,wDACJ;;QAAA,4DAAM;QAId,2EAA+C;QAEH,6JAAU,yBAAqB,UAAU,CAAC,IAAC;QAC3E,4EAAsC;QAClC,sEACJ;QAAA,4DAAO;QAIf,2EAA+B;QAEvB,wDACJ;;QAAA,4DAAM;QAId,2EAA+C;QAEH,6JAAU,yBAAqB,UAAU,CAAC,IAAC;QAC3E,4EAAsC;QAClC,sEACJ;QAAA,4DAAO;QAGf,2EAAgC;QAExB,wDACJ;;QAAA,4DAAM;QA2E1B,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,kJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,uKAAa,uBAAmB,IAAC,mHAClB,yBAAqB,IADH,2GAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QA9SmD,2DAAmC;QAAnC,+JAAmC;QA4DvE,2DAAqB;QAArB,2FAAqB;QAoDlB,0DAA0B;QAA1B,kFAA0B;QAkCsC,2DAA2B;QAA3B,wFAA2B;QASvG,0DACJ;QADI,uOACJ;QAaI,0DACJ;QADI,iPACJ;QAeI,0DACJ;QADI,uOACJ;QAcI,0DACJ;QADI,uOACJ;QAyFH,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;ACvSjC,MAAM,uBAAuB;IAElC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8FALU,uBAAuB;qHAAvB,uBAAuB;QCPpC,oEAAG;QAAA,iFAAsB;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;;ACAsD;AAC3B;AAER;;;;;;;;;AASzC,MAAM,6BAA6B;IA2BtC,YAAoB,eAA+B;QAA/B,oBAAe,GAAf,eAAe,CAAgB;QAzBnD,cAAS,GAAG;YACR,SAAS,EAAE,EAAE;SAChB;QAES,uBAAkB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAChD,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAEpD,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,2BAAsB,GAAG,IAAI,qDAAS,CAAC;YACnC,oDAAoD;YACpD,kDAAkD;YAElD,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC;SACnC,CAAC,CAAC;QAOH,uBAAkB,GAAQ,EAAE,CAAC;QAmC7B,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE;YAC9C,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;YAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;YACvC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE;YACvD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE;YACvD,GAAG;YACH,+EAA+E;YAC/E,sHAAsH;YACtH,GAAG;SACN,CAAC;QAEF,+BAA+B;QAE/B,iCAAiC;QACjC,qEAAqE;QACrE,uCAAuC;QACvC,2DAA2D;QAC3D,gFAAgF;QAChF,wCAAwC;QAExC,iDAAiD;QACjD,uBAAuB;QAEvB,gDAAgD;QAChD,OAAO;QACP,qBAAqB;QACrB,0CAA0C;QAC1C,GAAG;QAEH,qCAAqC;QACrC,iCAAiC;QACjC,+BAA+B;QAC/B,mEAAmE;QACnE,wEAAwE;QACxE,GAAG;QAEI,YAAO,GAAG,EAAE,CAAC;QACpB,wDAAwD;QACxD,sDAAsD;QACtD,yDAAyD;QACzD,IAAI;QAEJ,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QA9EE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,qDAAS,CAAC;YACxC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;SACpH,CAAC,CAAC;QAGH,IAAI,CAAC,WAAW,GAAG;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,QAAQ;QAGJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IA4DD,mBAAmB;IACnB,8CAA8C;IAC9C,2DAA2D;IAC3D,uEAAuE;IAGvE,6EAA6E;IAE7E,gCAAgC;IAChC,oDAAoD;IACpD,oGAAoG;IACpG,GAAG;IAEH,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;QACX,oDAAoD;QACpD,kDAAkD;QAClD,qDAAqD;SACxD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAEhC,iCAAiC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7C,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAOD,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAGD,gBAAgB;IAEhB,+BAA+B;IAC/B,wBAAwB;IACxB,GAAG;IAGH,QAAQ,CAAC,KAAoC;QAEzC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,yBAAyB;QAGrB,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK;YAClD,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG;SACjD;QAGD,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE1E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAChC,QAAQ,CAAC;gBACT,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;;0GA9NQ,6BAA6B;2HAA7B,6BAA6B;kEAiH3B,0DAAa;;;;;QC3H5B,yEAAiB;QAIgC,kFAAuB;QAAA,4DAAO;QAG3E,yEAA2B;QAMJ,mEAAQ;QAAA,4DAAY;QAC/B,2FACmE;QAC/D,uEAAqE;QACrE,4EAA+F;QAAhC,qKAAc,oBAAgB,IAAC;QAA9F,4DAA+F;QAGnG,wFAA8F;QAElG,4DAAiB;QAGjB,0EAAwB;QAC+B,4JAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,sJAAS,cAAU,aAAa,CAAC,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAE9E,8EAA0D;QAApC,sJAAS,cAAU,cAAc,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QAgB7G,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,wJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,6KAAa,uBAAmB,IAAC,yHAClB,yBAAqB,IADH,iHAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;;QA5DoB,2DAAoC;QAApC,iGAAoC;QAMzB,0DAAoC;QAApC,oEAAoC;QAM7C,0DAA0B;QAA1B,kFAA0B;QAoCjD,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;AChEuC;AACE;;;;;;;;;;ICmB7D,sEAA0C;IAAA,uDAAe;IAAA,4DAAM;;;IAArB,0DAAe;IAAf,mFAAe;;;IAD7D,0EAA2D;IACvD,4HAA+D;IACnE,4DAAM;;;IADI,0DAAkC;IAAlC,qGAAkC;;;IASxC,iFAAqE;IAAA,uDAAa;IAAA,4DAAa;;;IAAlD,mFAAuB;IAAC,0DAAa;IAAb,6EAAa;;;IAqClF,sEAAoC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IADxD,0EAAqD;IACjD,4HAA0D;IAC9D,4DAAM;;;IADI,0DAA4B;IAA5B,+FAA4B;;;IAUlC,sEAAqC;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,oFAAgB;;;IADzD,0EAAsD;IAClD,4HAA2D;IAC/D,4DAAM;;;IADI,0DAA6B;IAA7B,gGAA6B;;;IAUnC,sEAAmC;IAAA,uDAAsB;IAAA,4DAAM;;;IAA5B,0DAAsB;IAAtB,2FAAsB;;;IAD7D,0EAAoD;IAChD,4HAA+D;IACnE,4DAAM;;;IADI,0DAA2B;IAA3B,8FAA2B;;;AD3E9C,MAAM,wBAAwB;IAkBjC,YAAmB,WAA2B,EAClC,WAAwB,EACxB,eAA+B;IACvC,4CAA4C;IACpC,MAAc;QAJP,gBAAW,GAAX,WAAW,CAAgB;QAClC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAgB;QAE/B,WAAM,GAAN,MAAM,CAAQ;QApB1B,gBAAW,GAAQ,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,cAAS,GAAG,KAAK,CAAC;QACX,WAAM,GAAG,aAAa,CAAC;QAI9B,eAAU,GAAQ,CAAC,CAAC;QAIV,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAE3C,UAAK,GAAQ,IAAI,CAAC;QAElB,YAAO,GAAG,KAAK,CAAC;IAShB,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACtC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,4DAAgB,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC,EAAE,CAAC;YACV,UAAU,EAAC,CAAC,EAAE,CAAC;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,mBAAmB;SACtB;aACI;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAID,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,eAAe;QAEX,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;aACnC;iBAAM;aAEN;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,YAAY,CAAC,MAAM;QAEf,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjG,CAAC;IAGD,QAAQ;QAEJ,IAAI,GAAG,GAAG;YACN,OAAO,EAAE;gBACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC5D,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACrD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtD,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBAC5D,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACxD,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACjD,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAClD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxD,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACxE;SACJ,CAAC;QAGF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAG/D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAE3B;iBAAM;gBACH,kBAAkB;aAErB;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;;gGAlIQ,wBAAwB;sHAAxB,wBAAwB;QCXrC,yEAAkC;QAEE,uDAAU;QAAA,4DAAK;QAKnD,yEAAiB;QAE+C,oJAAY,cAAU,IAAC;QAE/E,yEAAiB;QAIkB,wEAAa;QAAA,4DAAQ;QAChD,sEAEgE;QAChE,sHAEM;QAEV,4DAAM;QAEN,0EAAsB;QACS,oEAAQ;QAAA,4DAAQ;QAC3C,qFAC2C;QACvC,qIAA+F;QACnG,4DAAa;QAGjB,2EAAoB;QACW,2EAAe;QAAA,4DAAQ;QAClD,wEAEoD;QACxD,4DAAM;QAEN,2EAAoB;QACW,qEAAS;QAAA,4DAAQ;QAC5C,wEAEkD;QACtD,4DAAM;QAEN,2EAAmB;QACY,sEAAU;QAAA,4DAAQ;QAC7C,wEACoD;QACxD,4DAAM;QAEN,2EAAmB;QACY,mEAAO;QAAA,4DAAQ;QAC1C,wEACiD;QACrD,4DAAM;QAEN,2EAAmB;QAEY,oEAAQ;QAAA,4DAAQ;QAC3C,wEAE0D;QAC1D,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,oEAAQ;QAAA,4DAAQ;QAC3C,wEAEkD;QAClD,sHAEM;QACV,4DAAM;QAEN,2EAAmB;QACY,iEAAK;QAAA,4DAAQ;QACxC,wEAEgD;QAChD,sHAEM;QAEV,4DAAM;QAGV,2EAA0B;QAEiB,iJAAS,sBAAkB,aAAa,CAAC,IAAC;QAC7E,oEACJ;QAAA,4DAAS;QACT,2EAAc;QAGN,kEACJ;QAAA,4DAAS;;QAnGW,0DAAU;QAAV,2EAAU;QAOZ,0DAA6B;QAA7B,0FAA6B;QAQxC,0DAAkD;QAAlD,qKAAkD;QAEnD,0DAA0B;QAA1B,0FAA0B;QAUA,0DAAe;QAAf,qFAAe;QAOxC,0DAA+C;QAA/C,kKAA+C;QAO/C,0DAA+C;QAA/C,kKAA+C;QAoB/C,2DAAsE;QAAtE,6LAAsE;QAEvE,0DAAoB;QAApB,oFAAoB;QAQnB,0DAAwE;QAAxE,+LAAwE;QAEzE,0DAAqB;QAArB,qFAAqB;QAQpB,0DAA2C;QAA3C,8JAA2C;QAE5C,0DAAmB;QAAnB,mFAAmB;QAajB,0DAAmC;QAAnC,gGAAmC;;;;;;;;;;;;;;;;;;;;;;;;;AClG2C;AAC9C;AAE9B;;;;;;;;;;;ICoCN,uEAAmD;IAAA,uDAAiB;IAAA,4DAAO;;;IAAxB,0DAAiB;IAAjB,0FAAiB;;;IAIpE,uEAAuC;IAAA,8DAAG;IAAA,4DAAO;;;IACjD,uEAAuC;IAAA,uDAAyB;IAAA,4DAAO;;;IAAhC,0DAAyB;IAAzB,yFAAyB;;;IAZxE,yEAAoF;IAG5E,uDACJ;;IAAA,4DAAK;IAEL,yEAA4B;IACxB,oIAA2E;IAC3E,uDACJ;IAAA,4DAAK;IACL,yEAA4B;IACxB,oIAAiD;IACjD,oIAAuE;IAC3E,4DAAK;;;IAVD,0DACJ;IADI,uKACJ;IAGW,0DAA0C;IAA1C,yGAA0C;IACjD,0DACJ;IADI,2FACJ;IAEW,0DAA8B;IAA9B,6FAA8B;IAC9B,0DAA8B;IAA9B,6FAA8B;;;IArBjD,2EAAkE;IAItD,uDACA;;IACJ,4DAAK;IAGT,4HAcK;IAET,4DAAQ;;;IArBI,0DACA;IADA,2KACA;IAIe,0DAAoB;IAApB,yFAAoB;;;IA2XK,4EAAsE;IAClE,gEACJ;IAAA,4DAAQ;;;IACR,4EAAsE;IAClE,uDACJ;IAAA,4DAAQ;;;IADJ,0DACJ;IADI,qGACJ;;;IA9BpB,0EAAuD;IAOM,uDAAmC;;IAAA,4DAAQ;IAIhG,0EAA8B;IAKd,wDACJ;IAAA,4DAAQ;IAIpB,2EAA8B;IAIlB,wIAEQ;IACR,wIAEQ;IACZ,4DAAM;;;IAxBuC,0DAAmC;IAAnC,6JAAmC;IASxE,0DACJ;IADI,4FACJ;IAQQ,0DAA8B;IAA9B,8FAA8B;IAG9B,0DAA8B;IAA9B,8FAA8B;;;IAtCtE,sEAA6C;IAKuC,uDAAwC;;IAAA,4DAAQ;IAExH,oEAAsB;IAC1B,4DAAM;IACN,0EAA6C;IACzC,6HAqCM;IACV,4DAAM;;;IA3CsE,0DAAwC;IAAxC,iKAAwC;IAKxF,0DAAoB;IAApB,0FAAoB;;ADvX7E,MAAM,uBAAuB;IAoBhC,YAAoB,eAA+B;QAA/B,oBAAe,GAAf,eAAe,CAAgB;QAjBnD,gBAAW,GAAQ,EAAE,CAAC;QACtB,kBAAa,GAAQ,EAAE,CAAC;QAGxB,cAAS,GAAG;YACR,SAAS,EAAE,EAAE;SAChB;QACS,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAEpD,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,2BAAsB,GAAG,IAAI,qDAAS,CAAC;YAEnC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAC9C,CAAC,CAAC;QAIC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,qDAAS,CAAC;YACxC,KAAK,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,GAAG,EAAE,IAAI,uDAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;SACpH,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QAEJ,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;SACJ;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IAGvB,CAAC;IAED,cAAc;QAGV,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE1E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,QAAQ,CAAC;gBACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAE5B;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAGD,iBAAiB;QACb,IAAI,GAAG,GAAG;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK;YAClD,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG;SACjD;QAGD,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE7E,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE/B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAGxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEzC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;wBAC9D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;qBAC3D,CAAC;gBACN,CAAC,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,EAAE;oBAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;aAEN;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,YAAY,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAGF,QAAQ;QACJ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,8BAA8B;IAClC,CAAC;IAED,YAAY;QACR,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1B,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACpE,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAE/D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACxE,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE7E,CAAC;IAED,WAAW;QACP,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1B,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACtE,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAEjE,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACtE,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAC3E,CAAC;IAGD,QAAQ,CAAC,KAAoC;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS;IAET,CAAC;IAED,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAKD,WAAW;QACP,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAG3C,aAAa;QACb,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,IAAI;QAEJ,sBAAsB;QACtB,8BAA8B;QAC9B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnB,6BAA6B;QAC7B,uDAAuD;QAEvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YAE5B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACxB,UAAU,EAAE,MAAM;YAClB,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,GAAG,CAAC,4BAA4B;SAChD,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,EAAE,IAAI,CAAC,CAAC;IAGb,CAAC;;8FA9MQ,uBAAuB;qHAAvB,uBAAuB;;;;;;QCXpC,4EAA8G;QAIlG,oEAAkF;QACtF,4DAAM;QACN,yEAA8B;QAGe,uDAA2B;QAAA,4DAAO;QAG3E,0EAAyD;QAAA,wDAAqH;;;QAAA,4DAAO;QAGzL,4EAA0B;QAEU,gEAAI;QAAA,4DAAK;QACrC,0EAA4B;QAAA,kEAAM;QAAA,4DAAK;QACvC,0EAA4B;QAAA,4EAAgB;QAAA,4DAAK;QAIzD,0HAyBQ;QA+CZ,4DAAM;QAMV,0EAAiB;QAIgC,mEAAO;QAAA,4DAAO;QAAC,qEACxD;QAAA,4DAAK;QAGT,2EAA2B;QAOgC,sJAAS,wBAAwB,IAAC;QACjF,kEAAK;QAAA,gFAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,sFAA0B;QACA,gJAAS,cAAU,aAAa,CAAC,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAE9E,8EAAkE;QAA5C,gJAAS,cAAU,sBAAsB,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QACjG,8EAA0D;QAApC,gJAAS,cAAU,cAAc,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QAYzG,2EAAwD;QAKJ,wDAAsD;QAAA,4DAAQ;QAK9G,2EAAsB;QAEd,sEACM;QAKN,2EAAsB;QAEd,6EACA;QAAA,4EAAyB;QACrB,uEACJ;QAAA,4DAAO;QAU3B,2EAA6D;QAOA,0EAAc;QAAA,4DAAQ;QAE/D,2EAAsB;QACS,wDAA4B;QAAA,4DAAQ;QAIvE,2EAAkD;QAEL,kEAAM;QAAA,4DAAQ;QAEvD,2EAAsB;QACS,wDAAsB;QAAA,4DAAQ;QAIjE,2EAAkD;QAEL,2EAAe;QAAA,4DAAQ;QAEhE,2EAAsB;QACS,wDAAsB;QAAA,4DAAQ;QAIjE,2EAAkD;QAEL,oEAAQ;QAAA,4DAAQ;QAEzD,2EAAsB;QACS,wDAAuB;QAAA,4DAAQ;QAIlE,2EAAkD;QAEL,8EAAkB;QAAA,4DAAQ;QAEnE,2EAAsB;QACS,wDAAuB;QAAA,4DAAQ;QAIlE,2EAAkD;QAEL,yEAAa;QAAA,4DAAQ;QAE9D,4EAAsB;QACS,yDAA+B;QAAA,4DAAQ;QAI1E,4EAAkD;QAEL,4EAAe;QAAA,4DAAQ;QAEhE,4EAAsB;QACS,yDAAyB;QAAA,4DAAQ;QAIpE,4EAAkD;QAEL,2EAAc;QAAA,4DAAQ;QAE/D,4EAAsB;QACS,yDAAwB;QAAA,4DAAQ;QAgE/E,4EAAsB;QAKoE,8IAAS,iBAAa,IAAC;QAEjG,6EAAyB;QAAA,oEAAO;QAAA,4DAAO;QAWnD,4EAAoB;QAUe,qEAAQ;QAAA,4DAAY;QAC/B,6FACmE;QAC/D,yEAAqE;QACrE,8EAA+F;QAAhC,gKAAc,oBAAgB,IAAC;QAA9F,4DAA+F;QAGnG,yFAA8F;QAElG,4DAAiB;QAMjB,+EAA8E;QAAxB,iJAAS,iBAAa,IAAC;QACzE,uEACJ;QAAA,4DAAS;QAMT,4EAAsB;QAEiB,iEAAI;QAAA,4DAAQ;QAE/C,4EAA8B;QACK,oEAAO;QAAA,4DAAQ;QAElD,4EAA8B;QACK,sEAAS;QAAA,4DAAQ;QASxD,sEAAsB;QAGtB,wHAkDM;QAuBV,4DAAM;QA4KlB,4EAAsC;QAClC,sEAmCM;QACV,4DAAM;;;;QAzoBmC,0DAA2B;QAA3B,4FAA2B;QAGX,0DAAqH;QAArH,2TAAqH;QAWlI,2DAAgB;QAAhB,sFAAgB;QA6FpC,0DAA0B;QAA1B,kFAA0B;QAwBV,2DAAsD;QAAtD,sIAAsD;QAsCvD,2DAA4B;QAA5B,6FAA4B;QAS5B,0DAAsB;QAAtB,uFAAsB;QAStB,0DAAsB;QAAtB,uFAAsB;QAStB,0DAAuB;QAAvB,wFAAuB;QASvB,0DAAuB;QAAvB,wFAAuB;QASvB,0DAA+B;QAA/B,gGAA+B;QAS/B,0DAAyB;QAAzB,0FAAyB;QASzB,0DAAwB;QAAxB,yFAAwB;QA6FrB,2DAAoC;QAApC,iGAAoC;QAMzB,0DAAoC;QAApC,oEAAoC;QAoC9C,2DAAgB;QAAhB,sFAAgB;;;;;;;;;;;;;;;;;ACxXQ;;AAQxE,MAAM,wBAAwB;IAoBjC;QAhBU,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAgB9B,CAAC;IAdjB,WAAW;QAEP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QAEL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAID,QAAQ;IACR,CAAC;;gGAvBQ,wBAAwB;sHAAxB,wBAAwB;QAJtB,uEAAsF;QAAvC,2IAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,2IAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACLxD;AAEF;AAEgB;;;;;AAQ/E,MAAM,gCAAgC;IAkBzC,YACY,OAAkB,EAClB,cAA8B;QAD9B,YAAO,GAAP,OAAO,CAAW;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAdnC,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;IAc3C,CAAC;IAZD,MAAM,CAAC,MAAW;QACf,GAAG;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAE5F,mDAAmD;IACvD,CAAC;IAUM,OAAO,CAAC,IAAS;QACpB,EAAE;QACF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAErB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAEnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAGD,MAAM,CAAC,EAAO;QAGV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uFAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAE1D,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;oBAEhE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;qBAE7D;yBAAM;wBAEH,8CAA8C;qBACjD;gBAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;oBACf,uBAAuB;gBAC3B,CAAC,CAAC;aACL;QAIL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;gHAvFQ,gCAAgC;8HAAhC,gCAAgC;QAH9B,0FAAkE;QAA5C,oLAAa,mBAAe,IAAC;QAAe,4DAAuB;;QAArC,0EAAa;;;;;;;;;;;;;;;;;;;;;;;;;ACTG;AAEnC;AAG4C;AACwB;;;;;;;;AAO7G,MAAM,qBAAqB;IAwB9B,YACY,KAAe;IACvB,2BAA2B;IACnB,cAA8B;QAF9B,UAAK,GAAL,KAAK,CAAU;QAEf,mBAAc,GAAd,cAAc,CAAgB;QAzB1C,oDAAoD;QACpD,sDAAsD;QAEtD,cAAS,GAAG;YACR,SAAS,EAAE,EAAE;SAChB;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QAC1C,uBAAkB,GAAG,IAAI,uDAAY,EAAU,CAAC;QAS1D,kBAAa,GAAQ,EAAE,CAAC;QACxB,cAAS,GAAQ,EAAE,CAAC;QACpB,uBAAkB,GAAQ,EAAE,CAAC;QA4B7B,gDAAgD;QACzC,eAAU,GAAa;YAC1B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE;YAC7C,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;YAC7C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;YACxC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE;YACtD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3E;gBACI,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,4HAAgC;gBACxE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnH;SACJ,CAAC;QAgCK,YAAO,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,iDAAiD;QAC1C,kBAAa,GAAW;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACf,CAAC;QAmFF,eAAU,GAAG;YAET,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,SAAS;SACrB;QA9JG,IAAI,CAAC,WAAW,GAAG;YACf,OAAO,EAAE;gBACL,eAAe,EAAE,IAAI;aACxB;YACD,QAAQ,EAAE,UAAU;YACpB,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAID,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAeD,SAAS,CAAC,MAAM;QACZ,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC;YACjB,OAAO,QAAQ,CAAC;;YACf,OAAO,UAAU,CAAC;IAC3B,CAAC;IACD,+BAA+B;IAE/B,iCAAiC;IACjC,qEAAqE;IACrE,uCAAuC;IACvC,2DAA2D;IAC3D,gFAAgF;IAChF,wCAAwC;IAExC,iDAAiD;IACjD,uBAAuB;IAEvB,gDAAgD;IAChD,OAAO;IACP,qBAAqB;IACrB,0CAA0C;IAC1C,GAAG;IAEH,yBAAyB,CAAC,MAAM;QAC5B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YACpB,OAAO,iDAAiD,CAAC;;YACxD,OAAO,qDAAqD,CAAC;IACtE,CAAC;IAsBD,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,qDAAqD;QACrD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAGjE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAEvE,0BAA0B;QAC1B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,8FAA8F;IAClG,CAAC;IAED,cAAc;QAEV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,WAAW,CAAC,MAAsB;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;SACtD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAI,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,CAAmB;QAC7B,gCAAgC;QAChC,WAAW;QAEX,mCAAmC;QACnC,kDAAkD;QAClD,2CAA2C;QAC3C,6CAA6C;QAC7C,GAAG;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3D,CAAC;IAED,YAAY,KAAK,CAAC;IAElB,2BAA2B;IAC3B,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAKD,QAAQ;QAEJ,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACb,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;QACnE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IASD,eAAe;QAGX,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAE5D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEhC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;oBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAEhD;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YACf,uBAAuB;QAC3B,CAAC,CAAC;IAEN,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAE5B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAEV,6CAA6C;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAK;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oGAAwB,EAAE;YACvD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI;YAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE7E,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;;0FAjPQ,qBAAqB;mHAArB,qBAAqB;kEA4GnB,0DAAa;;;;;QCvH5B,yEAAiB;QAIgC,mEAAQ;QAAA,4DAAO;QAI5D,yEAA2B;QAOgC,mJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,8EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QACA,8IAAS,YAAQ,IAAC;QAAC,2EAAe;QAAA,4DAAS;QAGjE,6EAAkE;QAA5C,8IAAS,cAAU,sBAAsB,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QACjG,6EAA0D;QAApC,8IAAS,cAAU,cAAc,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QAYzG,2EAAqB;QACX,uEAAW;QAAA,4DAAO;QACxB,8EAAsD;QAA9C,gJAAU,uBAAmB,IAAC;QAClC,8EAA+B;QAAA,8DAAE;QAAA,4DAAS;QAC1C,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAmB;QAAA,8DAAE;QAAA,4DAAS;QAC9B,8EAAoB;QAAA,+DAAG;QAAA,4DAAS;QAKxC,2FAa2D;QAL1C,qKAAa,uBAAmB,IAAC,iHAClB,yBAAqB,IADH,yGAEnB,kBAAc,IAFK;QAOlD,4DAAkB;;;QA9CkB,0DAA0B;QAA1B,kFAA0B;QAkC7C,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;;;;;;;;;;;ACnDsC;AACN;AAEL;;;;;;;;AAQ5D,MAAM,sBAAsB;IAkB/B,YAAoB,OAA0B,EAClC,IAAgB,EAChB,eAA+B;QAFvB,YAAO,GAAP,OAAO,CAAmB;QAClC,SAAI,GAAJ,IAAI,CAAY;QAChB,oBAAe,GAAf,eAAe,CAAgB;QAZpC,QAAG,GAAG,yEAAkB,CAAC;QAEhC,gBAAW,GAAG;YACV,SAAS,EAAE,EAAE;SAChB;QAES,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;QACnC,qBAAgB,GAAG,IAAI,uDAAY,EAAE,CAAC;QAwBhD,eAAU,GAAG,CAAC,KAAU,EAAE,EAAE;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,OAAO;aACV;YACD,IAAI,aAAa,GAAW,KAAK,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAEhC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;iBAChC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,8EAA4B,EAAE;oBAC7C,IAAI,KAAK,CAAC,KAAK,EAAE;wBACb,MAAM,KAAK,GAAW,KAAK,CAAC,KAAK,CAAC;wBAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;qBAC1D;yBACI;wBACD,wBAAwB;qBAC3B;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,KAAK,wEAAsB,EAAE;oBAC5C,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;oBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAG1C;YACL,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IAlDD,CAAC;IAED,QAAQ;IACR,CAAC;IAED,SAAS,CAAC,KAAK;QACX,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB;QACf,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAuCD,mBAAmB,CAAC,SAAc;QAE9B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAEnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC,CAAC;IAEN,CAAC;IAGD,QAAQ;QAGJ,aAAa;QACb,+DAA+D;QAC/D,kCAAkC;QAClC,iCAAiC;QACjC,GAAG;QAEH,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,mFAAmF;QACnF,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAG/C,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;YAC1B,cAAc,EAAE,qBAAqB;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,GAAG,GAAG,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjF,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,iDAAiD;aACpD;iBAAM;gBACH,+CAA+C;aAClD;QAEL,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpC,CAAC;IAED,YAAY,CAAC,KAAU;QAEnB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;YAEjC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,IAAI,IAAI,SAAS,EAAE;gBACnB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE;oBAC7D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC1B,0DAA0D;iBAC7D;aAEJ;iBACI;gBACD,+DAA+D;gBAC/D,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;aACjC;SACJ;IACL,CAAC;;4FAjJQ,sBAAsB;oHAAtB,sBAAsB;QCXnC,yEAAiB;QAIgC,yEAAc;QAAA,4DAAO;QAAC,qEAE/D;QAAA,4DAAK;QAIT,yEAA2B;QAIgC,oJAAS,wBAAwB,IAAC;QACjF,iEAAK;QAAA,+EAA0E;QAAA,qEAAS;QAAA,4DAAW;QAEvG,qFAA0B;QAEA,+IAAS,cAAU,aAAa,CAAC,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAE9E,6EAAkE;QAA5C,+IAAS,cAAU,sBAAsB,CAAC,IAAC;QAAC,kFAAsB;QAAA,4DAAS;QAWjH,2EAA2C;QASH,4QAAgN;QAAA,4DAAI;QACpO,qEAAoB;QAEpB,2EAAsB;QAEd,sFACJ;QAAA,4DAAM;QACN,2EAAsB;QACb,4IAAS,yBAAqB,IAAC;QAChC,gFAAwC;QAG5B,sEAA2D;QAC/D,4DAAM;QACN,2EAA2C;QACjB,+EAAmB;QAAA,4DAAS;QAElD,yEAA6B;QAAQ,wEAAY;QAAA,4DAAS;QAOlF,2EAAsB;QAEd,4EAEJ;QAAA,4DAAM;QACN,2EAAsB;QACkF,sJAAU,wBAAoB,IAAC;QAAnI,4DAAqJ;QAErJ,6EAA+E;QAAA,wEAAY;QAAA,4DAAQ;QACnG,yEAAgB;QAAA,yFAA6B;QAAA,4DAAI;QACjD,yEAAY;QAAA,uHAA2D;QAAA,4DAAI;QAInF,iEAAM;QAIV,4DAAM;;;QArEU,0DAA0B;QAA1B,kFAA0B;;;;;;;;;;;;;;;;;;;ACbP;AACvD,sEAAsE;AACU;;;AAEhF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;KAC3B;IACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,wFAAkB,EAAE;IACzD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAHtB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEX,oBAAoB,oFAFrB,yDAAY;;;;;;;;;;;;;;;;;;;;;;ACnBuB;AACmB;AACF;AAET;AACA;AACA;;AAqBhD,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GAdb;YACL,yDAAY;YACZ,yEAAoB;YACpB,uDAAW;YACX,+DAAmB;YACnB,iEAAa;YACb,iEAAa;YACb,iEAAa;SAChB;mIAMQ,aAAa,cAblB,yDAAY;QACZ,yEAAoB;QACpB,uDAAW;QACX,+DAAmB;QACnB,iEAAa;QACb,iEAAa;QACb,iEAAa;;;;;;;;;;;;;;;;;;;;;ACrB2D;AACrB;;;;;;;;ICGvD,+EAAkE;IAAnC,uSAAS,iBAAU,IAAC;IAAe,gEAAK;IAAA,4DAAW;;;IAuB9E,wEAA0C;IAAA,uDAAa;IAAA,4DAAI;;;IAAjB,0DAAa;IAAb,0FAAa;;ADlBxD,MAAM,kBAAkB;IAuB3B,YAA4C,IAAS,yCAAwC;QAAjD,SAAI,GAAJ,IAAI,CAAK;QAjBrD,gBAAW,GAAW,EAAE,CAAC;QAGzB,uCAAuC;QAG7B,YAAO,GAAsB,IAAI,uDAAY,EAAO,CAAC;QACrD,kBAAa,GAAsB,IAAI,uDAAY,EAAO,CAAC;QAC3D,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;QAK1C,iBAAY,GAAG,KAAK,CAAC;QAMjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,IAAI,GAAG;YACR,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,EAAE;SACpB;QACD,0BAA0B;QAC1B,iEAAiE;QACjE,UAAU;QACV,6DAA6D;QAC7D,GAAG;QAEH,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;QAE/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAuB;QAC7C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,uBAAsB;QAEzC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SAC7C;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;SAC3B;QAED,gFAAgF;QAChF,yBAAyB;QACzB,KAAK;IAET,CAAC;IAED,IAAI;QAEA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;IAClB,kFAAkF;IAClF,UAAU;QACN,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,qBAAqB;aACxB;QACL,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC;IAED,UAAU;QACN,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;;oFAhGQ,kBAAkB,kEAuBP,qEAAe;gHAvB1B,kBAAkB;QCT/B,yEAAoC;QAIhC,wHAAkF;QAClF,oEAAgE;QAChE,wEAAsB;QAAA,uEAAY;QAAA,4DAAK;QACvC,oEAAG;QAAA,uDAAQ;QAAA,4DAAI;QAEf,2EAAyI;QAA/C,wLAAsB;QAAhH,4DAAyI;QAEzI,2EAAiJ;QAA/C,wLAAsB;QAAxH,4DAAiJ;QAGjJ,4EAAkC;QACb,kFAAsB;QAAA,4DAAS;QAGpD,0EAA0B;QAE2B,2IAAS,eAAW,IAAC;QAClE,wEACJ;QAAA,4DAAS;QAET,8EAAyI;QAAnH,2IAAS,UAAM,IAAC;QAClC,sEACJ;QAAA,4DAAS;QACT,6GAA2D;QAE/D,4DAAM;;QAzBK,0DAAkB;QAAlB,kFAAkB;QAG1B,0DAAQ;QAAR,yEAAQ;QAE+E,0DAAsB;QAAtB,iFAAsB;QAEd,0DAAsB;QAAtB,iFAAsB;QAS5G,0DAA0B;QAA1B,uFAA0B;QAIK,0DAAyE;QAAzE,6IAAyE;QAG3F,0DAAmB;QAAnB,mFAAmB;;;;;;;;;;;;;;;;;;AC3B0C;AACjB;;;AAOlE,MAAM,eAAe;IAQxB,YAAmB,SAAwC;IAEvD,2DAA2D;IACf,IAAS;QAHtC,cAAS,GAAT,SAAS,CAA+B;QAGX,SAAI,GAAJ,IAAI,CAAK;QAT/C,aAAQ,GAAG,IAAI,uDAAY,EAAO,CAAC;QACnC,eAAU,GAAG,IAAI,uDAAY,EAAO,CAAC;QAW3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;IACR,CAAC;IAGD,EAAE;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;;8EA5BQ,eAAe,uMAWA,qEAAe;6GAX9B,eAAe;QCP5B,yEAAsD;QAElB,uDAAU;QAAA,4DAAK;QAGnD,yEAAyC;QAGlC,uDAAQ;QAAA,4DAAI;QAGnB,yEAAqD;QAE3B,uIAAS,WAAO,IAAC;QACnC,+DACJ;QAAA,4DAAS;QAET,4EAAuE;QAAjD,uIAAS,QAAI,IAAC;QAChC,iEACJ;QAAA,4DAAS;;QAjBuB,0DAAU;QAAV,2EAAU;QAMvC,0DAAQ;QAAR,yEAAQ;;;;;;;;;;;;;;;;;;ACTgE;;;;;IAU3E,uEAAkH;IAAtC,uRAAS,iBAAU,IAAC;IAAkB,uEAA0B;IAAA,mEAAQ;IAAA,4DAAI;;AAGrJ,MAAM,gBAAgB;IA2BzB;QAzBA,iBAAY,GAAY,KAAK,CAAC;QAIpB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;IAqB9B,CAAC;IAnBjB,WAAW;QACP,QAAQ,CAAC;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QAEL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAID,QAAQ;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;YAEzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAClC,CAAC;;gFAlCQ,gBAAgB;8GAAhB,gBAAgB;QALd,uEAAsF;QAAvC,mIAAS,eAAW,IAAC;QAAkB,uEAA0B;QAAA,+DAAI;QAAA,4DAAI;QACnI,uEAAwF;QAAzC,mIAAS,iBAAa,IAAC;QAAkB,uEAA0B;QAAA,iEAAM;QAAA,4DAAI;QAC5H,wGAA4J;;QAAjI,0DAA0B;QAA1B,0FAA0B;;;;;;;;;;;;;;;;;;;;;ACVe;AAEC;AACT;;;;AAWzD,MAAM,wBAAwB;IAmBjC,YACY,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;QAdvB,QAAG,GAAG,yEAAkB,CAAC;QACtB,cAAS,GAAG,IAAI,uDAAY,EAAO,CAAC;QACpC,gBAAW,GAAG,IAAI,uDAAY,EAAE,CAAC;QAevC,WAAW;IACf,CAAC;IAdD,MAAM,CAAC,MAAW;QACd,WAAW;QACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,WAAW;QACX,mDAAmD;IACvD,CAAC;IAWM,OAAO,CAAC,IAAS;QACrB,YAAY;QAEX,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM;YACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,8DAA8D;QAE9D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YAErB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAEnE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAEzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAElE;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAGD,MAAM,CAAC,EAAO;QACV,WAAW;QAEX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qEAAe,EAAE;YACjD,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAG1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,eAAe;YACf,4EAA4E;YAE5E,uCAAuC;YACvC,wEAAwE;YAExE,kBAAkB;YAElB,4DAA4D;YAC5D,WAAW;YAEX,2BAA2B;YAC3B,iCAAiC;YACjC,QAAQ;YACR,GAAG;QAIP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,QAAQ;IACR,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;;gGAlGQ,wBAAwB;sHAAxB,wBAAwB;QAHtB,iFAA2E;QAA9D,mKAAa,mBAAe,IAAC;QAAiC,4DAAc;;QAA9C,0EAAa;;;;;;;;;;;;;;;;;;ACXmB;AACjB;;;AAOlE,MAAM,cAAc;IAOvB,YAAmB,SAAuC;IACtD,2DAA2D;IACf,IAAS;QAFtC,cAAS,GAAT,SAAS,CAA8B;QAEV,SAAI,GAAJ,IAAI,CAAK;QAN/C,eAAU,GAAG,IAAI,uDAAY,EAAO,CAAC;QAQ3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,+BAA+B;IACnC,CAAC;IAED,QAAQ;IAER,CAAC;IAED,qBAAqB;IACrB,4DAA4D;IAC5D,GAAG;IAEH,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;;4EAzBQ,cAAc,uMASC,qEAAe;4GAT9B,cAAc;QCR3B,yEAA6C;QAEnB,gEAAK;QAAA,4DAAK;QAChC,oEAAG;QAAA,uDAAQ;QAAA,4DAAI;QAIX,4EAAuF;QAAjE,sIAAS,WAAO,IAAC;QACnC,+DACJ;QAAA,4DAAS;;QANV,0DAAQ;QAAR,yEAAQ;;;;;;;;;;;;;;;;;;ACIR,MAAM,iBAAiB;IAG1B;QADA,gBAAW,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEjB,QAAQ;IACR,CAAC;;kFANQ,iBAAiB;+GAAjB,iBAAiB;QCL9B,4EAAyC;QAsBT,8DACkH;QADlH,yEACkH;QAE9G,6LAQpC;QAAA,4DAAQ;QACwB,oEAAG;QAGH,sEAC0G;QAClG,4DAAO;QACf,qEAAwE;QACxE,gFAAyE;QACzE,sEAA4D;QACpD,4DAAW;QAEnB,uEAA4N;QACxN,4DAAI;QACR,0EACoC;QACpC,qEAAG;QACH,uEAEiH;QAC7G,4DAAI;QACR,0EACwF;QAGxF,qEAAG;QACH,uEAG6B;QACzB,4DAAI;QACR,uEAC+B;QAO/B,qEAAG;QACH,uEAEwH;QACpH,4DAAI;QACR,uEACmB;QACnB,qEAAG;QACH,uEAG2D;QACvD,4DAAI;QACR,0EAAgI;QAChI,4DAAI;QAWpB,+DAAgD;QAAhD,2EAAgD;QAML,wDAA2C;QAAA,4DAAI;;QAA/C,2DAA2C;QAA3C,qHAA2C;;;;;;;;;;;;;;;;;;;;AClG/F,MAAM,oBAAoB;IAE/B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFALU,oBAAoB;kHAApB,oBAAoB;QCLjC,2EAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDgB;AAC8B;AACQ;AACD;AACH;AACL;AAC7B;AACa;AACL;AACW;AACT;AACF;AACiB;AAEH;AACM;AACD;AACE;AACjB;AACgB;AACH;AACH;AACA;AACA;AAGd;AACQ;;AAE/D,MAAM,UAAU,GAAG;IACf,sFAAoB;IACpB,8FAAsB;IACtB,6FAAiB;IACjB,0FAAgB;IAChB,qFAAe;CAClB,CAAC;AA8BK,MAAM,aAAa;;0EAAb,aAAa;2GAAb,aAAa;+GA1Bb;YACL,uEAAa;YACb,6EAAe;YACf,4EAAe;YACf,8EAAa;YACb,0DAAY;YACZ,0DAAY;YACZ,uEAAsB;YACtB,kEAAa;YACb,6EAAkB;YAClB,oEAAc;YACd,kEAAa;YACb,mFAAqB;YACrB,sEAAqB;YACrB,6EAAe;YACf,2EAAc;YACd,wEAAa;YACb,wEAAa;YACb,wEAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,kEAAa;YACb,kEAAW;SACd;oIAGQ,aAAa,mBAnCtB,sFAAoB;QACpB,8FAAsB;QACtB,6FAAiB;QACjB,0FAAgB;QAChB,qFAAe,aAMX,uEAAa;QACb,6EAAe;QACf,4EAAe;QACf,8EAAa;QACb,0DAAY;QACZ,0DAAY;QACZ,uEAAsB;QACtB,kEAAa;QACb,6EAAkB;QAClB,oEAAc;QACd,kEAAa;QACb,mFAAqB;QACrB,sEAAqB;QACrB,6EAAe;QACf,2EAAc;QACd,wEAAa;QACb,wEAAa;QACb,wEAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,kEAAa;QACb,kEAAW,aA/Bf,sFAAoB;QACpB,8FAAsB;QACtB,6FAAiB;QACjB,0FAAgB;QAChB,qFAAe;;;;;;;;;;;;;;;;;AC5BZ,MAAM,eAAe;IAIxB;QAFA,gBAAW,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAI/C,CAAC;IAEH,QAAQ;IACR,CAAC;;8EATU,eAAe;6GAAf,eAAe;QCO5B,4EAAgD;QAmBxB,8DACkH;QADlH,yEACkH;QAE9G,6LAQ5B;QAAA,4DAAQ;QACgB,oEAAG;QAGH,sEACkH;QAClG,4DAAO;QACvB,qEAAwE;QACxE,gFAAyE;QACzE,sEAA4D;QAC5C,4DAAW;QAE3B,uEAA4N;QAChN,4DAAI;QAChB,0EAC4C;QAC5C,qEAAG;QACH,uEAEyH;QAC7G,4DAAI;QAChB,0EACgG;QAGhG,qEAAG;QACH,uEAGqC;QACzB,4DAAI;QAChB,uEACuC;QAOvC,qEAAG;QACH,uEAEgI;QACpH,4DAAI;QAChB,uEAC2B;QAC3B,qEAAG;QACH,uEAGmE;QACvD,4DAAI;QAChB,0EAAgI;QACxH,4DAAI;QAUpB,+DAAgD;QAAhD,2EAAgD;QAOhC,wDAEJ;QAAA,4DAAI;;QAFA,2DAEJ;QAFI,uHAEJ;;;;;;;;;;;;;;;;;;;;;;;;AC7GrB,MAAM,sBAAsB;IAEjC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;4FALU,sBAAsB;oHAAtB,sBAAsB;QCKnC,yEAAyB;QAErB,0EAA6B;QAQjC,4DAAM;;;;;;;;;;;;;;;;;;;;;;ACjBsG;;;;;;;ICwBhF,qEAA2C;IAEnC,qEAAgE;IAChE,uDACJ;IAAA,4DAAI;;;IAH2B,0DAA2B;IAA3B,8FAA2B;IAC1B,0DAAmB;IAAnB,qJAAmB;IAC/C,0DACJ;IADI,wFACJ;;;IALR,yEAAgF;IAC5E,qHAKK;IACT,4DAAK;;;IANoB,0DAAoB;IAApB,yFAAoB;;;;IARjD,qEAAkD;IAGtC,oEAAwC;IAC5C,4DAAM;IACN,uEAAM;IAAA,uDAAY;IAAA,4DAAO;IAE7B,gHAOK;IACT,4DAAK;;;IAd8B,0DAA0B;IAA1B,6FAA0B;IAAC,6MAA0G;IAEvJ,0DAAkB;IAAlB,oJAAkB;IAErB,0DAAY;IAAZ,4EAAY;IAEjB,0DAAkC;IAAlC,iGAAkC;;ADdxD,MAAM,iBAAiB;IAgB5B;IACE,kCAAkC;IAC1B,MAAc;IACtB,wCAAwC;IACxC,iBAAoC,EACpC,KAAmB;QAHX,WAAM,GAAN,MAAM,CAAQ;QAfxB,UAAK,GAAQ,EAAE,CAAC;QAKhB,mBAAc,GAAG,sCAAsC,CAAC;QACxD,eAAU,GAAmB,EAAE,CAAC;QAkChC,eAAU,GAAG,KAAK,CAAC;QAjBjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAExD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,oDAAoD;QACpD,qJAAqJ;QACrJ,qBAAqB;QACrB,QAAQ;QACR,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,qEAAqE;QAC/F,uDAAuD;QACvD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,8DAA6D;IACzF,CAAC;IAED,QAAQ;IACR,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAC7C,CAAC;IAED,MAAM;QACJ,+CAA+C;QAC/C,4CAA4C;QAC5C,uCAAuC;QACvC,oCAAoC;QACpC,yCAAyC;QACzC,2CAA2C;QAC3C,8CAA8C;QAC9C,4BAA4B;QAC5B,+BAA+B;QAC/B,qCAAqC;QACrC,gCAAgC;QAChC,KAAK;QAEL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,QAAa;QAE1B,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,wCAAwC;YACxC,sCAAsC;YACtC,0DAA0D;YAC1D,6BAA6B;YAC7B,qCAAqC;YAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;gBAClC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACnB,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,uCAAuC,CAAC;wBAC5D,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;wBACjC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBAER,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,gBAAgB,CAAC;wBACpC,YAAY,CAAC,IAAI,GAAG,mCAAmC,CAAC;wBACxD,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC;wBAC3B,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,WAAW,CAAC;wBAC/B,YAAY,CAAC,IAAI,GAAG,uCAAuC,CAAC;wBAC5D,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC;wBAC5B,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,sCAAsC,CAAC;wBAC3D,YAAY,CAAC,IAAI,GAAG,eAAe,CAAC;wBACpC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,qCAAqC,CAAC;wBAC1D,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;wBACjC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,IAAI,GAAG,4CAA4C,CAAC;wBACjE,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC;wBACrC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,uCAAuC,CAAC;wBAC5D,YAAY,CAAC,IAAI,GAAG,mBAAmB,CAAC;wBACxC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,uCAAuC,CAAC;wBAC5D,YAAY,CAAC,IAAI,GAAG,uBAAuB,CAAC;wBAC5C,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,IAAI,GAAG,kCAAkC,CAAC;wBACvD,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC1B,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;wBACpB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,mCAAmC,CAAC;wBACxD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;wBACjC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,sCAAsC,CAAC;wBAC3D,YAAY,CAAC,IAAI,GAAG,mBAAmB,CAAC;wBACxC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,sCAAsC,CAAC;wBAC3D,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;wBAC9B,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,uCAAuC,CAAC;wBAC5D,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC;wBAC/B,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,+CAA+C,CAAC;wBACpE,YAAY,CAAC,IAAI,GAAG,kBAAkB,CAAC;wBACvC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,qCAAqC,CAAC;wBAC1D,YAAY,CAAC,IAAI,GAAG,eAAe,CAAC;wBACpC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,2CAA2C,CAAC;wBAChE,YAAY,CAAC,IAAI,GAAG,cAAc,CAAC;wBACnC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,6CAA6C,CAAC;wBAClE,YAAY,CAAC,IAAI,GAAG,iBAAiB,CAAC;wBACtC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,IAAI,GAAG,mCAAmC,CAAC;wBACxD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;wBACjC,YAAY,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI,YAAY,GAAG,IAAI,kEAAY,EAAE,CAAC;wBACtC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;wBACrB,YAAY,CAAC,GAAG,GAAG,kBAAkB,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,kCAAkC,CAAC;wBACvD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;wBACjC,YAAY,CAAC,QAAQ,GAAG,EAAE;wBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,MAAM;oBAER;wBACE,MAAM;iBACT;aAEF;SACF;aACI;SAEJ;QAED,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC;YAEnC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACrC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;;kFA5RU,iBAAiB;+GAAjB,iBAAiB;QCb9B,yEAA2B;QASgB,+DAAI;QAAA,4DAAK;QAWhC,2GAeK;QA6NT,4DAAa;;QA5OW,0DAAe;QAAf,mFAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBsD;AAExC;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICyJpD,2EAAsB;IACP,8VAAqB,iCAAyB,IAAC;IAAC,6DAAY;IAE3E,sEAA8B;;;;IAQ9B,2EAAkD;IACtB,2VAAa,mBAAW,IAAC,4SAAmB,oBAAY,IAA/B;IAAiC,6DAAyB;;;;IAG/G,2EAAkD;IACjC,gVAAa,mBAAW,IAAC,mSAAiB,iCAAyB,IAA1C,qSAAgE,0BAAkB,IAAlF;IAAoF,6DAAc;;;;IAG5I,2EAA0E;IACzB,iWAAkB,oBAAY,IAAC;IAAC,6DAAqB;;;IAA9E,2DAAwB;IAAxB,0FAAwB;;;;IAGhD,2EAA0C;IAC3B,wVAAkB,oBAAY,IAAC,mSAAqB,0BAAkB,IAAvC;IAAyC,6DAAY;;;IAbnG,4IAEM;IAEN,4IAEM;IAEN,6IAEM;IAEN,6IAEM;IACN,sEAA8B;;;IAfxB,+FAAyB;IAIzB,2DAAyB;IAAzB,6FAAyB;IAIzB,2DAAiD;IAAjD,gIAAiD;IAIjD,2DAAiB;IAAjB,uFAAiB;;;;IAWvB,2EAAqD;IAC9B,kWAAgB,mCAA2B,IAAC;IAAC,6DAAoB;;;;IAGxF,2EAAoD;IACO,uWAAoB,sBAAc,IAAC,0SAAmB,wBAAgB,IAAnC;IAAqC,6DAAuB;;;IAAhI,2DAAgC;IAAhC,kGAAgC;;;IAL1D,4IAEM;IAEN,4IAEM;IAEN,sEAA8B;;;IARxB,kGAA4B;IAI5B,2DAA2B;IAA3B,iGAA2B;;;;IAYjC,2EAAoD;IAC7B,8WAAsB,kCAA0B,IAAC;IAAgD,6DAAoB;;;IAAnE,2DAA8C;IAA9C,gHAA8C;;;;IAOvH,2EAAmD;IACI,uWAAkB,8BAAsB,IAAC,wSAAmB,wBAAgB,IAAnC;IAAqC,6DAAqB;;;IAAlI,2DAA8B;IAA9B,gGAA8B;;;IATtD,4IAEM;IAMN,4IAEM;IAEN,sEAA8B;;;IAZxB,iGAA2B;IAQ3B,2DAA0B;IAA1B,gGAA0B;;;;IAahC,2EAAkD;IAChC,4WAAuB,8CAAsC,IAAC,ySACzC,2BAAmB,IADsB,+SAEtC,8BAAsB,IAFgB,2SAGxC,4BAAoB,IAHoB,qSAI3C,yBAAiB,IAJ0B,uSAK1C,0BAAkB,IALwB;IAKtB,6DAAe;;;;IAGzE,2EAAoD;IACjC,6WAAuB,mCAA2B,IAAC,gTAC3B,8BAAsB,IADK,4SAE7B,4BAAoB,IAFS,4SAG7B,4BAAoB,IAHS,sSAIhC,yBAAiB,IAJe,wSAK/B,0BAAkB,IALa;IAKX,6DAAgB;;;;IAG3E,2EAAwD;IAC7B,qXAAuB,mCAA2B,IAAC,kTAC9B,2BAAmB,IADW,wTAE3B,8BAAsB,IAFK,oTAG7B,4BAAoB,IAHS,oTAI7B,4BAAoB,IAJS,8SAKhC,yBAAiB,IALe,gTAM/B,0BAAkB,IANa;IAMX,6DAAwB;;;;IAG3F,2EAAsD;IAE5B,0WAAqB,2BAAmB,IAAC,uTACjB,8BAAsB,IADL,2SAEvB,wBAAgB,IAFO;IAEL,6DAAuB;;;IAH3D,2DAA4B;IAA5B,8FAA4B;;;;IAMtD,2EAAoD;IAC7B,uWAAqB,2BAAmB,IAAC,oTACjB,8BAAsB,IADL,0SAEtB,yBAAiB,IAFK,gTAGnB,4BAAoB,IAHD;IAGG,6DAAoB;;;;IAGvF,2EAAqD;IAC5B,mXAAuB,8CAAsC,IAAC,0TACvC,mCAA2B,IADY,gTAEzC,2BAAmB,IAFsB,sTAGtC,8BAAsB,IAHgB,kTAIxC,4BAAoB,IAJoB,4SAK3C,yBAAiB,IAL0B,8SAM1C,0BAAkB,IANwB;IAMtB,6DAAsB;;;;IAGvF,2EAAkD;IAC5B,sWAAqB,2BAAmB,IAAC,mTACd,8BAAsB,IADR,+SAEhB,4BAAoB,IAFJ,+SAGnB,4BAAoB,IAHD,2SAIlB,0BAAkB,IAJA;IAIE,6DAAmB;;;IAzDpF,6IAOM;IAEN,6IAOM;IAEN,6IAQM;IAEN,6IAKM;IAEN,6IAKM;IAEN,6IAQM;IAEN,6IAMM;IAEN,sEAA8B;;;IA5DxB,6FAAyB;IASzB,2DAA2B;IAA3B,+FAA2B;IAS3B,2DAA+B;IAA/B,mGAA+B;IAU/B,2DAA6B;IAA7B,iGAA6B;IAO7B,2DAA2B;IAA3B,+FAA2B;IAO3B,2DAA4B;IAA5B,gGAA4B;IAU5B,2DAAyB;IAAzB,6FAAyB;;;;IAiB/B,2EAAsD;IAC/B,mWAAgB,4BAAoB,IAAC;IAAC,6DAAoB;;;;IAGjF,2EAAqD;IAC5B,sWAAgB,4BAAoB,IAAC;IAAC,6DAAsB;;;;IAGrF,2EAAsD;IAC5B,wWAAgB,6BAAoB,IAAC;IAAC,6DAAuB;;;IATvF,6IAEM;IAEN,6IAEM;IAEN,6IAEM;IAEN,sEAA8B;;;IAZP,iGAA6B;IAI7B,2DAA4B;IAA5B,gGAA4B;IAI5B,2DAA6B;IAA7B,iGAA6B;;;;IA0BhD,0FAAiG;IAAtC,qXAAgB,6BAAoB,IAAC;IAAC,6DAAqB;;;;IAEtH,yFAAiJ;IAAxF,mXAAgB,6BAAoB,IAAC,sUAAuB,mCAA0B,IAAjD;IAAmD,6DAAoB;;;;IAIrK,kGAAmK;IAAxF,qYAAgB,6BAAoB,IAAC,wVAAuB,mCAA0B,IAAjD;IAAmD,6DAA6B;;;;IAEhM,2FAA+H;IAAtC,uXAAgB,6BAAoB,IAAC;IAAC,6DAAsB;;;IAAvF,6FAA0B;;;IAT5F,2EAAsB;IAClB,4KAAsH;IAEtH,0KAAqK;IAIrK,4LAAgM;IAEhM,8KAAqJ;IAGzJ,6DAAM;IAEN,sEAA8B;;;IAbL,2DAAoC;IAApC,wGAAoC;IAErC,2DAAmC;IAAnC,uGAAmC;IAI1B,2DAA4C;IAA5C,gHAA4C;IAEnD,2DAAsC;IAAtC,0GAAsC;;;;IAchE,2EAAwD;IAClC,kXAAuB,oCAA2B,IAAC;IAAC,6DAAmB;;;;IAG7F,2EAAuD;IAE7B,sXAAuB,sDAA6C,IAAC,iTACjD,2BAAkB,IAD+B;IAE3F,6DAAuB;;;IAHD,2DAA8C;IAA9C,iHAA8C;;;IALxE,6IAEM;IAEN,6IAKM;IAEN,sEAA8B;;;IAXxB,mGAA+B;IAI/B,2DAA8B;IAA9B,kGAA8B;;;;IA9MhD,qFAAuI;IAAxH,qVAAqB,6BAAoB,IAAC;IAIrD,+EAAsD;IAClD,+IAKc;IAClB,6DAAU;IAGV,+EAAoD;IAChD,+IAkBc;IAClB,6DAAU;IAGV,+EAAsD;IAClD,+IAWc;IAClB,6DAAU;IAGV,+EAAoD;IAChD,+IAec;IAClB,6DAAU;IAIV,+EAAoD;IAChD,iJA+Dc;IAClB,6DAAU;IAIV,gFAAqD;IACjD,iJAec;IAClB,6DAAU;IAgBV,gFAAkD;IAC9C,iJAiBc;IAClB,6DAAU;IAIV,gFAAqD;IACjD,iJAcc;IAClB,6DAAU;;;IAvN4C,2FAA0B;;;IAgQpF,2EAA6E;IACzE,mFAA6C;IACjD,6DAAM;;AD5YC,MAAM,gBAAgB;IA0DzB,YAAoB,OAAe;IAC/B,yBAAyB;IACjB,YAA6B,EAC7B,KAA4B,EAC5B,QAAkB,EAClB,KAAqB,EACrB,cAAoC;QAN5B,YAAO,GAAP,OAAO,CAAQ;QAEvB,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,UAAK,GAAL,KAAK,CAAuB;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAClB,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAsB;QA9DhD,aAAQ,GAAQ,CAAC,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,KAAK,CAAC;QAChC,UAAK,GAAY,KAAK,CAAC;QAEvB,eAAU,GAAY,IAAI,CAAC;QAG3B,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QAEjC,mCAAmC;QACnC,8BAA8B;QAC9B,0BAA0B;QAE1B,iBAAY,GAAQ,aAAa,CAAC;QAElC,oBAAe,GAAQ,CAAC,CAAC;QACzB,oBAAe,GAAY,KAAK,CAAC;QAOjC,8BAAyB,GAAY,KAAK,CAAC;QAE3C,qCAAgC,GAAY,KAAK,CAAC;QAElD,4BAAuB,GAAY,KAAK,CAAC;QACzC,sCAAiC,GAAY,KAAK,CAAC;QACnD,yBAAoB,GAAY,KAAK,CAAC;QACtC,2BAAsB,GAAY,KAAK,CAAC;QAExC,kBAAa,GAAY,KAAK,CAAC;QAC/B,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAY,KAAK,CAAC;QACnC,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAE7B,2BAAsB,GAAY,IAAI,CAAC;QAEvC,cAAS,GAAQ;YACb,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,EAAE;SACZ,CAAC;QA+SF,oBAAe,GAAY,IAAI,CAAC;QAChC,yBAAoB,GAAY,KAAK,CAAC;QACtC,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAQ,KAAK,CAAC;QAC/B,iBAAY,GAAG,KAAK,CAAC;QACrB,sBAAiB,GAAG,KAAK,CAAC;QAvStB,IAAI,CAAC,KAAK,CAAC,aAAa;aACnB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,OAAO,mCAAQ,MAAM,CAAC,IAAI,GAAK,MAAM,CAAE,CAAC;YAC7C,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACrD,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC/C,CAAC,CAAC,CAAC;QAGP,+DAA+D;QAC/D,wEAAwE;QACxE,yDAAyD;QACzD,GAAG;QAEH,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,yEAAsB,EAAE;YAEjD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,IAAI,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;SAEzC;QAED,gDAAgD;IACpD,CAAC;IAGD,QAAQ;QAEJ,WAAW;QACX,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YAE/C,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;SACtC;QAED,QAAQ;aACH,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,wBAAwB,EAAE;YAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,sBAAsB,EAAE;YACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,wBAAwB,EAAE;YAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,gBAAgB,EAAE;YACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,6BAA6B;YAC7B,6BAA6B;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;QAED,UAAU;aACL,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,eAAe,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;SACrC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,mBAAmB,EAAE;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;SACrC;QAGD,UAAU;aACL,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,0BAA0B,EAAE;YAC7D,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;SACtC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,6BAA6B,EAAE;YAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;SACtC;QAED,SAAS;aACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,eAAe,EAAE;YAElD,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,kBAAkB,EAAE;YACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;QAED,SAAS;aACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,uBAAuB,EAAE;YAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,+BAA+B;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;YACjC,oCAAoC;SACvC;QAED,kBAAkB;aACb,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,qBAAqB,EAAE;YAExD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAE7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;SACrC;QAED,iBAAiB;aACZ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,4BAA4B,EAAE;YAC/D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;SACrC;QAED,0BAA0B;aACrB,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,6BAA6B,EAAE;YAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;SACrC;QAED,SAAS;aACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,yBAAyB,EAAE;YAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,+BAA+B;YAC/B,2BAA2B;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,4BAA4B,EAAE;YAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,wBAAwB,EAAE;YAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,2BAA2B,EAAE;YAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,2BAA2B;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,wBAAwB,EAAE;YAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,0BAA0B,EAAE;YAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,uBAAuB,EAAE;YAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;SACpC;QAID,eAAe;aACV,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,uBAAuB,EAAE;YAE1D,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;YACnC,8BAA8B;YAC9B,sBAAsB;YACtB,0BAA0B;YAE1B,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;SAClC;QAED,UAAU;aACL,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YAEpD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YAClC,+BAA+B;YAC/B,sBAAsB;YACtB,yBAAyB;YAEzB,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;SAClC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,wBAAwB,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;SAClC;QAED,SAAS;QACT,2BAA2B;QAC3B,yEAAyE;QAEzE,2CAA2C;QAC3C,qCAAqC;QACrC,2BAA2B;QAC3B,gCAAgC;QAEhC,qCAAqC;QACrC,GAAG;QAEH,mCAAmC;aAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,8BAA8B,EAAE;YAEjE,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;YAE3C,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;SAClC;IAEL,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAU;QACb,8BAA8B;IAClC,CAAC;IAED,UAAU;QACN,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACvD,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YAC7B,IAAI,UAAU,EAAE;gBACZ,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACjC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC;aAC/C;SACJ;aAAM;YACH,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;YAC9C,IAAI,UAAU,EAAE;gBACZ,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBAC7B,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;aAClC;SACJ;IACL,CAAC;IAED,UAAU;QACN,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB;QACd,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAUD,oBAAoB,CAAC,GAAQ;QACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,iCAAiC;QACjC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAE7B,cAAc;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACJ,EAAE;IACN,CAAC;IAED,8BAA8B,CAAC,CAAM;QACjC,QAAQ,CAAC;QACT,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yCAAyC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;SACtE;aACI;YACD,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;SACrD;IACL,CAAC;IAID,qCAAqC,CAAC,CAAM;QAExC,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yCAAyC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAE/E,CAAC;IAED,mBAAmB,CAAC,CAAM;QAEtB,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yCAAyC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,aAAa;QACb,cAAc;QACd,GAAG;QAEH,2CAA2C;QAE3C,yBAAyB;IAC7B,CAAC;IAED,SAAS;QACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IAGD,kBAAkB,CAAC,CAAM;QACrB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kCAAkC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhE,CAAC;IAKD,mBAAmB,CAAC,CAAM;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAEtC,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAEhD,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IAEjD,CAAC;IAED,eAAe;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAE9C,CAAC;IAED,gBAAgB;QAEZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IAGD,YAAY,CAAC,CAAM;QACf,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC;SAClD;aACI,IAAI,CAAC,CAAC,mBAAmB,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;SAC3C;aACI,IAAI,CAAC,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;SACnD;IACL,CAAC;IAGD,kBAAkB,CAAC,CAAM;QAErB,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;QAE/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,4BAA4B,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAE1D,CAAC;IAED,YAAY,CAAC,CAAM;QAEf,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC;QAEhC,IAAI,CAAC,CAAC,SAAS,IAAI,cAAc;YAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;aAEzC,IAAI,CAAC,CAAC,SAAS,IAAI,aAAa;YACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAExC,2CAA2C;QAC3C,wDAAwD;aAEnD,IAAI,CAAC,CAAC,SAAS,IAAI,sBAAsB;YAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC;QAErD,2CAA2C;QAC3C,4DAA4D;IAEhE,CAAC;IAGD,mBAAmB,CAAC,CAAM;QAEtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,uCAAuC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAGD,cAAc,CAAC,CAAM;QAEjB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAEtC,CAAC;IAED,cAAc;QAEV,QAAQ,CAAC;QACT,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,IAAI,SAAS,EAAE;YACzE,IAAI,YAAY,IAAI,wBAAwB,EAAE;gBAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;gBACjC,4BAA4B;aAC/B;iBACI,IAAI,YAAY,IAAI,0BAA0B,EAAE;gBACjD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;gBACjC,4BAA4B;aAC/B;iBACI,IAAI,YAAY,IAAI,6BAA6B,EAAE;gBACpD,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,iCAAiC,GAAG,KAAK,CAAC;gBAC/C,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;aACrC;iBACI,IAAI,YAAY,IAAI,8BAA8B,EAAE;gBACrD,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;gBAC9C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;aACrC;iBACI,IAAI,YAAY,IAAI,eAAe,EAAE;gBACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC7B;iBACI,IAAI,YAAY,IAAI,iBAAiB,EAAE;gBACxC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC9B;iBACI,IAAI,YAAY,IAAI,iBAAiB,EAAE;gBACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC7B;;gBAEG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SAChD;IACL,CAAC;IAID,YAAY;QACR,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,+CAA+C;IAEnD,CAAC;IAED,kBAAkB;QAEd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,iCAAiC;QACjC,+BAA+B;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IAGD,iBAAiB,CAAC,CAAM;QACpB,QAAQ,CAAC;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;QAEjC,aAAa;QACb,cAAc;QACd,GAAG;QACH,oBAAoB;QACpB,+CAA+C;QAE/C,yBAAyB;QACzB,IAAI,CAAC,SAAS,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,QAAQ;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;SACjB,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS;YACjC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;QAG9B,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kCAAkC,GAAG,CAAC,CAAC,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;SAErD;aACI;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,6BAA6B,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3H;QACD,4BAA4B;IAChC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,6BAA6B;QAC7B,6BAA6B;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,GAAG;QAGZ,4BAA4B;QAI5B,IAAI,GAAG,CAAC,KAAK,IAAI,2EAAkB,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;SACvC;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,yEAAgB,EAAE;YACpC,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;gBAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,6BAA6B;gBAE7B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;aAC5C;SACJ;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,0EAAiB,EAAE;YAErC,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI;gBACpC,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;iBACtD,IAAI,IAAI,CAAC,iCAAiC,IAAI,IAAI;gBACnD,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;iBAC1E;gBACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;aACrC;SACJ;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,2EAAkB,EAAE;YAGtC,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,EAAE;gBACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,yCAAyC;aAE5C;iBACI,IAAI,IAAI,CAAC,gCAAgC,IAAI,IAAI,EAAE;gBACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,gDAAgD;aACnD;iBACI;gBACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;aAChD;YAED,IAAI,CAAC,QAAQ,GAAG,2EAAkB,CAAC;SAItC;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,yEAAgB,EAAE;YAGpC,sCAAsC;YAEtC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,kBAAkB,EAAE;gBAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;aACpC;iBAEI;gBACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAE5B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;aACrC;SACJ;QAED,4CAA4C;QAC5C,0CAA0C;QAC1C,uCAAuC;QACvC,iDAAiD;QACjD,GAAG;aAEE,IAAI,GAAG,CAAC,KAAK,IAAI,0EAAiB,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,QAAQ,GAAG,0EAAiB,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;SAC3C;QACD,kDAAkD;QAClD,8CAA8C;QAC9C,qDAAqD;QACrD,GAAG;aAEE,IAAI,GAAG,CAAC,KAAK,IAAI,yEAAgB,EAAE;YAEpC,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC7B;iBACI,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC7B;iBACI;gBACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,iCAAiC;gBACjC,+BAA+B;gBAC/B,2BAA2B;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,yEAAgB,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;aAC/C;SACJ;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,uEAAc,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,uEAAc,CAAC;YAE/B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YAClC,sBAAsB;YACtB,8BAA8B;YAC9B,0BAA0B;YAE1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACpC,+CAA+C;SAClD;QAED,0CAA0C;QAC1C,sCAAsC;QACtC,2CAA2C;QAC3C,GAAG;QACH,4CAA4C;QAC5C,wCAAwC;QACxC,yCAAyC;QACzC,GAAG;QAEH,IAAI,IAAI,CAAC,yBAAyB,IAAI,KAAK;YACvC,IAAI,CAAC,gCAAgC,IAAI,KAAK,EAAG;YACjD,QAAQ,CAAC;YACT,qCAAqC;YACrC,eAAe;YACf,8CAA8C;YAC9C,GAAG;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;SAC3C;aACI;YACD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;YAC9C,8BAA8B;SACjC;IACL,CAAC;IAGD,SAAS,CAAC,QAAgB;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;;gFAh0BQ,gBAAgB;+GAAhB,gBAAgB;mEAwDd,yGAAsB;;;;;QCUrC,0EAA4C;QAEpC,sEAAS;QAAA,0EAAQ;QAAA,wDAAa;QAAA,6DAAS;QACvC,iEAAM;QACN,6EAA0B;QAChB,wDAAa;QAAA,6DAAO;QAE9B,2EAA2E;QAArE,uIAAS,wBAAoB,IAAC;QAChC,qEACJ;QAAA,6DAAO;QAEX,2EAAsB;QAGV,sEAAqF;QAEzF,6DAAM;QAKlB,sEAAqD;QAmDrD,oIA6PgB;QAGhB,+GAEM;QAIN,4EAA4E;QAG1C,wEAAoC;QAAA,iEAAI;QAAA,2EAAQ;QAAA,gEAAG;QAAA,6DAAS;QAAC,+DAAC;QAAA,6DAAM;QAC1F,4EAAwB;QACjB,8FAAiC;QAAA,6DAAI;QACxC,sEAAG;QAAA,oIAAuE;QAAA,6DAAI;QAGlF,4EAAuB;QAGqC,qIAAS,YAAQ,IAAC;QAAC,gEAAG;QAAA,6DAAI;QAC9E,+EAAsF;QAAvB,0IAAS,gBAAY,IAAC;QAAC,+DAAE;QAAA,6DAAS;;QAzV5F,2DAAa;QAAb,+EAAa;QAGpB,2DAAa;QAAb,+EAAa;QAmE8E,2DAAwB;QAAxB,yFAAwB;QAgQ9G,2DAAoD;QAApD,yHAAoD;;;;;;;;;;;;;;;;;;;;;;;AC1ZK;AACrB;;;;;;;;;ICIvD,8EAAkE;IAAnC,6SAAS,iBAAU,IAAC;IAAe,gEAAK;IAAA,4DAAW;;;IAgB9E,wEAA0C;IAAA,uDAAa;IAAA,4DAAI;;;IAAjB,0DAAa;IAAb,0FAAa;;ADVxD,MAAM,wBAAwB;IAmBjC,YAA4C,IAAS,EAAU,cAAoC;QAAvD,SAAI,GAAJ,IAAI,CAAK;QAAU,mBAAc,GAAd,cAAc,CAAsB;QAdnG,gBAAW,GAAW,EAAE,CAAC;QAIf,YAAO,GAAsB,IAAI,uDAAY,EAAO,CAAC;QACrD,kBAAa,GAAsB,IAAI,uDAAY,EAAO,CAAC;QAC3D,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;QAI1C,iBAAY,GAAG,KAAK,CAAC;QAKjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,IAAI,GAAG,0CAA0C,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAErC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SAC7C;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;SAC3B;QAEA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAEjD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,IAAI;QACA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;QACN,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;QACL,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC;IAED,UAAU;QACN,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;;gGA5EQ,wBAAwB,kEAmBb,qEAAe;sHAnB1B,wBAAwB;QCVrC,yEAAoC;QAIhC,8HAAkF;QAClF,oEAAgE;QAChE,wEAAsB;QAAA,2EAAgB;QAAA,4DAAK;QAC3C,oEAAG;QAAA,uDAAQ;QAAA,4DAAI;QACf,2EAA8I;QAA/C,8LAAsB;QAArH,4DAA8I;QAG9I,yEAA0B;QAE2B,gJAAS,eAAW,IAAC;QAClE,wEACJ;QAAA,4DAAS;QAET,6EAAyI;QAAnH,iJAAS,UAAM,IAAC;QAClC,sEACJ;QAAA,4DAAS;QACT,kHAA2D;QAE/D,4DAAM;;QAlBK,0DAAkB;QAAlB,kFAAkB;QAG1B,0DAAQ;QAAR,yEAAQ;QAC4C,0DAA2B;QAA3B,wFAA2B;QAKtE,0DAA0B;QAA1B,uFAA0B;QAIK,0DAAyE;QAAzE,6IAAyE;QAG3F,0DAAmB;QAAnB,mFAAmB;;;;;;;;;;;;;;;;;;ACdzC,MAAM,gBAAgB;IAE3B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;gFALU,gBAAgB;8GAAhB,gBAAgB;QCP7B,oEAAG;QAAA,0EAAe;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;ACCmD;;;;;;ICErE,yEAAyD;IACS,uDAAgB;IAAA,4DAAK;IACnF,yEAAiD;IACqB,uDAAc;IAAA,4DAAQ;IAE5F,gEAAI;IACR,4DAAM;;;IAL4D,0DAAgB;IAAhB,0FAAgB;IAER,0DAAc;IAAd,wFAAc;;ADGrF,MAAM,uBAAuB;IAIhC,YAAmB,SAAgD,EAAU,MAAc;IACvF,2DAA2D;IACf,IAAS;QAFtC,cAAS,GAAT,SAAS,CAAuC;QAAU,WAAM,GAAN,MAAM,CAAQ;QAE3C,SAAI,GAAJ,IAAI,CAAK;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,QAAQ;IACR,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;;8FAjBQ,uBAAuB,6TAMR,qEAAe;qHAN9B,uBAAuB;QCTpC,yEAAoC;QAChC,oEAA4E;QAC5E,wEAA2B;QAAA,iFAAsB;QAAA,4DAAK;QACtD,mHAMM;QAEN,4EAA4F;QAAtE,+IAAS,WAAO,IAAC;QACnC,+DACJ;QAAA,4DAAS;;QAVoC,0DAAU;QAAV,gFAAU;;;;;;;;;;;;;;;;;;ACH+B;AACjB;;;AAOlE,MAAM,gBAAgB;IAOzB,YAAmB,SAAyC;IACxD,2DAA2D;IACf,IAAS;QAErD,oBAAoB;QAJL,cAAS,GAAT,SAAS,CAAgC;QAEZ,SAAI,GAAJ,IAAI,CAAK;QAN/C,eAAU,GAAG,IAAI,uDAAY,EAAO,CAAC;QAU3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,+BAA+B;IACnC,CAAC;IAED,QAAQ;IAER,CAAC;IAED,qBAAqB;IACrB,4DAA4D;IAC5D,GAAG;IAEH,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;;gFA3BQ,gBAAgB,uMASD,qEAAe;8GAT9B,gBAAgB;QCR7B,yEAA6C;QAElB,kEAAO;QAAA,4DAAK;QACnC,oEAAG;QAAA,uDAAQ;QAAA,4DAAI;QAEf,4EAAuF;QAAjE,wIAAS,WAAO,IAAC;QACnC,+DACJ;QAAA,4DAAS;;QAJN,0DAAQ;QAAR,yEAAQ;;;;;;;;;;;;;;;;;;;;;;;;ACH4B;;;;;;;;;;;;IC4Df,0EAAyJ;IAAA,uDAA6B;IAAA,4DAAM;;;IAAvL,qLAAiE;IAAmF,0DAA6B;IAA7B,iGAA6B;;;IACtL,0EAAyJ;IAAA,uDAA8B;IAAA,4DAAM;;;IAAxL,qLAAiE;IAAmF,0DAA8B;IAA9B,kGAA8B;;;IAavL,0EAA+J;IAAA,uDAAsB;IAAA,4DAAM;;;IAA3I,qLAAiE;IAA8C,0DAAsB;IAAtB,0FAAsB;;;IACrL,0EAA8J;IAAA,8DAAG;IAAA,4DAAM;;;IAAvH,qLAAiE;;;IAkB7G,uEAAoF;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,oGAAgC;;;IACpH,kEAAsD;;;IAG1D,0EAA6I;IACnI,iEAAyF;;IAAA,4DAAO;;;IAA3F,0DAA6E;IAA7E,2MAA6E;;;IAG5F,0EAA6I;IACnI,iEAA4F;;IAAA,4DAAO;;;IAA9F,0DAAgF;IAAhF,8MAAgF;;;IAO/F,0EAA6I;IACnI,iEAAgG;;IAAA,4DAAO;;;IAAlG,0DAAoF;IAApF,kNAAoF;;;IAUnG,0EAAyJ;IAAA,uDAA6B;IAAA,4DAAM;;;IAAvL,qLAAiE;IAAmF,0DAA6B;IAA7B,iGAA6B;;;IACtL,0EAAyJ;IAAA,uDAA8B;IAAA,4DAAM;;;IAAxL,sLAAiE;IAAmF,0DAA8B;IAA9B,mGAA8B;;;IAavL,0EAA+J;IAAA,uDAAsB;IAAA,4DAAM;;;IAA3I,sLAAiE;IAA8C,0DAAsB;IAAtB,2FAAsB;;;IACrL,0EAA8J;IAAA,8DAAG;IAAA,4DAAM;;;IAAvH,sLAAiE;;;IAkB7G,uEAAoF;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,qGAAgC;;;IACpH,kEAAsD;;;IAG1D,0EAA6I;IACnI,iEAAyF;;IAAA,4DAAO;;;IAA3F,0DAA6E;IAA7E,4MAA6E;;;IAG5F,0EAA6I;IACnI,iEAA4F;;IAAA,4DAAO;;;IAA9F,0DAAgF;IAAhF,+MAAgF;;;IAO/F,0EAA6I;IACnI,iEAAgG;;IAAA,4DAAO;;;IAAlG,0DAAoF;IAApF,mNAAoF;;;IAUnG,0EAAyJ;IAAA,uDAA6B;IAAA,4DAAM;;;IAAvL,sLAAiE;IAAmF,0DAA6B;IAA7B,kGAA6B;;;IACtL,0EAAyJ;IAAA,uDAA8B;IAAA,4DAAM;;;IAAxL,sLAAiE;IAAmF,0DAA8B;IAA9B,mGAA8B;;;IAavL,0EAA+J;IAAA,uDAAsB;IAAA,4DAAM;;;IAA3I,sLAAiE;IAA8C,0DAAsB;IAAtB,2FAAsB;;;IACrL,0EAA8J;IAAA,8DAAG;IAAA,4DAAM;;;IAAvH,sLAAiE;;;IAkB7G,uEAAoF;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,qGAAgC;;;IACpH,kEAAsD;;;IAG1D,0EAA6I;IACnI,iEAAyF;;IAAA,4DAAO;;;IAA3F,0DAA6E;IAA7E,4MAA6E;;;IAG5F,0EAA6I;IACnI,iEAA4F;;IAAA,4DAAO;;;IAA9F,0DAAgF;IAAhF,+MAAgF;;;IAO/F,0EAA6I;IACnI,iEAAgG;;IAAA,4DAAO;;;IAAlG,0DAAoF;IAApF,mNAAoF;;;IAUnG,0EAAyJ;IAAA,uDAA6B;IAAA,4DAAM;;;IAAvL,sLAAiE;IAAmF,0DAA6B;IAA7B,kGAA6B;;;IACtL,0EAAyJ;IAAA,uDAA8B;IAAA,4DAAM;;;IAAxL,sLAAiE;IAAmF,0DAA8B;IAA9B,mGAA8B;;;IAavL,0EAA+J;IAAA,uDAAsB;IAAA,4DAAM;;;IAA3I,sLAAiE;IAA8C,0DAAsB;IAAtB,2FAAsB;;;IACrL,0EAA8J;IAAA,8DAAG;IAAA,4DAAM;;;IAAvH,sLAAiE;;;IAkB7G,uEAAoF;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,qGAAgC;;;IACpH,kEAAsD;;;IAG1D,0EAA6I;IACnI,iEAAyF;;IAAA,4DAAO;;;IAA3F,0DAA6E;IAA7E,4MAA6E;;;IAG5F,0EAA6I;IACnI,iEAA4F;;IAAA,4DAAO;;;IAA9F,0DAAgF;IAAhF,+MAAgF;;;IAO/F,0EAA6I;IACnI,iEAAgG;;IAAA,4DAAO;;;IAAlG,0DAAoF;IAApF,mNAAoF;;;IA6F/G,0EAAgI;IACxB,uDAAqB;IAAA,4DAAM;;;IAD/H,0KAAyD;IAC2C,0DAAqB;IAArB,sFAAqB;;;IAE7H,0EAAgI;IACxB,uDAAsB;IAAA,4DAAM;;;IADhI,0KAAyD;IAC2C,0DAAsB;IAAtB,uFAAsB;;;IAa9H,yEAA6H;IAC7F,uDAAc;IAAA,4DAAM;;;IADhD,0KAAyD;IAC7B,0DAAc;IAAd,+EAAc;;;IAE9C,oEAAiI;;;IAA7H,0KAAyD;;;IAarD,sEAAkI;IAAA,uDAAwB;IAAA,4DAAM;;;;IAAvH,sKAAwF;IAAC,0DAAwB;IAAxB,yFAAwB;;;IAC1J,2EAA6E;IAAA,uDAAwB;IAAA,4DAAM;;;IAA9B,0DAAwB;IAAxB,yFAAwB;;;IAFzG,uEAAoE;IAChE,8HAAgK;IAChK,8HAA2G;IAC/G,4DAAO;;;IAFG,0DAAiC;IAAjC,iGAAiC;IACjC,0DAAgC;IAAhC,gGAAgC;;;IAE1C,kEAA8C;;;IAGlD,0EAA+F;IACrF,oEAAS;IAAA,4DAAO;;;IAG1B,0EAAkF;IACxE,kEAAO;IAAA,4DAAO;;;IAOZ,0EAAyF;IAC/E,iEAAiF;;IAAA,4DAAO;;;IAAnF,0DAAqE;IAArE,gMAAqE;;;IAKpF,0EAAyF;IAC/E,iEAAoF;;IAAA,4DAAO;;;IAAtF,0DAAwE;IAAxE,mMAAwE;;;IASvF,0EAAyF;IAC/E,iEAAwF;;IAAA,4DAAO;;;IAA1F,0DAA4E;IAA5E,uMAA4E;;;IApBnG,4EAA6F;IAGrF,6HAGK;IAGL,6HAGK;IAOL,6HAGK;IACT,4DAAK;;;IApBwB,0DAA8D;IAA9D,kIAA8D;IAM9D,0DAA8D;IAA9D,kIAA8D;IAU9D,0DAA8D;IAA9D,kIAA8D;;;IA1EvG,yEAA0D;IAGsC,uDAAwC;;IAAA,4DAAM;IAI1I,mHAEK;IACL,mHAEK;IACL,yEAA4F;IACY,uDAAsB;IAAA,4DAAM;IAIpI,0EAAwF;IACxD,wDAAyB;IAAA,4DAAM;IAK/D,qHAEK;IACL,qHAAiI;IAEjI,0EAAsG;IACtE,wDAAyB;IAAA,4DAAM;IAE/D,0EAAoG;IACpE,wDAAsB;IAAA,4DAAM;IAI5D,0EAAoG;IAEhG,yHAGO;IACP,yHAA8C;IAClD,4DAAK;IAEL,qHAEK;IAEL,qHAEK;IAEL,0EAAuC;IACnC,4HAwBQ;IACZ,4DAAK;;;IA9ED,0DAAyD;IAAzD,2KAAyD;IAC+B,0DAAwC;IAAxC,qKAAwC;IAIrC,0DAA+B;IAA/B,+FAA+B;IAG/B,0DAA+B;IAA/B,+FAA+B;IAG1H,0DAAyD;IAAzD,2KAAyD;IAC2C,0DAAsB;IAAtB,uFAAsB;IAI1H,0DAAyD;IAAzD,2KAAyD;IAC7B,0DAAyB;IAAzB,0FAAyB;IAKgC,0DAAkC;IAAlC,oGAAkC;IAGlC,0DAAiC;IAAjC,mGAAiC;IAEtH,0DAAyD;IAAzD,2KAAyD;IAC7B,0DAAyB;IAAzB,0FAAyB;IAErD,0DAAyD;IAAzD,2KAAyD;IAC7B,0DAAsB;IAAtB,uFAAsB;IAIlD,0DAAyD;IAAzD,2KAAyD;IAElD,0DAA2D;IAA3D,+HAA2D;IAI3D,0DAA8B;IAA9B,8FAA8B;IAGsB,0DAA8B;IAA9B,gGAA8B;IAIzC,0DAA4B;IAA5B,8FAA4B;IAK/C,0DAA8D;IAA9D,kIAA8D;;;IAkI3G,2EAA6B;IACsD,uDAAsB;IAAA,4DAAS;IAC9G,2EAA+D;IAAY,uDAA4B;IAAA,4DAAS;IAChH,2EAAyE;IAEjE,yEACA;IAAA,iEAAI;IACJ,sEAAI;IACQ,wDAA8C;;IAAA,4DAAS;IAGvE,uEAAwC;IACxC,4EAAgD;IAC5C,sEACA;IAAA,iEAAI;IACJ,sEAAI;IACQ,wDAAgC;IAAA,4DAAS;IAGzD,uEAAwC;IACxC,4EAAgD;IAEhC,wDAAiB;IAAA,4DAAS;IAEtC,sEACJ;IAAA,4DAAM;IAGV,4EAA2C;IAEnC,0EACJ;IAAA,4DAAM;IACN,sEAAI;IACQ,wDAA8B;IAAA,4DAAS;IAEnD,qEAAG;IACC,wDACJ;IAAA,4DAAI;IAGR,4EAAmC;IAKe,wDAA2D;;IAAA,4DAAM;;;IA5CpC,0DAAsB;IAAtB,2FAAsB;IAC1B,0DAA4B;IAA5B,iGAA4B;IAMnF,0DAA8C;IAA9C,gLAA8C;IAQ9C,0DAAgC;IAAhC,qGAAgC;IAMhC,0DAAiB;IAAjB,sFAAiB;IAWrB,0DAA8B;IAA9B,mGAA8B;IAGtC,0DACJ;IADI,mSACJ;IAQ8C,0DAA2D;IAA3D,sMAA2D;;AD/kB9G,MAAM,iBAAiB;IAY1B,YAAoB,OAAe,EACvB,YAA6B,EAC7B,KAA4B,EAC5B,eAA+B,EAC/B,gBAAiC,EACjC,KAAe,EACf,QAAkB;QANV,YAAO,GAAP,OAAO,CAAQ;QACvB,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,UAAK,GAAL,KAAK,CAAuB;QAC5B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,UAAK,GAAL,KAAK,CAAU;QACf,aAAQ,GAAR,QAAQ,CAAU;QAV9B,kBAAa,GAAQ,EAAE,CAAC;QAExB,qBAAgB,GAAY,KAAK,CAAC;QAU9B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ;QAEJ,gBAAgB;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;SAEzC;QAED,UAAU,CACN;YACI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEvB,UAAU,CACN;YACI,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,UAAU;QACN,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAGD,wBAAwB;QAEpB,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YACtE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;aACxB;iBAAM;gBAEH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,aAAa;QACT,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YAC5D,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,2BAA2B;gBACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC3C;iBAAM;gBACH,8CAA8C;aACjD;QAEL,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE;YAEf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC3C,uBAAuB;QAC3B,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,CAAS;QACtB,4CAA4C;QAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC;QAE7B,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,EAAE,EAAE;YAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;aAAM,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,EAAE,EAAE;YACjD,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;aAAM,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,EAAE,EAAE;YACjD,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;aAAM;YACH,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;IACL,CAAC;IAED,MAAM;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QAEH,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;QACtE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,cAAc,CAAC,GAAG;QACd,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B;aACI;YACD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACrC,WAAW;QACX,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO;YAClC,OAAO,YAAY,CAAC;aACnB,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,KAAK;YACrC,OAAO,UAAU,CAAC;aACjB,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO;YACvC,OAAO,YAAY,CAAC;aACnB,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,MAAM;YACtC,OAAO,WAAW,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,IAAI,QAAQ,EAAE;YACV,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO,GAAG,SAAS,IAAI,iBAAiB,GAAG,CAAC;aAC/C;iBAAM;gBACH,OAAO,QAAQ,CAAC,CAAC,0CAA0C;aAC9D;SACJ;IACL,CAAC;;kFAlKQ,iBAAiB;+GAAjB,iBAAiB;;;;;qFAFf,CAAC,qDAAQ,CAAC;QCbzB,yEAA6B;QAErB,qEAAS;QAAA,yEAAQ;QAAA,uDAAa;QAAA,4DAAS;QACvC,gEAAM;QACN,4EAA0B;QAChB,uDAAa;QAAA,4DAAO;QAE9B,0EAA+D;QAAzD,uIAAS,YAAQ,IAAC;QACpB,oEACJ;QAAA,4DAAO;QAEX,0EAAsB;QAGV,qEAAwE;QAE5E,4DAAM;QAKlB,0EAA4C;QACV,wIAAS,mBAAe,IAAI,CAAC,IAAC;QACxD,yEACJ;QAAA,4DAAO;QAIX,0EAAuB;QAIP,8EACJ;QAAA,4DAAO;QAEX,2EAAoC;QAKhB,wDACJ;QAAA,4DAAI;QAIhB,4EAAkF;QAA5E,wIAAS,mBAAe,KAAK,CAAC,IAAC;QACjC,4EAA0B;QACK,uEAAW;QAAA,4DAAO;QAO7D,2EAA8B;QAMN,gHAA4L;QAC5L,gHAA6L;QAC7L,2EAA6G;QAAA,wDAA8B;QAAA,4DAAM;QAGzJ,sEAAI;QAEsH,wDAAgD;;QAAA,4DAAM;QACxK,sEAAsB;QACtB,2EAAkH;QAAA,wDAAiC;QAAA,4DAAM;QAGjK,sEAAI;QAEI,gHAA2L;QAC3L,gHAAuK;QACvK,sEAAsB;QACtB,2EAA2H;QAAA,wDAA0C;QAAA,4DAAM;QAGnL,sEAAI;QAEsI,6DAAC;QAAA,4DAAM;QAAA,sEAAsB;QAC/J,2EAAkI;QAAA,6DAAC;QAAA,4DAAM;QAAA,sEAAsB;QAC/J,2EAAkI;QAAA,6DAAC;QAAA,4DAAM;QAAA,sEAAsB;QAE/J,2EAAkI;QAAA,6DAAC;QAAA,4DAAM;QAGjJ,sEAAI;QAIQ,kHAA2H;QAC3H,kHAAsD;QAC1D,4DAAM;QAEN,gHAEM;QAEN,gHAEM;QAMN,gHAEM;QACV,4DAAK;QAIjB,2EAA2D;QAI3C,gHAA4L;QAC5L,gHAA6L;QAC7L,2EAA6G;QAAA,wDAA8B;QAAA,4DAAM;QAGzJ,sEAAI;QAEsH,wDAAgD;;QAAA,4DAAM;QACxK,sEAAsB;QACtB,2EAAkH;QAAA,wDAAiC;QAAA,4DAAM;QAGjK,sEAAI;QAEI,gHAA2L;QAC3L,gHAAuK;QACvK,sEAAsB;QACtB,4EAA2H;QAAA,yDAA0C;QAAA,4DAAM;QAGnL,uEAAI;QAEsI,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAE/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAGjJ,uEAAI;QAIQ,oHAA2H;QAC3H,oHAAsD;QAC1D,4DAAM;QAEN,kHAEM;QAEN,kHAEM;QAMN,kHAEM;QACV,4DAAK;QAIjB,4EAA2D;QAI3C,kHAA4L;QAC5L,kHAA6L;QAC7L,4EAA6G;QAAA,yDAA8B;QAAA,4DAAM;QAGzJ,uEAAI;QAEsH,yDAAgD;;QAAA,4DAAM;QACxK,uEAAsB;QACtB,4EAAkH;QAAA,yDAAiC;QAAA,4DAAM;QAGjK,uEAAI;QAEI,kHAA2L;QAC3L,kHAAuK;QACvK,uEAAsB;QACtB,4EAA2H;QAAA,yDAA0C;QAAA,4DAAM;QAGnL,uEAAI;QAEsI,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAE/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAGjJ,uEAAI;QAIQ,oHAA2H;QAC3H,oHAAsD;QAC1D,4DAAM;QAEN,kHAEM;QAEN,kHAEM;QAMN,kHAEM;QACV,4DAAK;QAIjB,4EAAgE;QAIhD,kHAA4L;QAC5L,kHAA6L;QAC7L,4EAA6G;QAAA,yDAA8B;QAAA,4DAAM;QAGzJ,uEAAI;QAEsH,yDAAgD;;QAAA,4DAAM;QACxK,uEAAsB;QACtB,4EAAkH;QAAA,yDAAiC;QAAA,4DAAM;QAGjK,uEAAI;QAEI,kHAA2L;QAC3L,kHAAuK;QACvK,uEAAsB;QACtB,4EAA2H;QAAA,yDAA0C;QAAA,4DAAM;QAGnL,uEAAI;QAEsI,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAC/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAAA,uEAAsB;QAE/J,4EAAkI;QAAA,8DAAC;QAAA,4DAAM;QAGjJ,uEAAI;QAIQ,oHAA2H;QAC3H,oHAAsD;QAC1D,4DAAM;QAEN,kHAEM;QAEN,kHAEM;QAMN,kHAEM;QACV,4DAAK;QAsCrB,8EAAsF;QAkBzD,iEAAI;QAAA,4DAAK;QAC9B,2EAAgD;QACM,mEAAM;QAAA,4DAAM;QAElE,2EAA0C;QACV,qEAAQ;QAAA,4DAAM;QAE9C,2EAAsC;QACN,gEAAG;QAAA,4DAAM;QAEzC,2EAA0C;QACV,oEAAO;QAAA,4DAAM;QAE7C,2EAA2C;QACX,8DAAC;QAAA,4DAAM;QAEvC,2EAAuC;QAGH,8DAAC;QAAA,4DAAK;QAC9B,2EAAyB;QAAA,8DAAC;QAAA,4DAAK;QAE/B,2EAAyB;QAAA,8DAAC;QAAA,4DAAK;QAM/C,kHAqFK;;QAGT,4DAAQ;QAIhB,+EAAgD;QAMxB,8DACkH;QADlH,4EACkH;QAE9G,+LAQ5B;QAAA,4DAAQ;QACgB,sEAAG;QAGH,wEACkH;QAClG,4DAAO;QACvB,uEAAwE;QACxE,iFAAyE;QACzE,uEAA4D;QAC5C,4DAAW;QAE3B,wEAA4N;QAChN,4DAAI;QAChB,2EAC4C;QAC5C,sEAAG;QACH,wEAEyH;QAC7G,4DAAI;QAChB,2EACgG;QAGhG,sEAAG;QACH,wEAGqC;QACzB,4DAAI;QAChB,wEACuC;QAOvC,sEAAG;QACH,wEAEgI;QACpH,4DAAI;QAChB,wEAC2B;QAC3B,sEAAG;QACH,wEAGmE;QACvD,4DAAI;QAChB,2EAAgI;QACxH,4DAAI;QAIpB,+DAAgD;QAAhD,4EAAgD;QAOhC,yDACJ;QAAA,4DAAI;QAUhC,8MAmDc;;QAjmBW,0DAAa;QAAb,8EAAa;QAGpB,0DAAa;QAAb,8EAAa;QAmCH,2DACJ;QADI,uGACJ;QAmBoH,2DAAuC;QAAvC,uGAAuC;QACvC,0DAAuC;QAAvC,uGAAuC;QAClJ,0DAAiE;QAAjE,oLAAiE;QAAuC,0DAA8B;QAA9B,+FAA8B;QAK3F,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAgD;QAAhD,8KAAgD;QAElH,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAiC;QAAjC,kGAAiC;QAKhC,0DAA0C;QAA1C,4GAA0C;QAC1C,0DAAyC;QAAzC,2GAAyC;QAEvJ,0DAAiE;QAAjE,oLAAiE;QAAqD,0DAA0C;QAA1C,+GAA0C;QAKhK,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QAEjE,0DAAiE;QAAjE,oLAAiE;QAMjE,0DAAiE;QAAjE,oLAAiE;QAC3D,0DAA2E;QAA3E,+IAA2E;QAC3E,0DAAsC;QAAtC,sGAAsC;QAGY,0DAA8E;QAA9E,kJAA8E;QAI9E,0DAA8E;QAA9E,kJAA8E;QAQ9E,0DAA8E;QAA9E,kJAA8E;QAW3B,0DAAuC;QAAvC,uGAAuC;QACvC,0DAAuC;QAAvC,uGAAuC;QAClJ,0DAAiE;QAAjE,oLAAiE;QAAuC,0DAA8B;QAA9B,+FAA8B;QAK3F,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAgD;QAAhD,8KAAgD;QAElH,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAiC;QAAjC,kGAAiC;QAKhC,0DAA0C;QAA1C,4GAA0C;QAC1C,0DAAyC;QAAzC,2GAAyC;QAEvJ,0DAAiE;QAAjE,oLAAiE;QAAqD,0DAA0C;QAA1C,+GAA0C;QAKhK,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QAEjE,0DAAiE;QAAjE,oLAAiE;QAMjE,0DAAiE;QAAjE,oLAAiE;QAC3D,0DAA2E;QAA3E,+IAA2E;QAC3E,0DAAsC;QAAtC,sGAAsC;QAGY,0DAA8E;QAA9E,kJAA8E;QAI9E,0DAA8E;QAA9E,kJAA8E;QAQ9E,0DAA8E;QAA9E,kJAA8E;QAW3B,0DAAuC;QAAvC,uGAAuC;QACvC,0DAAuC;QAAvC,uGAAuC;QAClJ,0DAAiE;QAAjE,oLAAiE;QAAuC,0DAA8B;QAA9B,+FAA8B;QAK3F,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAgD;QAAhD,+KAAgD;QAElH,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAiC;QAAjC,kGAAiC;QAKhC,0DAA0C;QAA1C,4GAA0C;QAC1C,0DAAyC;QAAzC,2GAAyC;QAEvJ,0DAAiE;QAAjE,oLAAiE;QAAqD,0DAA0C;QAA1C,+GAA0C;QAKhK,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QAEjE,0DAAiE;QAAjE,oLAAiE;QAMjE,0DAAiE;QAAjE,oLAAiE;QAC3D,0DAA2E;QAA3E,+IAA2E;QAC3E,0DAAsC;QAAtC,sGAAsC;QAGY,0DAA8E;QAA9E,kJAA8E;QAI9E,0DAA8E;QAA9E,kJAA8E;QAQ9E,0DAA8E;QAA9E,kJAA8E;QAW3B,0DAAuC;QAAvC,uGAAuC;QACvC,0DAAuC;QAAvC,uGAAuC;QAClJ,0DAAiE;QAAjE,oLAAiE;QAAuC,0DAA8B;QAA9B,+FAA8B;QAK3F,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAgD;QAAhD,gLAAgD;QAElH,0DAAiE;QAAjE,oLAAiE;QAAC,0DAAiC;QAAjC,kGAAiC;QAKhC,0DAA0C;QAA1C,4GAA0C;QAC1C,0DAAyC;QAAzC,2GAAyC;QAEvJ,0DAAiE;QAAjE,oLAAiE;QAAqD,0DAA0C;QAA1C,+GAA0C;QAKhK,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QACjE,0DAAiE;QAAjE,oLAAiE;QAEjE,0DAAiE;QAAjE,oLAAiE;QAMjE,0DAAiE;QAAjE,oLAAiE;QAC3D,0DAA2E;QAA3E,+IAA2E;QAC3E,0DAAsC;QAAtC,sGAAsC;QAGY,0DAA8E;QAA9E,kJAA8E;QAI9E,0DAA8E;QAA9E,kJAA8E;QAQ9E,0DAA8E;QAA9E,kJAA8E;QAuFpI,2DAAwB;QAAxB,4JAAwB;QA6K3B,2DACJ;QADI,2FACJ;;;;;;;;;;;;;;;;;;;;;;;;AC5hBrB,MAAM,oBAAoB;IAI7B,YAAoB,OAAe,EACvB,YAA6B,EAC7B,KAA4B;QAFpB,YAAO,GAAP,OAAO,CAAQ;QACvB,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,UAAK,GAAL,KAAK,CAAuB;IAAI,CAAC;IAE7C,QAAQ;QACJ,IAAI,CAAC,IAAI,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;SAEzC;IACL,CAAC;IAED,MAAM;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;;wFAnBQ,oBAAoB;kHAApB,oBAAoB;QCVjC,yEAA6B;QAErB,qEAAS;QAAA,yEAAQ;QAAA,uDAAa;QAAA,4DAAS;QACvC,gEAAM;QACN,4EAA0B;QAChB,uDAAa;QAAA,4DAAO;QAE9B,0EAA+D;QAAzD,0IAAS,YAAQ,IAAC;QACpB,oEACJ;QAAA,4DAAO;QAEX,0EAAsB;QAGV,qEAAwE;QAE5E,4DAAM;QAKlB,qEAAsC;QAEtC,0EAAgC;QAExB,iFACJ;QAAA,4DAAM;QAEN,2EAA6B;QACzB,4GACJ;QAAA,4DAAM;;QA5Be,0DAAa;QAAb,8EAAa;QAGpB,0DAAa;QAAb,8EAAa;;;;;;;;;;;;;;;;;;;;;ACLiD;AACrB;;;;;AAQpD,MAAM,oBAAoB;IAa7B,YAA4C,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;QATrD,gBAAW,GAAW,EAAE,CAAC;QAGzB,uCAAuC;QAG7B,gBAAW,GAAsB,IAAI,uDAAY,EAAO,CAAC;QACzD,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;IAG1C,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;SAC3B;QAED,gFAAgF;QAChF,yBAAyB;QACzB,KAAK;IACT,CAAC;IAED,IAAI;QACA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;;wFApCQ,oBAAoB,kEAaT,qEAAe;kHAb1B,oBAAoB;QCTjC,yEAAoC;QACtB,8IAAS,cAAU,IAAC;QAAe,gEAAK;QAAA,4DAAW;QAC7D,oEAAgE;QAChE,wEAAsB;QAAA,2EAAgB;QAAA,4DAAK;QAC3C,oEAAG;QAAA,uDAAQ;QAAA,4DAAI;QACf,2EAAqI;QAA3C,sLAAkB;QAA5G,4DAAqI;QAErI,4EAAyI;QAAnH,4IAAS,UAAM,IAAC;QAClC,kEACJ;QAAA,4DAAS;;QALN,0DAAQ;QAAR,yEAAQ;QAC+E,0DAAkB;QAAlB,6EAAkB;QAErE,0DAA6D;QAA7D,iIAA6D;;;;;;;;;;;;;;;;;;;;ACDjG,MAAM,mBAAmB;IAE5B,YAAoB,EAAa;QAAb,OAAE,GAAF,EAAE,CAAW;IAAI,CAAC;IAGtC,OAAO,CAAC,KAAa;;QACjB,oEAAoE;QACpE,UAAI,CAAC,EAAE,CAAC,OAAO,0CAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;;sFARQ,mBAAmB;iHAAnB,mBAAmB;iJAAnB,gCAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACP0C;AACsB;AACH;AACmC;AAEpC;AAIV;AACI;AACJ;AAM4B;AACM;AACf;AACC;AACN;AACQ;AACqB;AAC1B;AAEe;AACP;AAC0B;AAC1B;;AAkCzE,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;8GAhBZ;YACL,0DAAY;YACZ,6EAAa;YACb,6EAAkB;YAClB,sEAAe;YACf,kEAAa;YACb,kEAAa;YACb,wDAAW;SAEd;oIAOQ,YAAY,mBA9BN,6GAAwB;QACnC,2FAAkB;QAClB,iGAAoB;QACpB,kFAAmB;QACnB,mFAAgB;QAChB,6EAAc;QACd,qFAAgB;QAChB,0GAAuB;QACvB,gFAAe;QACf,gGAAoB;QACpB,yFAAiB;QACjB,mHAAwB;QACxB,yFAAgB,aAGhB,0DAAY;QACZ,6EAAa;QACb,6EAAkB;QAClB,sEAAe;QACf,kEAAa;QACb,kEAAa;QACb,wDAAW,aAIX,kFAAmB;QACnB,mHAAwB;QACxB,yFAAgB;;;;;;;;;;;;;;;;;;;;;ACvDjB,MAAM,YAAY;IAJzB;QAKE,UAAK,GAAG,KAAK,CAAC;KACf;;wEAFY,YAAY;0GAAZ,YAAY;QCHzB,2EAA+B;QAC/B,iFAAoH;QAE5G,uEACJ;QAAA,4DAAI;;QAHwF,0DAAmB;QAAnB,4EAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzD;AAEQ;AACS;AACkC;AAC9D;AAC0E;AACR;AAClD;AAIgB;AACb;AACc;AAChF,uDAAuD;AACR;AACqC;AACuB;AAC3G,+EAA+E;AAC/E,mGAAmG;AAEnG,sDAAsD;AACC;AAMI;AACI;AACN;AAEzD,mDAAmD;AACQ;AACQ;AACN;AACJ;AACS;AAGnB;AAG8B;AAC7E,2GAA2G;AAC3G,qIAAqI;AACrI,2GAA2G;AAC3G,kIAAkI;AAClI,qIAAqI;AACX;AAGlB;AACxG,0GAA0G;AACnD;AACS;AACC;AACX;AACiD;AACP;AACO;AACJ;AACwB;;;;;AAEpH,SAAS,WAAW;IACvB,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,eAAe;AACf,wBAAwB;AACxB,IAAI;AAEJ,iDAAiD;AACjD,qHAAqH;AACrH,wBAAwB;AACxB,wCAAwC;AACxC,oCAAoC;AACpC,qCAAqC;AAErC,8BAA8B;AAC9B,oHAAoH;AACpH,wBAAwB;AACxB,0DAA0D;AAC1D,WAAW;AACX,4BAA4B;AAC5B,iCAAiC;AACjC,mBAAmB;AAEnB,sBAAsB;AACtB,OAAO;AACP,GAAG;AAEH,iDAAiD;AAEjD,kBAAkB;AAClB,iCAAiC;AACjC,qCAAqC;AACrC,WAAW;AAEX,qBAAqB;AACrB,2CAA2C;AAC3C,sBAAsB;AACtB,0BAA0B;AAC1B,kBAAkB;AAClB,0DAA0D;AAC1D,WAAW;AACX,sBAAsB;AACtB,QAAQ;AACR,GAAG;AAEH,MAAM,WAAW,GAAW;IACxB;QACI,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,GAAG,EAAE,CAAC,6IAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;KACxG;IACD;QACI,IAAI,EAAE,SAAS;QACf,gCAAgC;QAChC,WAAW,EAAE,CAAC,yEAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,yIAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;KAClG;IACD;QACI,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC,6IAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;KACxG;IACD;QACI,IAAI,EAAE,UAAU;QAChB,gCAAgC;QAChC,YAAY,EAAE,GAAG,EAAE,CAAC,0IAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KACrG;IACD;QACI,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,GAAG,EAAE,CAAC,yIAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;KAClG;IACD;QACI,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,GAAG,EAAE,CAAC,yIAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;KAClG;IAED,GAAG;IACH,oBAAoB;IACpB,wGAAwG;IACxG,IAAI;IACJ,GAAG;IACH,oBAAoB;IACpB,qGAAqG;IACrG,IAAI;IACJ;QACI,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,GAAG,EAAE,CAAC,wIAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;KAClG;IACD;QACI,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,CAAC,yEAAS,CAAC;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,2IAAmD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;KACvG;IACD,GAAG;IACH,oBAAoB;IACpB,4GAA4G;IAC5G,GAAG;IAEH;QACI,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,GAAG,EAAE,CAAC,qIAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;KAC5F;CACJ,CAAC;AAEF,MAAM,MAAM,GAAW;IACnB,GAAG;IACH,eAAe;IACf,mCAAmC;IACnC,uBAAuB;IACvB,IAAI;IACJ;QACI,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,wHAAoB;QAC/B,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,sLAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;aAC7F;YACD;gBACI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,wGAAiB;aAC3C;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,qNAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;aAChH;SACJ;KACJ;IACD;QACI,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,kHAAqB;QAChC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,cAAc;gBACpB,YAAY,EAAE,GAAG,EAAE,CAAC,sLAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;aAC7F;SACJ;KACJ;IAED;QACI,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,gIAAsB;QACjC,WAAW,EAAE,CAAC,yEAAS,CAAC;QACxB,QAAQ,EAAE,WAAW;KACxB;IACD;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,CAAC,yEAAS,CAAC;KAC3B;IACD,oDAAoD;IACpD,qDAAqD;IACrD,gEAAgE;IAChE,yDAAyD;IACzD,kEAAkE;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,oEAAoE;IACpE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,qFAAgB,EAAE;IAChD,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,oIAA4B,EAAE;IACzE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,gHAAwB,EAAE;IAChE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,4GAAoB,EAAE;IACzD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kIAA2B,EAAE;IACxD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,+GAAoB,EAAE;CAG3D,CAAC;AAuEK,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFN,wDAAY;4GAJb;QACP,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,uFAAc,EAAE,KAAK,EAAE,IAAI,EAAE;QACrE,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,2FAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;KAC1E,YAvCQ;YACL,0FAAkC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACjE,uEAAY;YACZ,mEAAgB;YAChB,wDAAW;YACX,gEAAmB;YACnB,kEAAoB,CAAC,MAAM,CAAC;YAC5B,0FAAuB;YACvB,0DAAgB;YAChB,8EAAmB;YACnB,wEAAmB;YACnB,sEAAe;YACf,0EAAiB;YACjB,oEAAc;YACd,kEAAa;YACb,sEAAqB;YACrB,6EAAkB;YAClB,oEAAc;YACd,0DAAY;YACZ,kEAAa;YACb,4EAAkB;YAClB,kEAAa;YACb,4BAA4B;YAC5B,0BAA0B;YAC1B,2BAA2B;YAC3B,iCAAiC;YACjC,KAAK;YACL,kEAAiB,CAAC;gBACd,MAAM,EAAE;oBACJ,WAAW,EAAE,WAAW;oBACxB,cAAc,EAAE,CAAC,iBAAiB,CAAC;oBACnC,4BAA4B;iBAC/B;aACJ,CAAC;SAEL;oIAOQ,SAAS,mBAnEd,wDAAY;QACZ,mBAAmB;QAEnB,yBAAyB;QACzB,wBAAwB;QACxB,0BAA0B;QAC1B,wBAAwB;QACxB,2BAA2B;QAC3B,0BAA0B;QAC1B,2BAA2B;QAC3B,qFAAgB;QAChB,yBAAyB;QACzB,iCAAiC;QACjC,yBAAyB;QACzB,gCAAgC;QAChC,iCAAiC;QACjC,kIAA2B;QAC3B,sBAAsB;QACtB,2BAA2B;QAC3B,+GAAiB;QACjB,gHAAwB;QACxB,4GAAoB;QACpB,oIAA4B,oFAK5B,uEAAY;QACZ,mEAAgB;QAChB,wDAAW;QACX,gEAAmB,8DAEnB,0FAAuB;QACvB,0DAAgB;QAChB,8EAAmB;QACnB,wEAAmB;QACnB,sEAAe;QACf,0EAAiB;QACjB,oEAAc;QACd,kEAAa;QACb,sEAAqB;QACrB,6EAAkB;QAClB,oEAAc;QACd,0DAAY;QACZ,kEAAa;QACb,4EAAkB;QAClB,kEAAa;;;;;;;;;;;;;;;ACvRrB,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACvB,oBAAoB;IACpB,oCAAoC;IAEpC,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAE;CACb,CAAC;AAEF;;;;;GAKG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;;;AClBvB;AAGF;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,uEAAuB,SAAS,CAAC,CAAC,eAAe,CAAC,sDAAS,CAAC;KACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAElC,+EAA+E","sources":["./src/app/_modules/account/_components/verification/verification.component.ts","./src/app/_modules/account/_components/verification/verification.component.html","./src/app/_modules/account/account.service.ts","./src/app/_modules/common/_interceptor/error.interceptor.ts","./src/app/_modules/common/_interceptor/jwt.interceptor.ts","./src/app/_modules/common/_services/auth-user.service.ts","./src/app/_modules/common/_services/common-service.service.ts","./src/app/_modules/common/_services/courses-services.ts","./src/app/_modules/common/_services/dashboard.service.ts","./src/app/_modules/common/_services/delegate-services.ts","./src/app/_modules/common/_services/finance-services.ts","./src/app/_modules/common/_services/request-service.ts","./src/app/_modules/common/guards/AuthenticationService.ts","./src/app/_modules/common/guards/auth.guard.ts","./src/app/_modules/common/model/activities.ts","./src/app/_modules/common/model/request.ts","./src/app/_modules/common/validation/errors-code.ts","./src/app/_modules/common/validation/messages.ts","./src/app/_modules/core/Schedule/course-scheduler/course-scheduler.component.ts","./src/app/_modules/core/Schedule/course-scheduler/course-scheduler.component.html","./src/app/_modules/core/Schedule/schedules-routing.module.ts","./src/app/_modules/core/Schedule/schedules.module.ts","./src/app/_modules/core/Schedule/view-schedule/view-schedule.component.ts","./src/app/_modules/core/Schedule/view-schedule/view-schedule.component.html","./src/app/_modules/core/Schedule/yearly-schedule/yearly-schedule.component.ts","./src/app/_modules/core/Schedule/yearly-schedule/yearly-schedule.component.html","./src/app/_modules/core/admin/admin-routing.module.ts","./src/app/_modules/core/admin/admin.module.ts","./src/app/_modules/core/booking/booking-confirmation/booking-confirmation.component.ts","./src/app/_modules/core/booking/booking-confirmation/booking-confirmation.component.html","./src/app/_modules/core/booking/booking.component.ts","./src/app/_modules/core/booking/booking.component.html","./src/app/_modules/core/booking/ripa-booking/ripa-booking.component.ts","./src/app/_modules/core/booking/ripa-booking/ripa-booking.component.html","./src/app/_modules/core/courses/add-course/add-course.component.ts","./src/app/_modules/core/courses/add-course/add-course.component.html","./src/app/_modules/core/courses/course-actions/button-renderer/button-renderer.component.ts","./src/app/_modules/core/courses/course-actions/checkbox-renderer/checkbox-renderer.component.ts","./src/app/_modules/core/courses/course-actions/course-actions.component.ts","./src/app/_modules/core/courses/course-clickable-parent/course-clickable-parent.component.ts","./src/app/_modules/core/courses/course-dates-details/course-dates-details.component.ts","./src/app/_modules/core/courses/course-dates-details/course-dates-details.component.html","./src/app/_modules/core/courses/course-details/course-details.component.ts","./src/app/_modules/core/courses/course-details/course-details.component.html","./src/app/_modules/core/courses/course-titles/add-edit-course-titles/add-edit-course-titles.component.ts","./src/app/_modules/core/courses/course-titles/add-edit-course-titles/add-edit-course-titles.component.html","./src/app/_modules/core/courses/course-titles/course-title-actions/course-title-actions.component.ts","./src/app/_modules/core/courses/course-titles/course-title-clickable-parent/course-title-clickable-parent.component.ts","./src/app/_modules/core/courses/course-titles/course-titles-list/course-titles-list.component.ts","./src/app/_modules/core/courses/course-titles/course-titles-list/course-titles-list.component.html","./src/app/_modules/core/courses/courses-routing.module.ts","./src/app/_modules/core/courses/courses.component.ts","./src/app/_modules/core/courses/courses.component.html","./src/app/_modules/core/courses/courses.module.ts","./src/app/_modules/core/courses/mimeo/mimeo.component.ts","./src/app/_modules/core/courses/mimeo/mimeo.component.html","./src/app/_modules/core/courses/view-course/view-course.component.ts","./src/app/_modules/core/courses/view-course/view-course.component.html","./src/app/_modules/core/dashboard/coming-soon/coming-soon.component.ts","./src/app/_modules/core/dashboard/coming-soon/coming-soon.component.html","./src/app/_modules/core/dashboard/dashboard-routing.module.ts","./src/app/_modules/core/dashboard/dashboard.module.ts","./src/app/_modules/core/dashboard/dashboard/dashboard.component.ts","./src/app/_modules/core/dashboard/stats/stats.component.ts","./src/app/_modules/core/dashboard/stats/stats.component.html","./src/app/_modules/core/delegates/add-edit-delegate/add-edit-delegate.component.ts","./src/app/_modules/core/delegates/add-edit-delegate/add-edit-delegate.component.html","./src/app/_modules/core/delegates/delegate-details/delegate-details.component.ts","./src/app/_modules/core/delegates/delegate-details/delegate-details.component.html","./src/app/_modules/core/delegates/delegates-routing.module.ts","./src/app/_modules/core/delegates/delegates.module.ts","./src/app/_modules/core/delegates/view-delegate/clickable-parent/clickable-parent.component.ts","./src/app/_modules/core/delegates/view-delegate/delgate-actions/delgate-actions.component.ts","./src/app/_modules/core/delegates/view-delegate/view-delegate.component.ts","./src/app/_modules/core/delegates/view-delegate/view-delegate.component.html","./src/app/_modules/core/finance/add-edit-credit-note/add-edit-credit-note.component.ts","./src/app/_modules/core/finance/add-edit-credit-note/add-edit-credit-note.component.html","./src/app/_modules/core/finance/add-edit-invoice/add-edit-invoice.component.ts","./src/app/_modules/core/finance/add-edit-invoice/add-edit-invoice.component.html","./src/app/_modules/core/finance/add-edit-supplier/add-edit-supplier.component.ts","./src/app/_modules/core/finance/add-edit-supplier/add-edit-supplier.component.html","./src/app/_modules/core/finance/credit-notes/credit-notes.component.ts","./src/app/_modules/core/finance/credit-notes/credit-notes.component.html","./src/app/_modules/core/finance/finance-routing.module.ts","./src/app/_modules/core/finance/finance.module.ts","./src/app/_modules/core/finance/invoices-received/invoice-received-actions/invoice-received-actions.component.ts","./src/app/_modules/core/finance/invoices-received/invoice-received-clickable-parent/invoice-received-clickable-parent.component.ts","./src/app/_modules/core/finance/invoices-received/invoices-received.component.ts","./src/app/_modules/core/finance/invoices-received/invoices-received.component.html","./src/app/_modules/core/finance/suppliers/supplier-actions/supplier-actions.component.ts","./src/app/_modules/core/finance/suppliers/supplier-clickable-parent/supplier-clickable-parent.component.ts","./src/app/_modules/core/finance/suppliers/supplier-details/supplier-details.component.ts","./src/app/_modules/core/finance/suppliers/supplier-details/supplier-details.component.html","./src/app/_modules/core/finance/suppliers/suppliers.component.ts","./src/app/_modules/core/finance/suppliers/suppliers.component.html","./src/app/_modules/core/finance/xero-invoices/xero-invoices.component.ts","./src/app/_modules/core/finance/xero-invoices/xero-invoices.component.html","./src/app/_modules/core/inhouse/add-edit-inhouse/add-edit-inhouse.component.ts","./src/app/_modules/core/inhouse/add-edit-inhouse/add-edit-inhouse.component.html","./src/app/_modules/core/inhouse/inhouse-detail/inhouse-detail.component.ts","./src/app/_modules/core/inhouse/inhouse-detail/inhouse-detail.component.html","./src/app/_modules/core/inhouse/inhouse-list/inhouse-list.component.ts","./src/app/_modules/core/inhouse/inhouse-list/inhouse-list.component.html","./src/app/_modules/core/inhouse/inhouse-routing.module.ts","./src/app/_modules/core/inhouse/inhouse.module.ts","./src/app/_modules/core/inhouse/organisations/add-edit-organisation/add-edit-organisation.component.ts","./src/app/_modules/core/inhouse/organisations/add-edit-organisation/add-edit-organisation.component.html","./src/app/_modules/core/inhouse/organisations/organisations.component.ts","./src/app/_modules/core/inhouse/organisations/organisations.component.html","./src/app/_modules/core/invoices/invoices-routing.module.ts","./src/app/_modules/core/invoices/invoices.module.ts","./src/app/_modules/core/invoices/invoices/invoices.component.ts","./src/app/_modules/core/invoices/invoices/invoices.component.html","./src/app/_modules/core/product/add-edit-product/add-edit-product.component.ts","./src/app/_modules/core/product/add-edit-product/add-edit-product.component.html","./src/app/_modules/core/product/product-actions/product-actions.component.ts","./src/app/_modules/core/product/product-bookings/product-bookings.component.ts","./src/app/_modules/core/product/product-bookings/product-bookings.component.html","./src/app/_modules/core/product/product-clickable-parent/product-clickable-parent.component.ts","./src/app/_modules/core/product/product-list/product-list.component.ts","./src/app/_modules/core/product/product-list/product-list.component.html","./src/app/_modules/core/product/product-routing.module.ts","./src/app/_modules/core/product/product.module.ts","./src/app/_modules/core/products-booking/products-booking.component.ts","./src/app/_modules/core/products-booking/products-booking.component.html","./src/app/_modules/core/reports/debt-collection/debt-collection.component.ts","./src/app/_modules/core/reports/debt-collection/debt-collection.component.html","./src/app/_modules/core/reports/marketing-stats/marketing-stats.component.ts","./src/app/_modules/core/reports/marketing-stats/marketing-stats.component.html","./src/app/_modules/core/reports/speaker-course-numbers/speaker-course-numbers.component.ts","./src/app/_modules/core/reports/speaker-course-numbers/speaker-course-numbers.component.html","./src/app/_modules/core/speakers/add-edit-speakers/add-edit-speakers.component.ts","./src/app/_modules/core/speakers/add-edit-speakers/add-edit-speakers.component.html","./src/app/_modules/core/speakers/speaker-details/speaker-details.component.ts","./src/app/_modules/core/speakers/speaker-details/speaker-details.component.html","./src/app/_modules/core/speakers/speakers-actions/speakers-actions.component.ts","./src/app/_modules/core/speakers/speakers-clickable-parent/speakers-clickable-parent.component.ts","./src/app/_modules/core/speakers/speakers-list/speakers-list.component.ts","./src/app/_modules/core/speakers/speakers-list/speakers-list.component.html","./src/app/_modules/core/upload-courses/upload-courses.component.ts","./src/app/_modules/core/upload-courses/upload-courses.component.html","./src/app/_modules/core/upload-courses/uploads-routing.module.ts","./src/app/_modules/core/upload-courses/uploads.module.ts","./src/app/_modules/shared/_components/create-pin/create-pin.component.ts","./src/app/_modules/shared/_components/create-pin/create-pin.component.html","./src/app/_modules/shared/_components/delete/delete.component.ts","./src/app/_modules/shared/_components/delete/delete.component.html","./src/app/_modules/shared/_components/edit/actions/actions.component.ts","./src/app/_modules/shared/_components/edit/clickable-parent/clickable-parent.component.ts","./src/app/_modules/shared/_components/error/error.component.ts","./src/app/_modules/shared/_components/error/error.component.html","./src/app/_modules/shared/_components/layouts/an-footer/an-footer.component.ts","./src/app/_modules/shared/_components/layouts/an-footer/an-footer.component.html","./src/app/_modules/shared/_components/layouts/blank-layout/blank-layout.component.ts","./src/app/_modules/shared/_components/layouts/blank-layout/blank-layout.component.html","./src/app/_modules/shared/_components/layouts/layouts.module.ts","./src/app/_modules/shared/_components/layouts/side-bar-layout/footer/footer.component.ts","./src/app/_modules/shared/_components/layouts/side-bar-layout/footer/footer.component.html","./src/app/_modules/shared/_components/layouts/side-bar-layout/side-bar-layout.component.ts","./src/app/_modules/shared/_components/layouts/side-bar-layout/side-bar-layout.component.html","./src/app/_modules/shared/_components/layouts/side-bar-layout/side-menu/side-menu.component.ts","./src/app/_modules/shared/_components/layouts/side-bar-layout/side-menu/side-menu.component.html","./src/app/_modules/shared/_components/layouts/side-bar-layout/top-menu/top-menu.component.ts","./src/app/_modules/shared/_components/layouts/side-bar-layout/top-menu/top-menu.component.html","./src/app/_modules/shared/_components/otp-verification/otp-verification.component.ts","./src/app/_modules/shared/_components/otp-verification/otp-verification.component.html","./src/app/_modules/shared/_components/show-msg/show-msg.component.ts","./src/app/_modules/shared/_components/show-msg/show-msg.component.html","./src/app/_modules/shared/_components/success-summary/success-summary.component.ts","./src/app/_modules/shared/_components/success-summary/success-summary.component.html","./src/app/_modules/shared/_components/success/success.component.ts","./src/app/_modules/shared/_components/success/success.component.html","./src/app/_modules/shared/_components/tv-screen/tv-screen.component.ts","./src/app/_modules/shared/_components/tv-screen/tv-screen.component.html","./src/app/_modules/shared/_components/unauthorise/unauthorise.component.ts","./src/app/_modules/shared/_components/unauthorise/unauthorise.component.html","./src/app/_modules/shared/_components/validate-pin/validate-pin.component.ts","./src/app/_modules/shared/_components/validate-pin/validate-pin.component.html","./src/app/_modules/shared/_directives/number-only.directive.ts","./src/app/_modules/shared/shared.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AfterViewInit, Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { map } from 'rxjs';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { AuthenticationService } from '../../../common/guards/AuthenticationService';\r\nimport { userRoles } from '../../../common/model/request';\r\nimport { errorMessages, regExpressions } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { AccountService } from '../../account.service';\r\n\r\n@Component({\r\n selector: 'app-verification',\r\n templateUrl: './verification.component.html',\r\n styleUrls: ['./verification.component.css']\r\n})\r\nexport class VerificationComponent implements OnInit, AfterViewInit {\r\n\r\n formModal: any;\r\n verificationForm: any;\r\n loading = false;\r\n errors: any = errorMessages;\r\n baseurl: string;\r\n public url = environment.apiURL;\r\n public verificationData: any;\r\n\r\n\r\n constructor(private http: HttpClient, //@Inject('BASE_URL') base: string,\r\n private formBuilder: FormBuilder,\r\n private _accountService: AccountService,\r\n private _route: Router,\r\n private renderer: Renderer2,\r\n private _commonService: CommonServiceService,\r\n private _auth: AuthenticationService) {\r\n //this.baseurl = base;\r\n this.getGoogleVerificationData();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.verificationForm = this.formBuilder.group({\r\n inputCode: ['', [Validators.required, Validators.pattern(regExpressions.inputCode)]]\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n\r\n var elem = this.renderer.selectRootElement('#inputCode');\r\n\r\n this.renderer.listen(elem, \"focus\", () => { console.log('focus') });\r\n\r\n this.renderer.listen(elem, \"blur\", () => { console.log('blur') });\r\n\r\n elem.focus();\r\n\r\n }, 200);\r\n }\r\n\r\n getGoogleVerificationData() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n\r\n });\r\n\r\n\r\n this.http.get(this.url + 'api/Account/v1/Verification', { headers }).subscribe(result => {\r\n localStorage.setItem(\"Token\", result.verification.token);\r\n this.verificationData = result.verification;\r\n }, error => console.log(error));\r\n\r\n \r\n }\r\n\r\n get f() { return this.verificationForm.controls; }\r\n\r\n onSubmit() {\r\n\r\n\r\n this.loading = true;\r\n if (this.verificationForm.invalid) {\r\n return;\r\n }\r\n\r\n var code = { inputCode: this.verificationForm.value.inputCode }\r\n\r\n this._accountService.authorize(code).subscribe((result: any) => {\r\n\r\n\r\n this.loading = false;\r\n\r\n\r\n\r\n if (result.data.status == true) {\r\n\r\n localStorage.setItem(\"Token\", result.data.token);\r\n \r\n if (this._auth.userRole() == userRoles.TVScreen.name)\r\n this._route.navigateByUrl(\"tv\");\r\n else\r\n this._route.navigateByUrl(\"home/dashboard\");\r\n\r\n //this._route.navigateByUrl(result.data.redirectPath);\r\n } else {\r\n this.clearForm();\r\n this._commonService.error(\"Invalid code\");\r\n }\r\n\r\n }, (_error: any) => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n clearForm() {\r\n this.loading = false;\r\n this.verificationForm.reset();\r\n }\r\n\r\n \r\n}\r\n","\n\n\n\n\n\n
\n
\n\n
\n
\n
\n
\n
\n \"logo\"\n\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n 47 && event.charCode < 58;\" pattern=\"[0-9]{6}\" class=\"form-control\" placeholder=\"Verification code\"\n [ngClass]=\"{ 'is-invalid': f.inputCode.errors && f.inputCode.errors.pattern}\"\n required formControlName=\"inputCode\" id=\"inputCode\" maxlength=\"6\" />\n
\n
{{errors.inputCode}}
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map } from 'rxjs';\r\nimport { BaseRequest } from '../common/model/request';\r\nimport { CommonServiceService } from '../common/_services/common-service.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n baseurl: string;\r\n\r\n constructor(private _router: Router,\r\n private _commonService: CommonServiceService,\r\n private http: HttpClient, @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n }\r\n\r\n \r\n\r\n login(req: any) {\r\n \r\n return this.http.post(this.baseurl + 'api/Account/v1/Login', req)\r\n .pipe(map(response => {\r\n return response;\r\n }));\r\n }\r\n\r\n authorize(req: any) {\r\n \r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n\r\n });\r\n \r\n return this.http.post(this.baseurl + 'api/Account/v1/Authorize', req, { headers })\r\n .pipe(map(response => {\r\n return response;\r\n }));\r\n }\r\n\r\n verifySecretKey(req: any) {\r\n\r\n return this.http.post(this.baseurl + 'api/Account/v1/VerifySecretKey', req)\r\n .pipe(map(response => {\r\n return response;\r\n }));\r\n }\r\n}\r\n\r\n\r\n","import { Injectable, ErrorHandler } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n private _refDialog: any;\r\n constructor(private _router: Router, private spinner: NgxSpinnerService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n this.spinner.hide();\r\n \r\n return throwError(err);\r\n }))\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(private spinner: NgxSpinnerService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.spinner.show();\r\n \r\n request = request.clone({\r\n setHeaders: {\r\n 'AuthBasic':'Basic YWdlbnRhcHA6ZGlnaUNAQGw=',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n }\r\n });\r\n \r\n return next.handle(request).pipe(\r\n tap(event => {\r\n if (event instanceof HttpResponse) {\r\n \r\n this.spinner.hide();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map } from 'rxjs';\r\nimport { LoginUserDetail } from '../model/request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthUserService {\r\n\r\n baseurl: string;\r\n\r\n constructor(private _router: Router, private http: HttpClient, @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n }\r\n\r\n\r\n getUserDetail() {\r\n\r\n var activites = localStorage.getItem(\"act\")?.toString();\r\n if (activites != undefined)\r\n activites = JSON.parse(activites);\r\n\r\n var user = new LoginUserDetail();\r\n user.name = localStorage.getItem(\"name\");\r\n user.balance = localStorage.getItem(\"balance\");\r\n user.Sid = localStorage.getItem(\"sid\");\r\n user.Uid = localStorage.getItem(\"uid\");\r\n user.Unm = localStorage.getItem(\"unm\");\r\n user.Act = activites;\r\n\r\n return user;\r\n\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem(\"Token\");\r\n localStorage.removeItem(\"userName\");\r\n localStorage.removeItem(\"projectPageSize\");\r\n }\r\n\r\n login(req: any) {\r\n return this.http.post(this.baseurl + '/api/account/login', req)\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { error } from \"@angular/compiler/src/util\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Subject } from \"rxjs\";\r\nimport { CreatePinComponent } from \"../../shared/_components/create-pin/create-pin.component\";\r\nimport { ErrorComponent } from \"../../shared/_components/error/error.component\";\r\nimport { OtpVerificationComponent } from \"../../shared/_components/otp-verification/otp-verification.component\";\r\nimport { SuccessSummaryComponent } from \"../../shared/_components/success-summary/success-summary.component\";\r\nimport { SuccessComponent } from \"../../shared/_components/success/success.component\";\r\nimport { ValidatePinComponent } from \"../../shared/_components/validate-pin/validate-pin.component\";\r\nimport { BaseRequest, ClientDeviceInfo, DeviceLocation, Users } from \"../model/request\";\r\nimport { CodeStatus, ResponseCode } from \"../validation/errors-code\";\r\nimport { AuthUserService } from \"./auth-user.service\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonServiceService {\r\n\r\n public OtpClear = new Subject();\r\n //OtpClearObservable$ = this.OtpClear.asObservable();\r\n\r\n constructor(private _route: Router,\r\n\r\n private route: ActivatedRoute,\r\n private _dialog: MatDialog,\r\n private _authUserService: AuthUserService) { }\r\n\r\n public optVerification(otpLen: number, resendWait: number) {\r\n return this._dialog.open(OtpVerificationComponent, { disableClose: true, data: { maxLength: otpLen, otpResendWait: resendWait } });\r\n }\r\n\r\n public createPin() {\r\n return this._dialog.open(CreatePinComponent, { disableClose: true, minWidth: '25%' });\r\n }\r\n\r\n public validatePin() {\r\n return this._dialog.open(ValidatePinComponent, { disableClose: true, minWidth: '20%' });\r\n }\r\n\r\n public success(desc: string) {\r\n return this._dialog.open(SuccessComponent, { panelClass: 'modal-sm', disableClose: true, minWidth: '20%', data: { desc: desc } });\r\n }\r\n\r\n public successSummary(summaryList: any) {\r\n return this._dialog.open(SuccessSummaryComponent, { disableClose: true, minWidth: '35%', data: { data: summaryList } });\r\n }\r\n\r\n public error(desc: string) {\r\n return this._dialog.open(ErrorComponent, { panelClass: 'modal-sm', disableClose: true, minWidth: '20%', data: { desc: desc } });\r\n }\r\n\r\n public getBaseReq(baseReq: BaseRequest) {\r\n\r\n const deviceLocation = new DeviceLocation()\r\n deviceLocation.Lat = \"0.0\";\r\n deviceLocation.Long = \"0.0\";\r\n deviceLocation.BtsId = \"0\";\r\n deviceLocation.BtsLoc = \"\";\r\n deviceLocation.Src = \"GPS\";\r\n\r\n const deviceInfo = new ClientDeviceInfo()\r\n deviceInfo.Chl = 2;\r\n deviceInfo.App = 6;\r\n deviceInfo.Ver = \"1\";\r\n deviceInfo.Imei1 = \"12234234242\";\r\n deviceInfo.Imei2 = \"32424242342\";\r\n deviceInfo.SrNo = \"45454\";\r\n deviceInfo.Net = 1;\r\n deviceInfo.OsVer = \"5.0\";\r\n deviceInfo.Model = \"BM5500\";\r\n deviceInfo.Make = \"Aratek\";\r\n\r\n const user = new Users();\r\n\r\n var loginUser = this._authUserService.getUserDetail();\r\n if (loginUser) {\r\n //user.ABit = \"1\";\r\n //user.Act = [1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n //user.Bid = \"AKSA\";\r\n //user.Lslt = null;\r\n //user.Luat = null;\r\n //user.Rid = null;\r\n user.Sid = loginUser.Sid;//\"ead4288c-c985-4836-ba16-d8fc22fab6e5\";\r\n //user.SidN = \"9WE5jB+x85qqwU4k3ks7Fw9Bx0M7XgX5T7Qz+KvHGaI=\";\r\n if (loginUser.Uid) {\r\n user.Uid = parseInt(loginUser.Uid);\r\n }\r\n user.Unm = loginUser.Unm;\r\n //var UserData = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n //user.Unm = this.Remove92FromMobile(UserData.mobileNumber); // this._appService.currentUserValue[\"mobileNumber\"];//this.currentUserSubject.value[\"mobileNumber\"];//this.currentUser[\"mobileNumber\"];// localStorage.getItem('currentUser');//this._appService.currentUserValue[\"mobileNumber\"];\r\n //user.Sid = UserData.sid;\r\n }\r\n\r\n baseReq.dev = deviceInfo;\r\n baseReq.loc = deviceLocation;\r\n baseReq.user = user;\r\n\r\n return baseReq;\r\n }\r\n\r\n public OtpClearField(data: any) {\r\n\r\n if (data) {\r\n this.OtpClear.next(data);\r\n }\r\n }\r\n\r\n checkForNull(params: any) {\r\n return params === 'null' ? '-' : params;\r\n }\r\n\r\n\r\n setBackNavigation() {\r\n //debugger;\r\n\r\n if (localStorage.getItem(\"CURRENT_PATH\") != window.location.pathname + window.location.search) {\r\n var previousPath = localStorage.getItem(\"CURRENT_PATH\");\r\n\r\n if (previousPath != null && previousPath != \"\" && previousPath != undefined)\r\n localStorage.setItem(\"PREVIOUS_PATH\", previousPath);\r\n else previousPath = \"\";\r\n\r\n\r\n localStorage.setItem(\"CURRENT_PATH\", window.location.pathname + window.location.search);\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map, first } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CoursesService {\r\n\r\n baseurl: string;\r\n token: string;\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n this.token = 'Bearer ' + localStorage.getItem('Token');\r\n }\r\n\r\n public get currentUserValue(): any {\r\n return \"\";// this.currentUserSubject;\r\n }\r\n\r\n upload(uploadFiles: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': this.token\r\n });\r\n return this.http.post(this.baseurl + '/Upload/UploadFiles', uploadFiles, {\r\n reportProgress: true,\r\n observe: 'events'\r\n });\r\n }\r\n\r\n getScheduleData(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetScheduleData',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n companiesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n 'x-api-key': 'KjTFKEGi7R11DuvLSPaV16IJLfTPCkKV3qowOXtE',\r\n 'Access-Control-Allow-Origin': '*/*',\r\n 'Authorization': 'API Key'\r\n });\r\n\r\n debugger;\r\n return this.http.get('https://angular-exercise.trunarrative.cloud/TruProxyAPI/rest/Companies/v1/Officers?CompanyNumber=10241297', { headers })\r\n .pipe(map(resp => {\r\n\r\n debugger;\r\n return resp;\r\n }));\r\n }\r\n\r\n getCoursesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCoursesList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCoursesListBySubject(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetCoursesListBySubject', req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getUnassignedCoursesDates(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetUnassignedCoursesDates', req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n sendCourseSchedulerLink(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/SendCourseSchedulerLink', req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n assignSpeakerToCourse(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/AssignSpeakerToCourse', req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n sendReviewRequestToAdmin() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/SendReviewRequestToAdmin', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCoursesListWithId() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCoursesListWithId', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getTVUpcomingCoursesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetTVUpcomingCoursesList', { headers })\r\n .pipe(map(resp => {\r\n\r\n return resp;\r\n }));\r\n }\r\n\r\n getUpcomingCoursesList(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetUpcomingCoursesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n\r\n\r\n //return this.http.get(this.baseurl + 'api/Courses/v1/GetUpcomingCoursesList', { headers })\r\n // .pipe(map(resp => {\r\n // return resp;\r\n // }));\r\n }\r\n\r\n getAllCoursesList(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetAllCoursesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n //return this.http.get(this.baseurl + 'api/Courses/v1/GetAllCoursesList', { headers })\r\n // .pipe(map(resp => {\r\n // return resp;\r\n // }));\r\n }\r\n\r\n getArchivedCoursesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetArchivedCoursesList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getUpcomingCoursesReport() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetUpcomingCoursesReport', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getSpeakersList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetSpeakersList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getMimeoUsersList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetMimeoUsersList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getHotelsList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetHotelsList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getHotelRoomsList(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetHotelRoomsList',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateSpeaker(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateSpeaker',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n updateMaterialSent(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateMaterialSent',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateDelegateMaterialSent(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateDelegateMaterialSent',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateDelegatePayment(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateDelegatePayment',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateFoundationCertificate(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateFoundationCertificate',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n addDelegateToCourse(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/AddDelegateToCourse',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n createMeetingLink(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/CreateMeeting',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCourseTitleById(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCourseTitleById',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getHotelsListByLocation(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetHotelsListByLocation',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getLocationsList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetLocationsList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCourseTypesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCourseTypesList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getSubjectsList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetSubjectsList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCurrentCourseList(title: any) {\r\n \r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCurrentCourseList',\r\n {\r\n params: {\r\n id: title.value\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getUnassignedCoursesList(req: any) {\r\n \r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetUnassignedCoursesList', req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCurrentCourseViewList(title: any, id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n // response is different\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCurrentCourseViewList',\r\n {\r\n params: {\r\n title: title.value,\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getYearlySchedule(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetYearlyScheduleData',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n // need to add this service in controller\r\n getSpeakersByCourse(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/GetSpeakersByCourse',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateCourseSchedule(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateCourseSchedule',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateCourseToAssignSchedule(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateCourseToAssignSchedule',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateCourseData(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateCourseData',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertCourseData(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/InsertCourseData',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteCourseSchedule(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/DeleteCourseSchedule',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteCourse(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/DeleteCourse',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteSpeaker(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/DeleteSpeaker',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteCourseTitle(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/DeleteCourseTitle',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n cancelCourse(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/CancelCourse',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //updateCourseData\r\n updateRooms(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/UpdateRooms',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getCourseTitlesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetCourseTitlesList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n addEditCourseTitle(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/AddEditCourseTitle',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n addEditSpeaker(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Courses/v1/AddEditSpeaker',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map, first } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n baseurl: string;\r\n token: string;\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n this.token = 'Bearer ' + localStorage.getItem('Token');\r\n }\r\n\r\n //constructor(private _router: Router, private http: HttpClient, @Inject('BASE_URL') base: string) {\r\n // this.baseurl = base;\r\n //}\r\n\r\n balanceInquiry(req: any) {\r\n return this.http.post(this.baseurl + 'api/AgentRegistrationService/v1/BalanceInquiry', req)\r\n .pipe(map(response => {\r\n return response;\r\n }));\r\n }\r\n\r\n \r\n getThisWeekCoursesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetThisWeekCoursesList',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getStats() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Dashboard/v1/GetStats',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getNotifications() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Dashboard/v1/GetNotifications',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n notificationActionTaken(req: any) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Dashboard/v1/NotificationActionTaken',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { map, first, catchError } from 'rxjs/operators';\r\nimport { RequestService } from './request-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DelegateService {\r\n\r\n baseurl: string;\r\n token: string;\r\n _header_options = {};\r\n\r\n constructor(private _router: Router,\r\n private http: HttpClient,\r\n @Inject('BASE_URL') base: string,\r\n private modal: NgbModal,\r\n private _requestService: RequestService) {\r\n this.baseurl = base;\r\n this.token = 'Bearer ' + localStorage.getItem('Token');\r\n\r\n this._header_options = {\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n public get currentUserValue(): any {\r\n return \"\";// this.currentUserSubject;\r\n }\r\n\r\n insertDelegate(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertDelegate',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertInhouse(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertInhouse',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertOrganisation(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertOrganisation',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertProduct(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertProduct',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getDelegateData(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetDelegateData',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n searchDelegateByEmail(email: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/SearchDelegateByEmail',\r\n {\r\n params: {\r\n email: email\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getInhouseData(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetInhouseData',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteDelegate(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteDelegate',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteOrganisation(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteOrganisation',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteInhouse(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteInhouse',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteInhouseTrainer(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteInhouseTrainer',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n deleteProduct(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteProduct',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n deleteInhouseExpense(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteInhouseExpense',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getDelegatesList(req) {\r\n\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n //return this.http.get(this.baseurl + 'api/Delegate/v1/GetDelegatesList',\r\n // {\r\n // headers\r\n // })\r\n // .pipe(map(resp => {\r\n // return resp;\r\n // }));\r\n\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetDelegatesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getMarketingReportData(columnName: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetMarketingReportData',\r\n {\r\n params: {\r\n columnName: columnName\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getInhouseList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetInhouseList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getOrganisationList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetOrganisationList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getProductList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetProductList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getProductTitle() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetProductTitle',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getPurchasesList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetPurchasesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n\r\n getFoundationCertDDLists() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetFoundationCertDDLists',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n getInvoicesList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/GetInvoicesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getApprovalsList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetApprovalsList',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getNewBooking() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetNewBooking',\r\n {\r\n headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n insertBooking(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertBooking',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertProductBooking(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/InsertProductBooking',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateInhouseTrainer(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateInhouseTrainer',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n\r\n updateInhouseItems(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateInhouseItems',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n approveBooking(req: any) {\r\n debugger;\r\n return this._requestService.POST_REQUEST(this._header_options, this.baseurl, 'api/Delegates/v1/ApproveBooking', req);\r\n\r\n\r\n //let headers = new HttpHeaders({\r\n // 'Content-Type': 'application/json ',\r\n // 'Authorization': this.token\r\n //});\r\n\r\n //return this.http.post(this.baseurl + 'api/Delegates/v1/ApproveBooking',\r\n // JSON.stringify(req), { headers })\r\n // .pipe(map(resp => {\r\n // debugger;\r\n // return resp;\r\n // }));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n rejectBooking(req: any) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/RejectBooking',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateDelegateInvoiceAddress(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateDelegateInvoiceAddress',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateInhouseInvoiceAddress(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateInhouseInvoiceAddress',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateInhouse(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateInhouse',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateInhousePaid(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateInhousePaid',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateDelegatePostalAddress(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/UpdateDelegatePostalAddress',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n changeDelegateCourse(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegates/v1/ChangeDelegateCourse',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertDelegateProduct(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/InsertDelegateProduct',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertCreditNote(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Delegate/v1/InsertCreditNote',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n getCreditNotesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/GetCreditNotesList', { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteCreditNote(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Delegate/v1/DeleteCreditNote',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map, first } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FinanceService {\r\n\r\n baseurl: string;\r\n token: string;\r\n\r\n constructor(private _router: Router,\r\n private http: HttpClient,\r\n @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n this.token = 'Bearer ' + localStorage.getItem('Token');\r\n }\r\n\r\n public get currentUserValue(): any {\r\n return \"\";// this.currentUserSubject;\r\n }\r\n\r\n\r\n getSuppliersList() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Finance/v1/GetSuppliersList',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertSupplier(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/InsertSupplier',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteSupplier(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Finance/v1/DeleteSupplier',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n deleteSupplierInvoice(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n\r\n return this.http.get(this.baseurl + 'api/Finance/v1/DeleteSupplierInvoice',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getUnpaidReceivedInvoicesList() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n return this.http.get(this.baseurl + 'api/Finance/v1/GetUnpaidReceivedInvoicesList',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n \r\n }\r\n\r\n markUnpaidReceivedInvoices() {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n return this.http.get(this.baseurl + 'api/Finance/v1/MarkUnpaidReceivedInvoices',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n \r\n }\r\n\r\n \r\n\r\n getReceivedInvoicesList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetReceivedInvoicesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getSupplierData(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Finance/v1/GetSupplierData',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n insertInvoiceReceived(req: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/InsertInvoiceReceived',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getAccountantReport(req) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n //var _title = JSON.stringify(title);\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetAccountantReport',\r\n JSON.stringify(req), { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getDebtCollectionList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetDebtCollectionList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getAllSpeakersCoursesList(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetAllSpeakersCoursesList',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getIndividualSpeakersCourses(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetIndividualSpeakersCourses',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getSpeakerData(id: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n\r\n return this.http.get(this.baseurl + 'api/Courses/v1/GetSpeakerData',\r\n {\r\n params: {\r\n id: id\r\n }, headers\r\n })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n GetXeroInvoices(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetXeroInvoices',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n updateInvoiceFromXero(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/UpdateInvoiceFromXero',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n GetXeroToken(req) {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.post(this.baseurl + 'api/Finance/v1/GetXeroToken',\r\n req, { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n getDebtCollectionCount() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Finance/v1/GetDebtCollectionCount',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { catchError, map } from \"rxjs\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestService {\r\n\r\n baseurl: string;\r\n token: string;\r\n _header_options = {};\r\n\r\n constructor(private _router: Router,\r\n private http: HttpClient,\r\n @Inject('BASE_URL') base: string,\r\n private modal: NgbModal,\r\n ) {\r\n this.baseurl = base;\r\n this.token = 'Bearer ' + localStorage.getItem('Token');\r\n\r\n this._header_options = {\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': this.token\r\n }\r\n }\r\n\r\n POST_REQUEST(_HEADER_OPTIONS, _BASE_URL, _PATH, _REQUEST_PARAMS) {\r\n let headers = new HttpHeaders(_HEADER_OPTIONS);\r\n debugger;\r\n return this.http.post(_BASE_URL + _PATH,\r\n JSON.stringify(_REQUEST_PARAMS), { headers })\r\n //.pipe(map(resp => {\r\n\r\n\r\n // debugger;\r\n // return resp;\r\n //}\r\n //));\r\n\r\n\r\n .pipe(\r\n map(result => {\r\n //debugger;\r\n if (result == null) {\r\n this.modal.dismissAll();\r\n this._router.navigateByUrl(\"/account/login\");\r\n }\r\n else return result;\r\n }),\r\n catchError((err, caught) => {\r\n //debugger;\r\n console.log(err);\r\n return \"exception\";\r\n })\r\n )\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { map, Subject } from 'rxjs';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n private authChangeSub = new Subject()\r\n public authChanged = this.authChangeSub.asObservable();\r\n baseurl: string;\r\n constructor(private http: HttpClient,\r\n private jwtHelper: JwtHelperService,\r\n @Inject('BASE_URL') base: string) {\r\n this.baseurl = base;\r\n }\r\n\r\n //public registerUser = (route: string, body: UserForRegistrationDto) => {\r\n // return this.http.post(this.createCompleteRoute(route, this.envUrl.urlAddress), body);\r\n //}\r\n\r\n //public loginUser = (route: string, body: UserForAuthenticationDto) => {\r\n // return this.http.post(this.createCompleteRoute(route, this.envUrl.urlAddress), body);\r\n //}\r\n\r\n public sendAuthStateChangeNotification = (isAuthenticated: boolean) => {\r\n this.authChangeSub.next(isAuthenticated);\r\n }\r\n\r\n public logout = () => {\r\n localStorage.removeItem(\"Token\");\r\n this.sendAuthStateChangeNotification(false);\r\n }\r\n\r\n public isTokenExpired = (): boolean => {\r\n const token = localStorage.getItem(\"Token\");\r\n\r\n //return !!token && !!this.jwtHelper.isTokenExpired(token);\r\n if ((token != null) && (token != undefined))\r\n return this.jwtHelper.isTokenExpired(token);\r\n else\r\n return true; // this means token expired\r\n }\r\n\r\n public setLocalStorage() {\r\n const token = localStorage.getItem(\"Token\");\r\n if ((token != null) && (token != undefined)) {\r\n\r\n var _obj = {\r\n FirstName: \"\",\r\n GUID: \"\",\r\n LastName: \"\",\r\n UserId: \"\",\r\n UserName: \"\",\r\n exp: 0,\r\n iat: 0,\r\n nbf: 0,\r\n role: \"\"\r\n }\r\n _obj = this.jwtHelper.decodeToken(token);\r\n localStorage.setItem(\"userName\", _obj.FirstName + ' ' + _obj.LastName);\r\n\r\n }\r\n }\r\n\r\n\r\n public userRole = (): string => {\r\n\r\n \r\n const token = localStorage.getItem(\"Token\");\r\n if ((token != null) && (token != undefined)) {\r\n\r\n var _obj = {\r\n FirstName: \"\",\r\n GUID: \"\",\r\n LastName: \"\",\r\n UserId: \"\",\r\n UserName: \"\",\r\n exp: 0,\r\n iat: 0,\r\n nbf: 0,\r\n role: \"\"\r\n }\r\n _obj = this.jwtHelper.decodeToken(token);\r\n localStorage.setItem(\"userName\", _obj.FirstName + ' ' + _obj.LastName);\r\n return _obj.role;\r\n //return this.jwtHelper.decodeToken(token);\r\n }\r\n else return \"\";\r\n \r\n //return decodedToken.\r\n }\r\n\r\n\r\n\r\n\r\n public isUserAdmin = (): boolean => {\r\n //const token = localStorage.getItem(\"token\");\r\n //const decodedToken = this.jwtHelper.decodeToken(token);\r\n //const role = decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/role']\r\n\r\n return true;\r\n //return role === 'Administrator';\r\n }\r\n\r\n private createCompleteRoute = (route: string, envAddress: string) => {\r\n return `${envAddress}/${route}`;\r\n }\r\n\r\n validateSession() {\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json ',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n });\r\n\r\n return this.http.get(this.baseurl + 'api/Account/v1/ValidateSession',\r\n { headers })\r\n .pipe(map(resp => {\r\n return resp;\r\n }));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { AuthenticationService } from './AuthenticationService';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private authService: AuthenticationService, private router: Router) { }\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n \r\n\r\n this.ionViewDidLoad();\r\n\r\n if (!this.authService.isTokenExpired()) {\r\n return true;\r\n }\r\n\r\n this.router.navigate(['/account/login'], { queryParams: { returnUrl: state.url } });\r\n\r\n return false;\r\n\r\n\r\n }\r\n\r\n\r\n checkTimeout() {\r\n\r\n setTimeout(() => {\r\n \r\n\r\n // if token not expired\r\n if (!this.authService.isTokenExpired()) {\r\n\r\n //// verify if the session not also expired\r\n //this.authService.validateSession().subscribe((result: any) => {\r\n // \r\n // if (result.success == true) {\r\n // // session not expired\r\n\r\n\r\n // }\r\n // else {\r\n // console.log(\"Server error\");\r\n // }\r\n\r\n //}, (_error: any) => {\r\n\r\n // // if session expired then redirect to login\r\n // if (_error.status == 401) {\r\n // console.log(\"Session expired\");\r\n // this.router.navigate(['/account/login']);\r\n // }\r\n // else {\r\n // console.log(\"Other Exception: \"+_error);\r\n // this.router.navigate(['/account/login']);\r\n // }\r\n //})\r\n }\r\n // the token is expired\r\n else {\r\n console.log(\"Token expired\");\r\n this.router.navigate(['/account/login']);\r\n }\r\n\r\n //if (!this.authService.isTokenExpired()) {\r\n // //return true;\r\n\r\n //}\r\n //else {\r\n // this.router.navigate(['/account/login']);\r\n // //return false;\r\n //}\r\n this.checkTimeout();\r\n }, 120000);\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n\r\n this.checkTimeout();\r\n\r\n // Attach event listeners to reset the idle timeout\r\n document.addEventListener('mousemove', this.resetIdleTimeout);\r\n document.addEventListener('keydown', this.resetIdleTimeout);\r\n\r\n // Initialize the idle timeout\r\n //this.resetIdleTimeout();\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n \r\n\r\n // Create a variable to store the timeout ID\r\n idleTimeout: any;\r\n\r\n // Function to reset the idle timeout\r\n resetIdleTimeout() {\r\n\r\n // Set the idle timeout duration in milliseconds (1 minute)\r\n var idleTimeoutDuration = 2400000; // 60,000 milliseconds = 1 minute, this is for 30 mins\r\n\r\n // Clear the existing timeout, if any\r\n window.clearTimeout(this.idleTimeout);\r\n \r\n //console.log(this.idleTimeout);\r\n\r\n // Set a new timeout for 1 minute\r\n this.idleTimeout = setTimeout(() => {\r\n // Redirect to the login page when the timeout occurs\r\n //alert(\"logout\");\r\n window.location.href = '/account/login';\r\n //this.router.navigate(['/account/login']); // login page URL\r\n }, idleTimeoutDuration);\r\n\r\n }\r\n\r\n\r\n \r\n\r\n\r\n\r\n}","export class Activity {\n id: number;\n parentId: number;\n name: string;\n url: string;\n icon: string;\n}\n\nexport class MainActivity extends Activity {\n subActivities: Activity[];\n}\n\nexport class SubActivity extends Activity {\n childActivities: ChildActivity[];\n}\n\nexport class ChildActivity extends Activity {\n common: string;\n}\n","import { CalendarEventAction } from \"angular-calendar\";\r\n\r\nexport class BaseRequest {\r\n public dev = new ClientDeviceInfo();\r\n public loc = new DeviceLocation();\r\n public user = new Users();\r\n public act = new Act();\r\n public custInfo = new Object();\r\n public args: string[];\r\n}\r\n\r\n\r\nexport class ClientDeviceInfo {\r\n public Chl: number;\r\n public App: number;\r\n public Ver: string;\r\n public Imei1: string;\r\n public Imei2: string;\r\n public SrNo: string;\r\n public IP: string;\r\n public Net: number;\r\n public OsVer: string;\r\n public Model: string;\r\n public Make: string;\r\n}\r\n\r\nexport class DeviceLocation {\r\n public BtsId: string;\r\n public BtsLoc: string;\r\n public Src: string;\r\n public Lat: string;\r\n public Long: string;\r\n}\r\n\r\nexport class Users {\r\n public ABit: string;\r\n public Act: [1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n public Bid: string;\r\n public Lslt: string | null;\r\n public Luat: string | null;\r\n public Rid: string | null;\r\n public Sid: string | null;\r\n public SidN: string;\r\n public Uid: number;\r\n public Unm: string | null;\r\n public CBit: number;\r\n public pwd: string;\r\n public Npwd: string;\r\n public Mpn: string;\r\n}\r\n\r\nexport class Act {\r\n public Typ: number;\r\n public Lvl: number;\r\n public Tid: string;\r\n public date: string;\r\n public nid: string;\r\n public otp: string;\r\n public otpid: string;\r\n public Tdata = new Object();\r\n public Bdata = new Object();\r\n public bio = new bio();\r\n}\r\n\r\nexport class Tdata {\r\n public AccType: number;\r\n public CNIC: string;\r\n public ContactNo: string;\r\n}\r\n\r\nexport class bio {\r\n public ImageType: number;\r\n public Area: number;\r\n public FingerNumber: number;\r\n public AcquiredAfis: string;\r\n}\r\n\r\nexport enum levels {\r\n zero = 0,\r\n one = 1,\r\n two,\r\n three,\r\n four\r\n}\r\n\r\nexport const userRoles = {\r\n SuperAdmin: { value: 1, name: \"SuperAdmin\" },\r\n Admin: { value: 2, name: \"Admin\" },\r\n Employee: { value: 3, name: \"Employee\" },\r\n Guest: { value: 4, name: \"Guest\" },\r\n ViewOnly: { value: 5, name: \"ViewOnly\" },\r\n TVScreen: { value: 6, name: \"TVScreen\" },\r\n Speaker: { value: 7, name: \"Speaker\" }\r\n}\r\n\r\nexport class LoginUserDetail {\r\n public name: string | null;\r\n public balance: string | null;\r\n public Sid: string | null;\r\n public Uid: any;\r\n public Unm: string | null;\r\n public Act: any;\r\n}\r\n\r\nexport enum ActivitiesList {\r\n LOGIN = 1,\r\n LOGOUT = 2,\r\n AGENT_REGISTRATION = 5,\r\n BALANCE_INQUIRY = 6,\r\n CASH_DEPOSIT = 7,\r\n CASH_WITHDRAWAL = 8,\r\n CREATE_PIN = 9,\r\n VIEW_LIMITS = 10,\r\n BILL_PAYMENT = 11,\r\n BILL_PAYMENT_POSTPAID = 12,\r\n MOBILE_TOP_UP = 13,\r\n AGENT_TRANSFER = 14,\r\n FRANCHISE_TRANSFER = 15,\r\n RECENT_TRANSACTIONS_HISTORY = 16,\r\n SEND_MONEY_TRN = 17,\r\n SEND_MONEY_WALLET = 18,\r\n RECEIVE_MONEY_TRN = 19,\r\n HELP = 20,\r\n}\r\n\r\nexport class CalendarSchedule {\r\n id?: string | number;\r\n start: Date;\r\n end?: Date;\r\n title: string;\r\n color?: string;\r\n actions?: CalendarEventAction[];\r\n allDay?: boolean;\r\n cssClass?: string;\r\n resizable?: {\r\n beforeStart?: boolean;\r\n afterEnd?: boolean;\r\n };\r\n draggable?: boolean;\r\n\r\n\r\n}","export class ResponseCode {\n public static readonly VerificationOTP1: string = \"1020101\";\n public static readonly VerificationOTP2: string = \"1020102\";\n public static readonly OK: string = '00';\n public static readonly OTPExpired: string = 'BBS06';\n public static readonly InvalidOTP: string = 'BBS05'; \n public static readonly SessionExpired: string = 'BBS07'; \n\n \n public static Nadra: boolean;\n\n}\n\nexport class CodeStatus {\n public static readonly Warning: string = 'Warning';\n public static readonly Error: string = 'Error';\n public static readonly Remarks: string = 'Remarks';\n public static readonly Success: string = 'Success';\n public static readonly Alert: string = 'Alert';\n public static readonly Reject: string = 'Rejected reason';\n}\n\nexport class Retries {\n public static Count: number = 4;\n}\n","\r\nexport class MaskEnum {\r\n\r\n static cnic = \"00000-0000000-0\";\r\n static DateFormat = 'dd/MM/yyyy';\r\n static LatLong = '00.00000000';\r\n static DateFormatForBackend = 'yyyy-MM-dd';\r\n static DateFormatDisplay = 'dd/MM/yyyy';\r\n //static DateFormatDisplay = 'DD/MM/YYYY';\r\n}\r\n\r\nexport const inputMasks: { [key: string]: any } = {\r\n cnic: [/\\d/, /\\d/, '/\\d/', /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/],\r\n msisdn: [/\\d/, /\\d/, '/\\d/', /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\r\n};\r\n\r\nexport const regExpressions: { [key: string]: RegExp } = {\r\n password: /^(?=.*?[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{7,15}$/,\r\n // msisdn: /^(1876)([0-9]{7})$/,\r\n msisdn: /^(03)([0-9]{9})$/,\r\n trn: /^()([0-9]{9})$/,\r\n amount: /^([1-9][0-9]*)$/,\r\n cnic: /[0-9]{13}$/,\r\n alphabets: /^[a-zA-Z \\-\\']+/,\r\n\r\n //////OS Change Set \r\n agentUserID: /[0-9]{4}$/,\r\n agentPin: /[0-9]{4}$/,\r\n otp: /[0-9]{4}$/,\r\n franchiseID: /[0-9]{4}$/,\r\n email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\r\n //email: /^[a-zA-Z0-9._.'�%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/,\r\n refrenceNo: /[a-zA-Z0-9]{14,24}$/,\r\n ibanno: /[a-zA-Z0-9]{11,24}$/,\r\n ntn: /[a-zA-Z0-9]{7,19}$/,\r\n businessNamePattern: /[a-zA-Z0-9.,()!?:/+*=@'_ -]*/,\r\n forbiddenchars: /^[^#&$]+$/,\r\n //ibanno: /^(?:[A-Za-z0-9]{5}|[A-Za-z0-9]{9})$/,\r\n inputCode: /[0-9]{6}$/,\r\n telephone: /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/\r\n};\r\n\r\n\r\nexport const errorMessages: { [key: string]: string } = {\r\n msisdn: 'MSISDN must be starts with 1876 and total of 11 digits',\r\n // msisdn: 'MSISDN must be starts with 13 and total of 11 digits',\r\n cnic: 'Please enter valid CNIC. CNIC must be 13 digits',\r\n amount: 'Please enter valid amount.',\r\n fullName: 'Full name must be between 1 and 128 characters',\r\n email: 'Email must be a valid email address (username@domain.com)',\r\n confirmEmail: 'Email addresses must match',\r\n password: 'Password must be between 7 and 15 characters, and contain at least one uppercase letter, one number and special character',\r\n confirmPassword: 'Passwords must match',\r\n trn: 'Please enter valid TRN',\r\n\r\n agentUserID: 'Agent User ID must be 4 digits.',\r\n franchiseID: 'Franchise ID must be 4 digits.',\r\n agentPin: 'Agent Pin must be 4 digits.',\r\n agentPinConfirm: 'Agent Pin must match.',\r\n refrenceNo: 'Reference number must be entered.',\r\n termsCondition: \"You Must agree with terms and conditions\",\r\n subAgencyAgreement: \"You Must agree with subagency agreement\",\r\n ibanno: \" Please enter IBAN/Number correctly\",\r\n otp: \"OTP must be entered and 5 in length\",\r\n ntn: \"NTN number lies between 7 to 19\",\r\n businessNamePattern: \"Business name contains alphanumeric with .,()!?:/+*=@'_- only\",\r\n forbiddenchars: \"#, $, & are not allowed\",\r\n inputCode: \"Invalid code\",\r\n courseTitle: \"Course title required\",\r\n startDate: \"Invalid date\",\r\n name: \"Name required\",\r\n postcode: \"Postcode required\",\r\n required: \"Invalid data\",\r\n keyRequired: \"Secret key required\"\r\n};\r\n\r\nexport enum TabIndex {\r\n Dashboard = 0,\r\n Courses, \r\n Delegates,\r\n Inhouse,\r\n Finance,\r\n Schedule,\r\n //YearlySchedule,\r\n Admin,\r\n Products,\r\n Upload,\r\n Speakers,\r\n Reports\r\n}\r\n\r\nexport enum CourseType {\r\n FullDay = 1,\r\n Certificates,\r\n eLearning,\r\n Products,\r\n Inhouse,\r\n Webinar\r\n}\r\n\r\nexport enum XeroInvoiceStatus {\r\n ALL = 0,\r\n DRAFT,\r\n SUBMITTED,\r\n DELETED,\r\n AUTHORISED,\r\n PAID,\r\n VOIDED \r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport {\r\n CalendarEvent, CalendarMonthViewBeforeRenderEvent, CalendarEventAction, CalendarEventTimesChangedEvent, CalendarView,\r\n} from 'angular-calendar';\r\nimport {\r\n startOfDay, endOfDay, subDays, addDays, endOfMonth, isSameDay, isSameMonth, addHours,\r\n} from 'date-fns';\r\nimport { Subject } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { errorMessages } from '../../../common/validation/messages';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { AuthenticationService } from '../../../common/guards/AuthenticationService';\r\nimport { userRoles } from '../../../common/model/request';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\n\r\n\r\nconst colors: any = {\r\n red: {\r\n primary: '#ad2121',\r\n secondary: '#FAE3E3',\r\n },\r\n blue: {\r\n primary: '#1e90ff',\r\n secondary: '#D1E8FF',\r\n },\r\n yellow: {\r\n primary: '#e3bc08',\r\n secondary: '#FDF1BA',\r\n },\r\n purple: {\r\n primary: '#862b78',\r\n secondary: '#862b78',\r\n },\r\n};\r\n@Component({\r\n selector: 'app-course-scheduler',\r\n templateUrl: './course-scheduler.component.html',\r\n styleUrls: ['./course-scheduler.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: [\r\n `\r\n h3 {\r\n margin: 0 0 10px;\r\n }\r\n\r\n pre {\r\n background-color: #f5f5f5;\r\n padding: 15px;\r\n }\r\n `,\r\n ]\r\n})\r\nexport class CourseSchedulerComponent implements OnInit {\r\n\r\n _paramOut = {\r\n showMonthlySchedule: false,\r\n showYearlySchedule: false,\r\n showSpeakersSchedule: false\r\n }\r\n\r\n @Output() gotoSchedule = new EventEmitter();\r\n\r\n\r\n @ViewChild('modalAssignCourse', { static: true }) modalAssignCourse: TemplateRef;\r\n\r\n //@ViewChild('modalContentEdit', { static: true }) modalContentEdit: TemplateRef;\r\n\r\n //@ViewChild('modalContentInsert', { static: true }) modalContentInsert: TemplateRef;\r\n\r\n @ViewChild('select') select: MatSelect;\r\n\r\n view: CalendarView = CalendarView.Month;\r\n\r\n CalendarView = CalendarView;\r\n\r\n viewDate: Date = new Date();\r\n\r\n public speakersListByCourse: any;\r\n public coursesList: any;\r\n public speakersList: any;\r\n public locationsList: any;\r\n public subjectsList: any;\r\n public currentCoursesList: any;\r\n public url = environment.apiURL;\r\n public _title = \"Assign course\";\r\n public _refDialog: any;\r\n\r\n //public _courseTitle: string;\r\n public _subjectTitle: string;\r\n public _speaker: string;\r\n public _location: string;\r\n\r\n\r\n assignCourseForm: FormGroup;\r\n coursesForm: FormGroup;\r\n cuForm: FormGroup;\r\n insertForm: FormGroup;\r\n\r\n errors: any = errorMessages;\r\n start_date: any = new FormControl(new Date());\r\n\r\n speakerName: any;\r\n selectedCourse: any;\r\n\r\n isAssign: any = false;\r\n isSpeaker: any = false;\r\n filter_Speaker: any = 0;\r\n filter_SelectedCourse: any = 0;\r\n\r\n isSearchBySpeaker: boolean = false;\r\n isSearchByCourse: boolean = false;\r\n showCoursesList: boolean = false;\r\n showUnassignedCourses: boolean = false;\r\n isViewCourseDates: boolean = false;\r\n coursesDatesList: any;\r\n unassignedSpeakersList: any;\r\n\r\n\r\n\r\n\r\n\r\n\r\n getSpeakersByCourse(_courseId) {\r\n var req = {\r\n courseId: _courseId\r\n }\r\n this._coursesService.getSpeakersByCourse(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersListByCourse = result.data;\r\n\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n public toggleSelectionPopulateSpeaker(item: any) {\r\n item.selected = !item.selected;\r\n\r\n\r\n if (item.selected) {\r\n this.getSpeakersByCourse(item.courseId);\r\n\r\n this.events = [];\r\n var setDate = true;\r\n\r\n // all the speakers in this.speakersListByCourse\r\n if (this.speakersListByCourse.length > 0)\r\n this.speakersListByCourse.forEach((item: any) => {\r\n\r\n if (item != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(item.day1Date);\r\n setDate = false;\r\n }\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.day1Date)),\r\n end: new Date(item.day1Date),\r\n title: \"D1 - \" + item.speakerName,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.day2Date)),\r\n end: new Date(item.day2Date),\r\n title: \"D2 - \" + item.speakerName,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.day3Date)),\r\n end: new Date(item.day3Date),\r\n title: \"D3 - \" + item.speakerName,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.day4Date)),\r\n end: new Date(item.day4Date),\r\n title: \"D4 - \" + item.speakerName,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.refresh.next();\r\n }\r\n });\r\n }\r\n else {\r\n var __index = this.events.length - 1;\r\n this.events.slice().reverse().forEach((__item, index) => {\r\n index = __index;\r\n if (__item.id === item.courseId)\r\n this.events.splice(index, 1);\r\n __index--;\r\n });\r\n }\r\n\r\n this.refresh.next();\r\n }\r\n\r\n\r\n public toggleSelection(item: any, event) {\r\n\r\n \r\n //item.selected = !item.selected;\r\n\r\n var itemSelected = $('#' + item.courseId).is(':checked');\r\n if (itemSelected)\r\n this.getSpeakersByCourse(item.courseId);\r\n //if (item.selected) {\r\n // this.getSpeakersByCourse(item.courseId);\r\n //}\r\n\r\n this.events = [];\r\n var setDate = true;\r\n\r\n\r\n if (itemSelected) {\r\n if (item.datesToAssign != null) {\r\n if (setDate == true) {\r\n this.viewDate = new Date(item.datesToAssign.day1Date);\r\n setDate = false;\r\n }\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.datesToAssign.day1Date)),\r\n end: new Date(item.datesToAssign.day1Date),\r\n title: \"D1 - \" + item.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.datesToAssign.day2Date)),\r\n end: new Date(item.datesToAssign.day2Date),\r\n title: \"D2 - \" + item.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.datesToAssign.day3Date)),\r\n end: new Date(item.datesToAssign.day3Date),\r\n title: \"D3 - \" + item.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.datesToAssign.day4Date)),\r\n end: new Date(item.datesToAssign.day4Date),\r\n title: \"D4 - \" + item.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.refresh.next();\r\n }\r\n }\r\n else {\r\n var __index = this.events.length - 1;\r\n this.events.slice().reverse().forEach((__item, index) => {\r\n index = __index;\r\n if (__item.id === item.courseId)\r\n this.events.splice(index, 1);\r\n __index--;\r\n });\r\n }\r\n\r\n this.refresh.next();\r\n }\r\n\r\n //public moveSelected(direction: any) {\r\n // if (direction === 'left') {\r\n // this.list2.forEach(item => {\r\n // if (item.selected) {\r\n // this.list1.push(item);\r\n // }\r\n // });\r\n // this.list2 = this.list2.filter(i => !i.selected);\r\n // } else {\r\n // this.list1.forEach(item => {\r\n // if (item.selected) {\r\n // this.list2.push(item);\r\n // }\r\n // });\r\n // this.list1 = this.list1.filter(i => !i.selected);\r\n // }\r\n //}\r\n\r\n //public moveAll(direction: any) {\r\n // if (direction === 'left') {\r\n // this.list1 = [...this.list1, ...this.list2];\r\n // this.list2 = [];\r\n // } else {\r\n // this.list2 = [...this.list2, ...this.list1];\r\n // this.list1 = [];\r\n // }\r\n //}\r\n\r\n\r\n modalData: {\r\n action: string;\r\n event: CalendarEvent;\r\n };\r\n\r\n\r\n constructor(private http: HttpClient,\r\n private modal: NgbModal,\r\n private _auth: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private _commonService: CommonServiceService,\r\n private _dialog: MatDialog,\r\n private _coursesService: CoursesService) {\r\n\r\n setTimeout(() => {\r\n $(\"#main_crs div:nth-child(1) div:first-child\").css(\"color\", \"white\");\r\n $(\"#main_crs div:nth-child(2) div:first-child\").css(\"color\", \"white\");\r\n }, 200);\r\n\r\n \r\n if (this._auth.userRole() == userRoles.Speaker.name) {\r\n this.isSpeaker = true;\r\n }\r\n\r\n this.getCoursesListBySubject(false);\r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.getSpeakersList();\r\n\r\n this.assignCourseForm = this.formBuilder.group({\r\n assignCourse_speakers: ['', Validators.required],\r\n assignCourse_courses: ['', Validators.required],\r\n assignCourse_courseDates: ['', Validators.required]\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n getSpeakersList() {\r\n\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n\r\n //this.cuForm.controls.speaker.patchValue(this.speakersList[0].speakerName);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n getLocationsList() {\r\n\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data\r\n\r\n this.cuForm.controls.location.patchValue(this.locationsList[0].cityName);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.subjectsList = result.data\r\n\r\n this.cuForm.controls.subject.patchValue(this.subjectsList[0].title);\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get f() { return this.cuForm.controls; }\r\n\r\n get i() { return this.insertForm.controls; }\r\n\r\n getUnassignedCoursesListNew(id: any) {\r\n \r\n this.showUnassignedCourses = false;\r\n\r\n if (id.value == null ||\r\n id.value == undefined)\r\n id = { value: id }\r\n\r\n var req = {\r\n CourseTitleId: id.value,\r\n SpeakerId: this.filter_Speaker\r\n }\r\n\r\n\r\n this._coursesService.getUnassignedCoursesList(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n \r\n this.currentCoursesList = result.data;\r\n\r\n this.showUnassignedCourses = true;\r\n\r\n this.events = [];\r\n\r\n } else {\r\n\r\n this._commonService.error(\"No unassigned course found.\");\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getUnassignedCoursesList(id: any) {\r\n\r\n \r\n if (id.value == null ||\r\n id.value == undefined)\r\n id = { value: id }\r\n\r\n var req = {\r\n CourseTitleId: id.value,\r\n SpeakerId: this.filter_Speaker\r\n }\r\n\r\n\r\n this._coursesService.getUnassignedCoursesList(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.currentCoursesList = result.data\r\n\r\n this.events = [];\r\n var setDate = true;\r\n\r\n result.data.forEach((element: any) => {\r\n if (element.datesToAssign != null) {\r\n //if (setDate == true) {\r\n // this.viewDate = new Date(element.datesToAssign.day1Date);\r\n // setDate = false;\r\n //}\r\n\r\n if (element.datesToAssign.day1Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.datesToAssign.day1Date);\r\n setDate = false;\r\n }\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.datesToAssign.id + '|d1|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.datesToAssign.day1Date)),\r\n end: new Date(element.datesToAssign.day1Date),\r\n title: \"D1 - \" + element.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.datesToAssign.day2Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.datesToAssign.day2Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.datesToAssign.id + '|d2|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.datesToAssign.day2Date)),\r\n end: new Date(element.datesToAssign.day2Date),\r\n title: \"D2 - \" + element.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.datesToAssign.day3Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.datesToAssign.day3Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.datesToAssign.id + '|d3|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.datesToAssign.day3Date)),\r\n end: new Date(element.datesToAssign.day3Date),\r\n title: \"D3 - \" + element.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.datesToAssign.day4Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.datesToAssign.day4Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.datesToAssign.id + '|d4|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.datesToAssign.day4Date)),\r\n end: new Date(element.datesToAssign.day4Date),\r\n title: \"D4 - \" + element.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n\r\n this.refresh.next();\r\n\r\n\r\n\r\n\r\n\r\n\r\n //var _calData = {\r\n // start: subDays(startOfDay(element.datesToAssign.day1Date), 1),\r\n // end: addDays(element.datesToAssign.day1Date, 1),\r\n // title: element.courseTitle,\r\n // color: colors.green,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n //}\r\n\r\n\r\n }\r\n });\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getUnassignedCoursesDates(event:any) {\r\n\r\n if (event.value == null ||\r\n event.value == undefined)\r\n event = { value: event }\r\n\r\n var req = {\r\n CourseTitleId: event.value,\r\n //SpeakerId: this.filter_Speaker\r\n }\r\n\r\n \r\n\r\n this._coursesService.getUnassignedCoursesDates(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesDatesList = result.data.courseDates;\r\n this.unassignedSpeakersList = result.data.unassignedSpeakers;\r\n\r\n this.isViewCourseDates = true;\r\n\r\n \r\n // todo: need to check all these variables\r\n this.events = [];\r\n this.showUnassignedCourses = false;\r\n //this.filter_SelectedCourse = 0;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getCoursesListBySubject(isCallingFromPopup) {\r\n\r\n\r\n \r\n var req = {\r\n SpeakerId: this.filter_Speaker\r\n };\r\n\r\n if (isCallingFromPopup == true) {\r\n req = {\r\n SpeakerId: this.assignCourseForm.controls.assignCourse_speakers.value\r\n };\r\n\r\n this.filter_Speaker = this.assignCourseForm.controls.assignCourse_speakers.value;\r\n }\r\n\r\n this._coursesService.getCoursesListBySubject(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data;\r\n\r\n this.showCoursesList = true;\r\n\r\n this.events = [];\r\n this.showUnassignedCourses = false;\r\n this.filter_SelectedCourse = 0;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n updateData(event, newStart, newEnd) {\r\n\r\n\r\n\r\n \r\n var req = {\r\n startDate: new Date(newStart),\r\n //endDate: newEnd,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n req.startDate = new Date();\r\n req.startDate.setDate(newStart.getDate());\r\n req.startDate.setMonth(newStart.getMonth());\r\n req.startDate.setFullYear(newStart.getFullYear());\r\n\r\n // update the data in DatesToAssign\r\n\r\n this._coursesService.updateCourseToAssignSchedule(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n deleteData(event) {\r\n var req = {\r\n //startDate: new Date(newStart),\r\n //endDate: newEnd,\r\n courseId: event.id,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n this._coursesService.deleteCourseSchedule(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.events = this.events.filter((iEvent) => iEvent !== event);\r\n this.refresh.next();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getScheduleData(ids: any) {\r\n\r\n\r\n var req = { ids: ids.value }\r\n this._coursesService.getScheduleData(req).subscribe((result: any) => {\r\n //this.loading = false;\r\n\r\n\r\n\r\n if (result.success == true) {\r\n\r\n\r\n\r\n\r\n this.events = [];\r\n\r\n result.data.forEach((element: any) => {\r\n if (element.datesToAssign != null) {\r\n this.viewDate = new Date(element.datesToAssign.day1Date);\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.datesToAssign.day1Date)),\r\n end: new Date(element.datesToAssign.day1Date),\r\n title: \"D1 - \" + element.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.datesToAssign.day2Date)),\r\n end: new Date(element.datesToAssign.day2Date),\r\n title: \"D2 - \" + element.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.datesToAssign.day3Date)),\r\n end: new Date(element.datesToAssign.day3Date),\r\n title: \"D3 - \" + element.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.datesToAssign.day4Date)),\r\n end: new Date(element.datesToAssign.day4Date),\r\n title: \"D4 - \" + element.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n\r\n\r\n this.refresh.next();\r\n\r\n\r\n\r\n\r\n\r\n\r\n //var _calData = {\r\n // start: subDays(startOfDay(element.datesToAssign.day1Date), 1),\r\n // end: addDays(element.datesToAssign.day1Date, 1),\r\n // title: element.courseTitle,\r\n // color: colors.green,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n //}\r\n\r\n\r\n }\r\n });\r\n\r\n //if(result.data)\r\n } else {\r\n //this.clearForm();\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n //let headers = new HttpHeaders({\r\n // 'Content-Type': 'application/json ',\r\n // 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n\r\n //});\r\n\r\n\r\n //this.http.get(this.url + 'api/Account/v1/Verification', { headers }).subscribe(result => {\r\n // //localStorage.setItem(\"Token\", result.verification.token);\r\n // //this.verificationData = result.verification;\r\n //}, error => console.log(error));\r\n\r\n\r\n }\r\n\r\n beforeMonthViewRender(renderEvent: CalendarMonthViewBeforeRenderEvent): void {\r\n console.log(renderEvent.period.start);\r\n console.log(renderEvent.period.end);\r\n renderEvent.body.forEach((day) => {\r\n const dayOfMonth = day.date.getDate();\r\n if (dayOfMonth > 21 && dayOfMonth < 23 && day.inMonth) {\r\n //day.cssClass = 'bg-pink';\r\n }\r\n });\r\n }\r\n\r\n actions: CalendarEventAction[] = [\r\n {\r\n label: '',\r\n a11yLabel: 'Edit',\r\n onClick: ({ event }: { event: CalendarEvent }): void => {\r\n\r\n var eventDataArray: any;\r\n if (event.cssClass != null && event.cssClass != undefined) {\r\n eventDataArray = event.cssClass.split(\"|\");\r\n\r\n this._subjectTitle = eventDataArray[3];\r\n this._speaker = eventDataArray[4];\r\n this._location = eventDataArray[5];\r\n\r\n\r\n }\r\n\r\n this.start_date = event.start;\r\n this.cuForm.controls.courseTitle.setValue(event.title);\r\n this.cuForm.controls.speaker.patchValue(this._speaker);\r\n this.cuForm.controls.location.patchValue(this._location);\r\n this.cuForm.controls.subject.patchValue(this._subjectTitle);\r\n this._title = \"Edit\";\r\n this.handleEvent('Edited', event);\r\n },\r\n },\r\n {\r\n label: '',\r\n a11yLabel: 'Delete',\r\n onClick: ({ event }: { event: CalendarEvent }): void => {\r\n this._title = \"Delete\";\r\n\r\n\r\n //this._refDialog = this._dialog.open(DeleteComponent, {\r\n // autoFocus: false,\r\n // disableClose: true,\r\n // data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n //});\r\n\r\n //this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n\r\n\r\n // this.deleteData(event);\r\n // //this.events = this.events.filter((iEvent) => iEvent !== event);\r\n // //this.refresh.next();\r\n\r\n // //this.deleteEvent(event);\r\n // //this.handleEvent('Deleted', event);\r\n //});\r\n\r\n //this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n // this._refDialog.close();\r\n //});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //if (confirm(\"Are you sure to delete \")) {\r\n // console.log(\"Implement delete functionality here\");\r\n //}\r\n\r\n //this.modal.open(this.modalContentDetails, { size: 'lg' });\r\n\r\n },\r\n },\r\n ];\r\n\r\n //addNew() {\r\n // this._title = \"Add\";\r\n // this.modal.open(this.modalContentInsert, { size: 'lg' });\r\n //}\r\n\r\n onInsertSubmit() {\r\n\r\n var d2 = this.insertForm.controls.startDate_day2.value ? this.insertForm.controls.startDate_day2.value : null;\r\n var d3 = this.insertForm.controls.startDate_day3.value ? this.insertForm.controls.startDate_day3.value : null;\r\n var d4 = this.insertForm.controls.startDate_day4.value ? this.insertForm.controls.startDate_day4.value : null;\r\n\r\n\r\n var req = {\r\n subjectTitle: this.insertForm.controls.subject.value,\r\n courseTitle: this.insertForm.controls.courseTitle.value,\r\n location: this.insertForm.controls.location.value,\r\n dates: {\r\n day1Date: this.insertForm.controls.startDate_day1.value,\r\n day2Date: d2,\r\n day3Date: d3,\r\n day4Date: d4\r\n },\r\n speakerName: this.insertForm.controls.speaker.value\r\n\r\n\r\n };\r\n\r\n this._coursesService.insertCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n //if (event.cssClass != null && event.cssClass != undefined) {\r\n // var eventDataArray = event.cssClass.split(\"|\");\r\n\r\n // this.events = this.events.filter((iEvent) => iEvent !== event);\r\n\r\n // this.events = [\r\n // ...this.events,\r\n // {\r\n // cssClass: eventDataArray[0] + '|' + eventDataArray[1] + '|' + eventDataArray[2] + '|' +\r\n // req.subject + '|' + req.speakerName + '|' + req.location,\r\n // id: event.id,\r\n // start: startOfDay(new Date(req.startDate)),\r\n // end: new Date(req.startDate),\r\n // title: req.courseTitle,\r\n // //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n\r\n // },\r\n // ];\r\n\r\n // this.refresh.next();\r\n //}\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n onUpdateSubmit(event) {\r\n\r\n\r\n var req = {\r\n startDate: this.cuForm.controls.StartDate.value,\r\n courseTitle: this.cuForm.controls.courseTitle.value,\r\n courseId: event.id,\r\n subject: this.cuForm.controls.subject.value,\r\n speakerName: this.cuForm.controls.speaker.value,\r\n location: this.cuForm.controls.location.value,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n this._coursesService.updateCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n if (event.cssClass != null && event.cssClass != undefined) {\r\n var eventDataArray = event.cssClass.split(\"|\");\r\n\r\n this.events = this.events.filter((iEvent) => iEvent !== event);\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: eventDataArray[0] + '|' + eventDataArray[1] + '|' + eventDataArray[2] + '|' +\r\n req.subject + '|' + req.speakerName + '|' + req.location,\r\n id: event.id,\r\n start: startOfDay(new Date(req.startDate)),\r\n end: new Date(req.startDate),\r\n title: req.courseTitle, // need to update the day in title\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n },\r\n ];\r\n\r\n this.refresh.next();\r\n }\r\n\r\n this.modal.dismissAll();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n }\r\n\r\n refresh = new Subject();\r\n\r\n events: CalendarEvent[] = [\r\n //{\r\n // start: subDays(startOfDay(new Date()), 1),\r\n // end: addDays(new Date(), 1),\r\n // title: 'A 3 day event',\r\n // color: colors.red,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true,\r\n //},\r\n //{\r\n // start: startOfDay(new Date()),\r\n // title: 'An event with no end date',\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n //},\r\n //{\r\n // start: subDays(endOfMonth(new Date()), 3),\r\n // end: addDays(endOfMonth(new Date()), 3),\r\n // title: 'A long event that spans 2 months',\r\n // color: colors.blue,\r\n // allDay: true,\r\n //},\r\n //{\r\n // start: addHours(startOfDay(new Date()), 2),\r\n // end: addHours(new Date(), 2),\r\n // title: 'A draggable and resizable event',\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true,\r\n //},\r\n ];\r\n\r\n activeDayIsOpen: boolean = false;\r\n\r\n\r\n\r\n dayClicked({ date, events }: { date: Date; events: CalendarEvent[] }): void {\r\n\r\n //if (isSameMonth(date, this.viewDate)) {\r\n // if (\r\n // (isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) ||\r\n // events.length === 0\r\n // ) {\r\n // this.activeDayIsOpen = false;\r\n // } else {\r\n // this.activeDayIsOpen = true;\r\n // }\r\n // this.viewDate = date;\r\n //}\r\n }\r\n\r\n eventTimesChanged({\r\n event,\r\n newStart,\r\n newEnd,\r\n }: CalendarEventTimesChangedEvent): void {\r\n\r\n this.events = this.events.map((iEvent) => {\r\n if (iEvent === event) {\r\n\r\n this.updateData(event, newStart, newEnd);\r\n\r\n return {\r\n ...event,\r\n start: newStart,\r\n end: newEnd,\r\n };\r\n }\r\n return iEvent;\r\n });\r\n this.handleEvent('Dropped or resized', event);\r\n }\r\n\r\n handleEvent(action: string, event: CalendarEvent): void {\r\n\r\n //this.modalData = { event, action };\r\n\r\n //if (action == \"Clicked\") {\r\n\r\n // var eventDataArray: any;\r\n // if (event.cssClass != null && event.cssClass != undefined) {\r\n // eventDataArray = event.cssClass.split(\"|\");\r\n\r\n // this._subjectTitle = eventDataArray[3];\r\n // this._speaker = eventDataArray[4];\r\n // this._location = eventDataArray[5];\r\n\r\n\r\n // }\r\n\r\n // this._title = \"Details\";\r\n\r\n // this.modal.open(this.modalContentDetails, { size: 'lg' });\r\n //}\r\n //else if (action == \"Edited\") {\r\n // this.modal.open(this.modalContentEdit, { size: 'lg' });\r\n //}\r\n\r\n }\r\n\r\n addEvent(): void {\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n title: 'New event',\r\n start: startOfDay(new Date()),\r\n end: endOfDay(new Date()),\r\n color: colors.red,\r\n draggable: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n },\r\n ];\r\n }\r\n\r\n deleteEvent(eventToDelete: CalendarEvent) {\r\n\r\n this.events = this.events.filter((event) => event !== eventToDelete);\r\n }\r\n\r\n setView(view: CalendarView) {\r\n this.view = view;\r\n }\r\n\r\n closeOpenMonthViewDay() {\r\n this.activeDayIsOpen = false;\r\n }\r\n\r\n\r\n monthlySchedule() {\r\n this._paramOut.showMonthlySchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n\r\n yearlySchedule() {\r\n this._paramOut.showYearlySchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n\r\n sendReviewRequest() {\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to send admin review request?\", title: \"Send Request\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n\r\n // need to write the service to send email to speaker\r\n\r\n\r\n\r\n this._coursesService.sendReviewRequestToAdmin().subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this._commonService.success(\"Link sent successfully.\");\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n onTrainerSelected(event) {\r\n\r\n this.speakerName = event.source.selected._element.nativeElement.innerText;\r\n }\r\n\r\n onAssignCourseFormSubmit() {\r\n //this.modal.open(this.modalAssignCourse, { size: 'lg' });\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to assign \\\"\" + this.selectedCourse + \"\\\" to \\\"\" + this.speakerName + \"\\\"? By assigning this course, other speakers will not be able to see this.\", title: \"Assign course\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n\r\n // need to write the service to send email to speaker\r\n\r\n if (Number(this.filter_Speaker) > 0) {\r\n var req = {\r\n SpeakerId: this.filter_Speaker,\r\n CourseId: this.assignCourseForm.controls.assignCourse_courseDates.value\r\n };\r\n\r\n this._coursesService.assignSpeakerToCourse(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this._commonService.success(\"Course assigned successfully.\");\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n else {\r\n\r\n this._commonService.error(\"Speaker not selected.\");\r\n }\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n this._refDialog.close();\r\n });\r\n\r\n \r\n //if (confirm(\"Are you sure to delete \")) {\r\n // console.log(\"Implement delete functionality here\");\r\n //}\r\n }\r\n\r\n sendLinkToSpeaker() {\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to send link to a speaker to check availability by see/suggest upcoming course dates?\", title: \"Send Email\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n\r\n // need to write the service to send email to speaker\r\n\r\n if (Number(this.filter_Speaker) > 0) {\r\n var req = {\r\n SpeakerId: this.filter_Speaker\r\n //SpeakerName: this.speakerName\r\n };\r\n\r\n this._coursesService.sendCourseSchedulerLink(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this._commonService.success(\"Link sent successfully.\");\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n else {\r\n\r\n this._commonService.error(\"Speaker not selected.\");\r\n }\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n this._refDialog.close();\r\n });\r\n\r\n \r\n //if (confirm(\"Are you sure to delete \")) {\r\n // console.log(\"Implement delete functionality here\");\r\n //}\r\n\r\n\r\n }\r\n\r\n\r\n close() {\r\n this.isAssign = false;\r\n this.modal.dismissAll();\r\n }\r\n\r\n onCourseDatesSelected(event) {\r\n this.selectedCourse = event.source.selected._element.nativeElement.innerText;\r\n }\r\n\r\n assignCoursePopup() {\r\n this.isAssign = true;\r\n this.modal.open(this.modalAssignCourse, { size: 'lg' });\r\n\r\n }\r\n\r\n searchBySpeaker() {\r\n this.isSearchBySpeaker = true;\r\n this.isSearchByCourse = false;\r\n this.isViewCourseDates = false;\r\n\r\n this.showCoursesList = false;\r\n this.showUnassignedCourses = false;\r\n }\r\n\r\n searchByCourse() {\r\n this.isSearchBySpeaker = false;\r\n this.isSearchByCourse = true;\r\n this.isViewCourseDates = false;\r\n\r\n // reset the speakerId\r\n //this.filter_Speaker = 0;\r\n this.getCoursesListBySubject(false);\r\n }\r\n\r\n ViewCourseDates() {\r\n this.isSearchBySpeaker = false;\r\n this.isSearchByCourse = false;\r\n\r\n this.isViewCourseDates = true;\r\n\r\n this.filter_Speaker = 0;\r\n this.getCoursesListBySubject(false);\r\n //this.getUnassignedCoursesDates();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n

\r\n Course Scheduler ##ADMIN/SPEAKERS_VIEW##\r\n\r\n

\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n \r\n Filter by speaker\r\n {{spkr.speakerName}}\r\n \r\n\r\n \r\n Select Course\r\n {{course.title}}\r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n \r\n Select Course\r\n {{course.title}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n Select Course\r\n {{course.title}}\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n
\r\n Course\r\n \r\n Day 1\r\n \r\n Day 2\r\n \r\n Day 3\r\n \r\n Day 4\r\n \r\n {{speaker.speakerName}}\r\n
\r\n {{course.courseTitle}}\r\n \r\n {{course.day1 | date:'dd-MM-yyyy'}}\r\n \r\n {{course.day2 | date:'dd-MM-yyyy'}}\r\n \r\n {{course.day3 | date:'dd-MM-yyyy'}}\r\n \r\n {{course.day4 | date:'dd-MM-yyyy'}}\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n Yes - {{speaker.speakerName}}\r\n\r\n \r\n
D1 - {{unassignDate.unassignedDay1 | date:'dd-MM-yyyy'}}
\r\n
D2 - {{unassignDate.unassignedDay2 | date:'dd-MM-yyyy'}}
\r\n
D3 - {{unassignDate.unassignedDay3 | date:'dd-MM-yyyy'}}
\r\n
D4 - {{unassignDate.unassignedDay4 | date:'dd-MM-yyyy'}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n \r\n
\r\n 0\">{{ day.badgeTotal }}\r\n {{ day.date | calendarDate:'monthViewDayNumber':locale }}\r\n
\r\n\r\n\r\n {{ event.title }}\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n Previous\r\n
\r\n
\r\n Today\r\n
\r\n
\r\n Next\r\n
\r\n
\r\n
\r\n
\r\n

{{ viewDate | calendarDate:(view + 'ViewTitle'):'en' }}

\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
{{_title}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n Filter by speaker\r\n {{spkr.speakerName}}\r\n \r\n\r\n\r\n \r\n Select Course\r\n {{course.title}}\r\n \r\n\r\n \r\n Select Course Date\r\n {{item.courseTitle}} ({{item.datesToAssign.courseStartDate | date:'dd-MM-yyyy'}})\r\n \r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\nimport { ViewScheduleComponent } from './view-schedule/view-schedule.component';\r\nimport { YearlyScheduleComponent } from './yearly-schedule/yearly-schedule.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'schedule', component: DashboardComponent },\r\n { path: 'yearly-schedule', component: DashboardComponent },\r\n { path: 'course-scheduler', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'schedule',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SchedulesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SchedulesRoutingModule } from './schedules-routing.module';\r\nimport { ViewScheduleComponent } from './view-schedule/view-schedule.component';\r\nimport { YearlyScheduleComponent } from './yearly-schedule/yearly-schedule.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n//import { FlatpickrModule } from 'angularx-flatpickr';\r\n\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { HighchartsChartModule } from 'highcharts-angular';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n//import { MAT_DATE_LOCALE } from '@angular/material/core'\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CourseSchedulerComponent } from './course-scheduler/course-scheduler.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ViewScheduleComponent,\r\n YearlyScheduleComponent,\r\n CourseSchedulerComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SchedulesRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatCardModule,\r\n HighchartsChartModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n //FlatpickrModule.forRoot(),\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory,\r\n }),\r\n ],\r\n exports: [\r\n ViewScheduleComponent,\r\n YearlyScheduleComponent,\r\n CourseSchedulerComponent\r\n ],\r\n providers: [\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' }\r\n ]\r\n})\r\nexport class SchedulesModule { }\r\n","\r\n\r\nimport {\r\n Component, OnInit,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n TemplateRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport {\r\n startOfDay,\r\n endOfDay,\r\n subDays,\r\n addDays,\r\n endOfMonth,\r\n isSameDay,\r\n isSameMonth,\r\n addHours,\r\n} from 'date-fns';\r\nimport { Subject } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n CalendarEvent,\r\n CalendarMonthViewBeforeRenderEvent,\r\n CalendarEventAction,\r\n CalendarEventTimesChangedEvent,\r\n CalendarView,\r\n} from 'angular-calendar';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { CalendarSchedule } from '../../../common/model/request';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { errorMessages } from '../../../common/validation/messages';\r\n\r\nconst colors: any = {\r\n red: {\r\n primary: '#ad2121',\r\n secondary: '#FAE3E3',\r\n },\r\n blue: {\r\n primary: '#1e90ff',\r\n secondary: '#D1E8FF',\r\n },\r\n yellow: {\r\n primary: '#e3bc08',\r\n secondary: '#FDF1BA',\r\n },\r\n purple: {\r\n primary: '#862b78',\r\n secondary: '#862b78',\r\n },\r\n};\r\n\r\n@Component({\r\n\r\n selector: 'app-view-schedule',\r\n templateUrl: './view-schedule.component.html',\r\n styleUrls: ['./view-schedule.component.css'],\r\n\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: [\r\n `\r\n h3 {\r\n margin: 0 0 10px;\r\n }\r\n\r\n pre {\r\n background-color: #f5f5f5;\r\n padding: 15px;\r\n }\r\n `,\r\n ]\r\n})\r\n\r\n\r\n\r\nexport class ViewScheduleComponent implements OnInit {\r\n\r\n _paramOut = {\r\n showMonthlySchedule: false,\r\n showYearlySchedule: false,\r\n showSpeakersSchedule: false\r\n }\r\n\r\n @Output() gotoSchedule = new EventEmitter();\r\n\r\n\r\n @ViewChild('modalContentDetails', { static: true }) modalContentDetails: TemplateRef;\r\n\r\n @ViewChild('modalContentEdit', { static: true }) modalContentEdit: TemplateRef;\r\n\r\n @ViewChild('modalContentInsert', { static: true }) modalContentInsert: TemplateRef;\r\n\r\n @ViewChild('select') select: MatSelect;\r\n\r\n view: CalendarView = CalendarView.Month;\r\n\r\n CalendarView = CalendarView;\r\n\r\n viewDate: Date = new Date();\r\n\r\n public coursesList: any;\r\n public speakersList: any;\r\n public locationsList: any;\r\n public subjectsList: any;\r\n public currentCoursesList: any;\r\n public url = environment.apiURL;\r\n public _title = \"Details\";\r\n public _refDialog: any;\r\n\r\n //public _courseTitle: string;\r\n public _subjectTitle: string;\r\n public _speaker: string;\r\n public _location: string;\r\n\r\n\r\n coursesForm: FormGroup;\r\n cuForm: FormGroup;\r\n insertForm: FormGroup;\r\n\r\n errors: any = errorMessages;\r\n start_date: any = new FormControl(new Date());\r\n\r\n public toggleSelection(item: any) {\r\n item.selected = !item.selected;\r\n\r\n\r\n\r\n if (item.selected) {\r\n if (item.dates != null) {\r\n //if (setDate == true) {\r\n // this.viewDate = new Date(item.dates.day1Date);\r\n // setDate = false;\r\n //}\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.dates.day1Date)),\r\n end: new Date(item.dates.day1Date),\r\n title: \"D1 - \" + item.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.dates.day2Date)),\r\n end: new Date(item.dates.day2Date),\r\n title: \"D2 - \" + item.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.dates.day3Date)),\r\n end: new Date(item.dates.day3Date),\r\n title: \"D3 - \" + item.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n id: item.courseId,\r\n start: startOfDay(new Date(item.dates.day4Date)),\r\n end: new Date(item.dates.day4Date),\r\n title: \"D4 - \" + item.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n }\r\n else {\r\n var __index = this.events.length - 1;\r\n this.events.slice().reverse().forEach((__item, index) => {\r\n index = __index;\r\n if (__item.id === item.courseId)\r\n this.events.splice(index, 1);\r\n __index--;\r\n });\r\n }\r\n\r\n this.refresh.next();\r\n }\r\n\r\n //public moveSelected(direction: any) {\r\n // if (direction === 'left') {\r\n // this.list2.forEach(item => {\r\n // if (item.selected) {\r\n // this.list1.push(item);\r\n // }\r\n // });\r\n // this.list2 = this.list2.filter(i => !i.selected);\r\n // } else {\r\n // this.list1.forEach(item => {\r\n // if (item.selected) {\r\n // this.list2.push(item);\r\n // }\r\n // });\r\n // this.list1 = this.list1.filter(i => !i.selected);\r\n // }\r\n //}\r\n\r\n //public moveAll(direction: any) {\r\n // if (direction === 'left') {\r\n // this.list1 = [...this.list1, ...this.list2];\r\n // this.list2 = [];\r\n // } else {\r\n // this.list2 = [...this.list2, ...this.list1];\r\n // this.list1 = [];\r\n // }\r\n //}\r\n\r\n\r\n modalData: {\r\n action: string;\r\n event: CalendarEvent;\r\n };\r\n\r\n\r\n constructor(private http: HttpClient,\r\n private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService) {\r\n\r\n setTimeout(() => {\r\n $(\"#main_crs div:nth-child(1) div:first-child\").css(\"color\", \"white\");\r\n $(\"#main_crs div:nth-child(2) div:first-child\").css(\"color\", \"white\");\r\n }, 200);\r\n\r\n this.getCoursesList();\r\n }\r\n\r\n getSpeakersList() {\r\n\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data\r\n\r\n this.cuForm.controls.speaker.patchValue(this.speakersList[0].speakerName);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n getLocationsList() {\r\n\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data\r\n\r\n this.cuForm.controls.location.patchValue(this.locationsList[0].cityName);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.subjectsList = result.data\r\n\r\n this.cuForm.controls.subject.patchValue(this.subjectsList[0].title);\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get f() { return this.cuForm.controls; }\r\n\r\n get i() { return this.insertForm.controls; }\r\n\r\n\r\n getCurrentCourseList(id: any) {\r\n\r\n if (id.value == null ||\r\n id.value == undefined)\r\n id = { value: id }\r\n\r\n\r\n this._coursesService.getCurrentCourseList(id).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.currentCoursesList = result.data\r\n\r\n this.events = [];\r\n var setDate = true;\r\n\r\n result.data.forEach((element: any) => {\r\n if (element.dates != null) {\r\n //if (setDate == true) {\r\n // this.viewDate = new Date(element.dates.day1Date);\r\n // setDate = false;\r\n //}\r\n\r\n if (element.dates.day1Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.dates.day1Date);\r\n setDate = false;\r\n }\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.dates.courseDateId + '|d1|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.dates.day1Date)),\r\n end: new Date(element.dates.day1Date),\r\n title: \"D1 - \" + element.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.dates.day2Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.dates.day2Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.dates.courseDateId + '|d2|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.dates.day2Date)),\r\n end: new Date(element.dates.day2Date),\r\n title: \"D2 - \" + element.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.dates.day3Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.dates.day3Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.dates.courseDateId + '|d3|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.dates.day3Date)),\r\n end: new Date(element.dates.day3Date),\r\n title: \"D3 - \" + element.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n if (element.dates.day4Date != null) {\r\n\r\n if (setDate == true) {\r\n this.viewDate = new Date(element.dates.day4Date);\r\n setDate = false;\r\n }\r\n\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: element.dates.courseDateId + '|d4|' + element.courseDuration + '|' +\r\n element.subjectTitle + '|' + element.speakerName + '|' + element.location,\r\n id: element.courseId,\r\n start: startOfDay(new Date(element.dates.day4Date)),\r\n end: new Date(element.dates.day4Date),\r\n title: \"D4 - \" + element.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n }\r\n\r\n\r\n this.refresh.next();\r\n\r\n\r\n\r\n\r\n\r\n\r\n //var _calData = {\r\n // start: subDays(startOfDay(element.dates.day1Date), 1),\r\n // end: addDays(element.dates.day1Date, 1),\r\n // title: element.courseTitle,\r\n // color: colors.green,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n //}\r\n\r\n\r\n }\r\n });\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getCoursesList() {\r\n\r\n\r\n\r\n this._coursesService.getCoursesList().subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data\r\n\r\n //this.coursesForm.controls.current_courses.patchValue(this.coursesList[0].title);\r\n this.coursesForm.controls.current_courses.patchValue(0);\r\n\r\n //this.getCurrentCourseList(this.coursesList[0].title);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n updateData(event, newStart, newEnd) {\r\n\r\n var req = {\r\n startDate: new Date(newStart),\r\n //endDate: newEnd,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n this._coursesService.updateCourseSchedule(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n deleteData(event) {\r\n var req = {\r\n //startDate: new Date(newStart),\r\n //endDate: newEnd,\r\n courseId: event.id,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n this._coursesService.deleteCourseSchedule(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.events = this.events.filter((iEvent) => iEvent !== event);\r\n this.refresh.next();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getScheduleData(ids: any) {\r\n\r\n\r\n var req = { ids: ids.value }\r\n this._coursesService.getScheduleData(req).subscribe((result: any) => {\r\n //this.loading = false;\r\n\r\n\r\n\r\n if (result.success == true) {\r\n\r\n\r\n\r\n\r\n this.events = [];\r\n\r\n result.data.forEach((element: any) => {\r\n if (element.dates != null) {\r\n this.viewDate = new Date(element.dates.day1Date);\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.dates.day1Date)),\r\n end: new Date(element.dates.day1Date),\r\n title: \"D1 - \" + element.courseTitle,\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.dates.day2Date)),\r\n end: new Date(element.dates.day2Date),\r\n title: \"D2 - \" + element.courseTitle,\r\n color: colors.red,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.dates.day3Date)),\r\n end: new Date(element.dates.day3Date),\r\n title: \"D3 - \" + element.courseTitle,\r\n color: colors.blue,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n start: startOfDay(new Date(element.dates.day4Date)),\r\n end: new Date(element.dates.day4Date),\r\n title: \"D4 - \" + element.courseTitle,\r\n color: colors.purple,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n\r\n\r\n },\r\n ];\r\n\r\n\r\n\r\n this.refresh.next();\r\n\r\n\r\n\r\n\r\n\r\n\r\n //var _calData = {\r\n // start: subDays(startOfDay(element.dates.day1Date), 1),\r\n // end: addDays(element.dates.day1Date, 1),\r\n // title: element.courseTitle,\r\n // color: colors.green,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n //}\r\n\r\n\r\n }\r\n });\r\n\r\n //if(result.data)\r\n } else {\r\n //this.clearForm();\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n //let headers = new HttpHeaders({\r\n // 'Content-Type': 'application/json ',\r\n // 'Authorization': 'Bearer ' + localStorage.getItem('Token')\r\n\r\n //});\r\n\r\n\r\n //this.http.get(this.url + 'api/Account/v1/Verification', { headers }).subscribe(result => {\r\n // //localStorage.setItem(\"Token\", result.verification.token);\r\n // //this.verificationData = result.verification;\r\n //}, error => console.log(error));\r\n\r\n\r\n }\r\n\r\n beforeMonthViewRender(renderEvent: CalendarMonthViewBeforeRenderEvent): void {\r\n console.log(renderEvent.period.start);\r\n console.log(renderEvent.period.end);\r\n renderEvent.body.forEach((day) => {\r\n const dayOfMonth = day.date.getDate();\r\n if (dayOfMonth > 21 && dayOfMonth < 23 && day.inMonth) {\r\n //day.cssClass = 'bg-pink';\r\n }\r\n });\r\n }\r\n\r\n actions: CalendarEventAction[] = [\r\n {\r\n label: '',\r\n a11yLabel: 'Edit',\r\n onClick: ({ event }: { event: CalendarEvent }): void => {\r\n\r\n var eventDataArray: any;\r\n if (event.cssClass != null && event.cssClass != undefined) {\r\n eventDataArray = event.cssClass.split(\"|\");\r\n\r\n this._subjectTitle = eventDataArray[3];\r\n this._speaker = eventDataArray[4];\r\n this._location = eventDataArray[5];\r\n\r\n\r\n }\r\n\r\n this.start_date = event.start;\r\n this.cuForm.controls.courseTitle.setValue(event.title);\r\n this.cuForm.controls.speaker.patchValue(this._speaker);\r\n this.cuForm.controls.location.patchValue(this._location);\r\n this.cuForm.controls.subject.patchValue(this._subjectTitle);\r\n this._title = \"Edit\";\r\n this.handleEvent('Edited', event);\r\n },\r\n },\r\n {\r\n label: '',\r\n a11yLabel: 'Delete',\r\n onClick: ({ event }: { event: CalendarEvent }): void => {\r\n this._title = \"Delete\";\r\n\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n\r\n\r\n this.deleteData(event);\r\n //this.events = this.events.filter((iEvent) => iEvent !== event);\r\n //this.refresh.next();\r\n\r\n //this.deleteEvent(event);\r\n //this.handleEvent('Deleted', event);\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n this._refDialog.close();\r\n });\r\n\r\n\r\n //if (confirm(\"Are you sure to delete \")) {\r\n // console.log(\"Implement delete functionality here\");\r\n //}\r\n\r\n //this.modal.open(this.modalContentDetails, { size: 'lg' });\r\n\r\n },\r\n },\r\n ];\r\n\r\n addNew() {\r\n this._title = \"Add\";\r\n this.modal.open(this.modalContentInsert, { size: 'lg' });\r\n }\r\n\r\n onInsertSubmit() {\r\n\r\n var d2 = this.insertForm.controls.startDate_day2.value ? this.insertForm.controls.startDate_day2.value : null;\r\n var d3 = this.insertForm.controls.startDate_day3.value ? this.insertForm.controls.startDate_day3.value : null;\r\n var d4 = this.insertForm.controls.startDate_day4.value ? this.insertForm.controls.startDate_day4.value : null;\r\n\r\n\r\n var req = {\r\n subjectTitle: this.insertForm.controls.subject.value,\r\n courseTitle: this.insertForm.controls.courseTitle.value,\r\n location: this.insertForm.controls.location.value,\r\n dates: {\r\n day1Date: this.insertForm.controls.startDate_day1.value,\r\n day2Date: d2,\r\n day3Date: d3,\r\n day4Date: d4\r\n },\r\n speakerName: this.insertForm.controls.speaker.value\r\n\r\n\r\n };\r\n\r\n this._coursesService.insertCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n //if (event.cssClass != null && event.cssClass != undefined) {\r\n // var eventDataArray = event.cssClass.split(\"|\");\r\n\r\n // this.events = this.events.filter((iEvent) => iEvent !== event);\r\n\r\n // this.events = [\r\n // ...this.events,\r\n // {\r\n // cssClass: eventDataArray[0] + '|' + eventDataArray[1] + '|' + eventDataArray[2] + '|' +\r\n // req.subject + '|' + req.speakerName + '|' + req.location,\r\n // id: event.id,\r\n // start: startOfDay(new Date(req.startDate)),\r\n // end: new Date(req.startDate),\r\n // title: req.courseTitle,\r\n // //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true\r\n\r\n // },\r\n // ];\r\n\r\n // this.refresh.next();\r\n //}\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n onUpdateSubmit(event) {\r\n\r\n\r\n var req = {\r\n startDate: this.cuForm.controls.StartDate.value,\r\n courseTitle: this.cuForm.controls.courseTitle.value,\r\n courseId: event.id,\r\n subject: this.cuForm.controls.subject.value,\r\n speakerName: this.cuForm.controls.speaker.value,\r\n location: this.cuForm.controls.location.value,\r\n toBeUpdate: event.cssClass\r\n };\r\n\r\n this._coursesService.updateCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n if (event.cssClass != null && event.cssClass != undefined) {\r\n var eventDataArray = event.cssClass.split(\"|\");\r\n\r\n this.events = this.events.filter((iEvent) => iEvent !== event);\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n cssClass: eventDataArray[0] + '|' + eventDataArray[1] + '|' + eventDataArray[2] + '|' +\r\n req.subject + '|' + req.speakerName + '|' + req.location,\r\n id: event.id,\r\n start: startOfDay(new Date(req.startDate)),\r\n end: new Date(req.startDate),\r\n title: req.courseTitle, // need to update the day in title\r\n //color: { primary: '#e3bc08', secondary: '#FDF1BA' },\r\n color: colors.yellow,\r\n actions: this.actions,\r\n allDay: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n draggable: true\r\n\r\n },\r\n ];\r\n\r\n this.refresh.next();\r\n }\r\n\r\n this.modal.dismissAll();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n }\r\n\r\n refresh = new Subject();\r\n\r\n events: CalendarEvent[] = [\r\n //{\r\n // start: subDays(startOfDay(new Date()), 1),\r\n // end: addDays(new Date(), 1),\r\n // title: 'A 3 day event',\r\n // color: colors.red,\r\n // actions: this.actions,\r\n // allDay: true,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true,\r\n //},\r\n //{\r\n // start: startOfDay(new Date()),\r\n // title: 'An event with no end date',\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n //},\r\n //{\r\n // start: subDays(endOfMonth(new Date()), 3),\r\n // end: addDays(endOfMonth(new Date()), 3),\r\n // title: 'A long event that spans 2 months',\r\n // color: colors.blue,\r\n // allDay: true,\r\n //},\r\n //{\r\n // start: addHours(startOfDay(new Date()), 2),\r\n // end: addHours(new Date(), 2),\r\n // title: 'A draggable and resizable event',\r\n // color: colors.yellow,\r\n // actions: this.actions,\r\n // resizable: {\r\n // beforeStart: true,\r\n // afterEnd: true,\r\n // },\r\n // draggable: true,\r\n //},\r\n ];\r\n\r\n activeDayIsOpen: boolean = false;\r\n\r\n\r\n\r\n dayClicked({ date, events }: { date: Date; events: CalendarEvent[] }): void {\r\n\r\n if (isSameMonth(date, this.viewDate)) {\r\n if (\r\n (isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) ||\r\n events.length === 0\r\n ) {\r\n this.activeDayIsOpen = false;\r\n } else {\r\n this.activeDayIsOpen = true;\r\n }\r\n this.viewDate = date;\r\n }\r\n }\r\n\r\n eventTimesChanged({\r\n event,\r\n newStart,\r\n newEnd,\r\n }: CalendarEventTimesChangedEvent): void {\r\n\r\n this.events = this.events.map((iEvent) => {\r\n if (iEvent === event) {\r\n\r\n this.updateData(event, newStart, newEnd);\r\n\r\n return {\r\n ...event,\r\n start: newStart,\r\n end: newEnd,\r\n };\r\n }\r\n return iEvent;\r\n });\r\n this.handleEvent('Dropped or resized', event);\r\n }\r\n\r\n handleEvent(action: string, event: CalendarEvent): void {\r\n\r\n this.modalData = { event, action };\r\n\r\n if (action == \"Clicked\") {\r\n\r\n var eventDataArray: any;\r\n if (event.cssClass != null && event.cssClass != undefined) {\r\n eventDataArray = event.cssClass.split(\"|\");\r\n\r\n this._subjectTitle = eventDataArray[3];\r\n this._speaker = eventDataArray[4];\r\n this._location = eventDataArray[5];\r\n\r\n\r\n }\r\n\r\n this._title = \"Details\";\r\n\r\n this.modal.open(this.modalContentDetails, { size: 'lg' });\r\n }\r\n else if (action == \"Edited\") {\r\n this.modal.open(this.modalContentEdit, { size: 'lg' });\r\n }\r\n\r\n }\r\n\r\n addEvent(): void {\r\n\r\n this.events = [\r\n ...this.events,\r\n {\r\n title: 'New event',\r\n start: startOfDay(new Date()),\r\n end: endOfDay(new Date()),\r\n color: colors.red,\r\n draggable: true,\r\n resizable: {\r\n beforeStart: true,\r\n afterEnd: true,\r\n },\r\n },\r\n ];\r\n }\r\n\r\n deleteEvent(eventToDelete: CalendarEvent) {\r\n\r\n this.events = this.events.filter((event) => event !== eventToDelete);\r\n }\r\n\r\n setView(view: CalendarView) {\r\n this.view = view;\r\n }\r\n\r\n closeOpenMonthViewDay() {\r\n this.activeDayIsOpen = false;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.coursesForm = this.formBuilder.group({\r\n current_courses: ['', Validators.required]\r\n });\r\n\r\n\r\n\r\n this.cuForm = this.formBuilder.group({\r\n courseTitle: ['', Validators.required],\r\n speaker: ['', Validators.required],\r\n subject: ['', Validators.required],\r\n location: ['', Validators.required],\r\n StartDate: [this.start_date.value, Validators.required]\r\n });\r\n\r\n this.insertForm = this.formBuilder.group({\r\n courseTitle: ['', Validators.required],\r\n speaker: ['', Validators.required],\r\n subject: ['', Validators.required],\r\n location: ['', Validators.required],\r\n startDate_day1: [this.start_date.value, Validators.required],\r\n startDate_day2: [''],\r\n startDate_day3: [''],\r\n startDate_day4: ['']\r\n });\r\n\r\n this.getLocationsList();\r\n this.getSpeakersList();\r\n this.getSubjectsList();\r\n }\r\n\r\n\r\n\r\n yearlySchedule() {\r\n this._paramOut.showYearlySchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n\r\n courseScheduler() {\r\n this._paramOut.showSpeakersSchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n

\r\n Courses Schedule MONTHLY\r\n \r\n

\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n Select Course\r\n {{course.title}}\r\n \r\n
\r\n\r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n Previous\r\n
\r\n
\r\n Today\r\n
\r\n
\r\n Next\r\n
\r\n
\r\n
\r\n
\r\n

{{ viewDate | calendarDate:(view + 'ViewTitle'):'en' }}

\r\n
\r\n
\r\n
\r\n
\r\n Month\r\n
\r\n
\r\n Week\r\n
\r\n
\r\n Day\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
{{_title}}
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n Speaker:\r\n
\r\n\r\n
\r\n \r\n {{_speaker}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Subject:\r\n
\r\n\r\n
\r\n \r\n {{_subjectTitle}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Title:\r\n
\r\n\r\n
\r\n \r\n {{modalData?.event.title}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Start Date:\r\n
\r\n\r\n
\r\n \r\n {{modalData?.event.start|date}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n End Date:\r\n
\r\n\r\n
\r\n \r\n {{modalData?.event.end|date}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Location:\r\n
\r\n\r\n
\r\n \r\n {{_location}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
{{_title}}
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
{{errors.courseTitle}}
\r\n
\r\n\r\n\r\n \r\n \r\n {{spkr.speakerName}}\r\n \r\n\r\n \r\n \r\n {{loc.cityName}}\r\n \r\n\r\n \r\n \r\n {{sub.title}}\r\n \r\n\r\n \r\n Start date\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
{{_title}}
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
{{errors.courseTitle}}
\r\n
\r\n\r\n \r\n \r\n {{spkr.speakerName}}\r\n \r\n\r\n \r\n \r\n {{loc.cityName}}\r\n \r\n\r\n \r\n \r\n {{sub.title}}\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n Day 1\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Day 2\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Day 3\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Day 4\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Color } from 'highcharts/highcharts-gantt';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport * as Highcharts from \"highcharts/highcharts-gantt\";\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\ndeclare var require: any;\r\nlet noData = require(\"highcharts/modules/no-data-to-display\");\r\nlet boost = require(\"highcharts/modules/boost\");\r\nlet moreHighcharts = require(\"highcharts/highcharts-more\");\r\n\r\nnoData(Highcharts);\r\nboost(Highcharts);\r\nmoreHighcharts(Highcharts);\r\n\r\nconst today = new Date();\r\nconst day = today.getDate();\r\nconst month = today.getMonth() + 1;\r\nconst year = today.getFullYear();\r\n\r\n@Component({\r\n selector: 'app-yearly-schedule',\r\n templateUrl: './yearly-schedule.component.html',\r\n styleUrls: ['./yearly-schedule.component.css']\r\n})\r\nexport class YearlyScheduleComponent implements OnInit {\r\n\r\n _paramOut = {\r\n showMonthlySchedule: false,\r\n showYearlySchedule: false,\r\n showSpeakersSchedule: false\r\n }\r\n\r\n @Output() gotoSchedule = new EventEmitter();\r\n\r\n\r\n __startDateDisplay: any = [];\r\n __endDateDisplay: any = [];\r\n //public today: Date = new Date();\r\n public cars: any;\r\n public dateFormat: any;// = Highcharts.dateFormat;\r\n public series: any;\r\n updateFlag = false;\r\n selectedCourse: any;\r\n public that = this;\r\n filter_Subject: any = 0;\r\n filter_CourseType: any = 0;\r\n filter_Speaker: any = 0;\r\n filter_Location: any = 0;\r\n\r\n public speakersList: any;\r\n public locationsList: any;\r\n public subjectsList: any;\r\n public courseTypesList: any;\r\n\r\n flag = true;\r\n\r\n public coursesList: any;\r\n public courses: any;\r\n\r\n width;\r\n height;\r\n minWidth:any = \"100%\";\r\n maxHeight;\r\n chartWidth;\r\n\r\n showFiltersModel: any = false;\r\n showModel: any = false;\r\n //subject = new BehaviorSubject('init ;');\r\n\r\n loading = false;\r\n\r\n private source$ = new BehaviorSubject({});\r\n _data = this.source$.asObservable();\r\n\r\n Highcharts: typeof Highcharts = Highcharts;\r\n\r\n constructor(private _coursesService: CoursesService) {\r\n\r\n //this.dateAdapter.setLocale('en-GB');\r\n\r\n setTimeout(() => {\r\n $(\"#main_crs div:nth-child(1) div:first-child\").css(\"color\", \"white\");\r\n $(\"#main_crs div:nth-child(2) div:first-child\").css(\"color\", \"white\");\r\n }, 200);\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n //let _chartOptions = this._chartOptions();\r\n //let chart = Highcharts.ganttChart(\"chart\", this.ChartOptions());\r\n $(\"#advanced-filters\").hide();\r\n\r\n this.width = 100; this.height = 250; this.minWidth = '100%'; this.maxHeight = '100%'; this.chartWidth = true;\r\n this.getCoursesList();\r\n\r\n\r\n this.getLocationsList();\r\n this.getSpeakersList();\r\n this.getSubjectsList();\r\n this.getCourseTypesList();\r\n }\r\n\r\n getCourseTypesList() {\r\n this.loading = true;\r\n this._coursesService.getCourseTypesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.courseTypesList = result.data;\r\n\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n getLocationsList() {\r\n this.loading = true;\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data;\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSpeakersList() {\r\n this.loading = true;\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.subjectsList = result.data;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getCoursesList() {\r\n\r\n this._coursesService.getCoursesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.courses = result.data;\r\n this.selectedCourse = 0;\r\n setTimeout(() => {\r\n this.selectedCourse = 0;\r\n }, 400);\r\n //this.selectedCourse = this.courses[0].title;\r\n //this.getYearlySchedule({ value: this.selectedCourse });\r\n this.applyFilters();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n showAdvancedFilters(isShowFilter) {\r\n\r\n if (isShowFilter) {\r\n\r\n $(\"#advanced-filters\").show();\r\n //this.showFiltersModel = true;\r\n }\r\n else {\r\n $(\"#advanced-filters\").hide();\r\n //resetFilters();\r\n //this.showFiltersModel = false;\r\n }\r\n }\r\n\r\n showAll(isShowAll) {\r\n\r\n if (isShowAll) {\r\n this.minWidth = '200%';\r\n this.chartWidth = false;\r\n this.maxHeight = '1020px';\r\n this.getYearlySchedule({});\r\n this.showModel = true;\r\n }\r\n else {\r\n this.minWidth = '100%';\r\n this.chartWidth = true;\r\n this.maxHeight = '100%';\r\n //this.getYearlySchedule({ value: this.selectedCourse });\r\n this.applyFilters();\r\n this.showModel = false;\r\n }\r\n }\r\n\r\n applyFilters() {\r\n\r\n this.showModel = false;\r\n this.minWidth = '100%';\r\n this.chartWidth = true;\r\n this.maxHeight = '100%';\r\n \r\n if (this.selectedCourse == 0) {\r\n this.selectedCourse = \"\";\r\n this.minWidth = '200%';\r\n this.chartWidth = false;\r\n this.maxHeight = '1020px';\r\n }\r\n\r\n var req = {\r\n startDate: this.campaignOne.value.start,\r\n endDate: this.campaignOne.value.end,\r\n subject: \"\",\r\n subjectId: this.filter_Subject,\r\n courseTitle: this.selectedCourse,\r\n courseTypeId: this.filter_CourseType,\r\n cityId: this.filter_Location,\r\n speakerId: this.filter_Speaker\r\n };\r\n\r\n\r\n\r\n this.getYearlySchedule(req);\r\n\r\n if (this.selectedCourse == \"\")\r\n this.selectedCourse = 0;\r\n }\r\n\r\n applyDropdown(title: any) {\r\n this.showModel = false;\r\n this.minWidth = '100%';\r\n this.chartWidth = true;\r\n this.maxHeight = '100%';\r\n this.getYearlySchedule(title);\r\n }\r\n\r\n getYearlySchedule(request: any) {\r\n\r\n var s_dateObj_display = new Date();\r\n var s_month_display = s_dateObj_display.getUTCMonth();\r\n var s_day_display = s_dateObj_display.getUTCDate();\r\n var s_year_display = s_dateObj_display.getUTCFullYear();\r\n\r\n var e_dateObj_display = new Date();\r\n var e_month_display = e_dateObj_display.getUTCMonth();\r\n var e_day_display = e_dateObj_display.getUTCDate();\r\n var e_year_display = e_dateObj_display.getUTCFullYear();\r\n\r\n\r\n\r\n //var req = {\r\n // startDate: this.campaignOne.value.start,\r\n // endDate: this.campaignOne.value.end,\r\n // subject: \"\",\r\n // subjectId: 0,\r\n // courseTitle: title.value,\r\n // courseTypeId: 0,\r\n // cityId: 0,\r\n // speakerId:0\r\n //};\r\n\r\n\r\n this._coursesService.getYearlySchedule(request).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n $(\"#divchart\").show();\r\n\r\n //\r\n this.coursesList = result.data\r\n\r\n var data: any[] = [];\r\n this.__startDateDisplay = [];\r\n this.__endDateDisplay = [];\r\n var _subject = \"\";\r\n var _y = 1;\r\n var _overlapped = true;\r\n\r\n this.series = [{}];\r\n\r\n this.multipleDateRangeOverlaps(this.coursesList);\r\n \r\n this.coursesList.forEach((element: any) => {\r\n if (element.dates.courseStartDate != null\r\n && element.dates.courseEndDate != null) {\r\n\r\n this.__startDateDisplay.push(element.dates.courseStartDate);\r\n this.__endDateDisplay.push(element.dates.courseEndDate);\r\n\r\n var s_dateObj = new Date(element.dates.courseStartDate);\r\n var s_month = s_dateObj.getUTCMonth();\r\n var s_day = s_dateObj.getUTCDate();\r\n var s_year = s_dateObj.getUTCFullYear();\r\n\r\n\r\n var e_dateObj = new Date(element.dates.courseEndDate);\r\n var e_month = e_dateObj.getUTCMonth();\r\n var e_day = e_dateObj.getUTCDate();\r\n var e_year = e_dateObj.getUTCFullYear();\r\n\r\n\r\n var _color = '#0d6efd'; // blue\r\n\r\n\r\n if (element.location.toLowerCase() == 'online')\r\n _color = '#9d257e';\r\n else\r\n _color = '#FFA500';\r\n\r\n\r\n if (element.isOverlapped == true) {\r\n var obj = {\r\n id: element.courseTitle,\r\n name: element.courseTitle,\r\n start: Date.UTC(s_year, s_month, s_day),\r\n end: Date.UTC(e_year, e_month, e_day),\r\n color: _color,\r\n className: _overlapped ? \"tile-bg overlapped-up \" + element.location : \"tile-bg overlapped-down \" + element.location,\r\n //y:_y\r\n //completed: 0.25\r\n };\r\n _overlapped = !_overlapped;\r\n }\r\n else\r\n var obj = {\r\n id: element.courseTitle,\r\n name: element.courseTitle,\r\n start: Date.UTC(s_year, s_month, s_day),\r\n end: Date.UTC(e_year, e_month, e_day),\r\n color: _color,\r\n className: \"tile-bg \" + element.location,\r\n //y:_y\r\n //completed: 0.25\r\n };\r\n\r\n\r\n\r\n\r\n\r\n _y = _y + 1;\r\n\r\n data.push(obj);\r\n\r\n\r\n const minDate = new Date(\r\n Math.min(\r\n ...this.__startDateDisplay.map(element => {\r\n return new Date(element);\r\n }),\r\n ),\r\n );\r\n\r\n\r\n\r\n s_dateObj_display = minDate;\r\n s_month_display = s_dateObj_display.getUTCMonth();\r\n s_day_display = s_dateObj_display.getUTCDate();\r\n s_year_display = s_dateObj_display.getUTCFullYear();\r\n\r\n const maxDate = new Date(\r\n Math.max(\r\n ...this.__endDateDisplay.map(element => {\r\n return new Date(element);\r\n }),\r\n ),\r\n );\r\n\r\n\r\n e_dateObj_display = maxDate;\r\n e_month_display = e_dateObj_display.getUTCMonth();\r\n e_day_display = e_dateObj_display.getUTCDate();\r\n e_year_display = e_dateObj_display.getUTCFullYear();\r\n\r\n\r\n }\r\n\r\n _subject = element.subjectTitle + ' - ' + '
' + element.speakerName;\r\n });\r\n\r\n\r\n this.series = [{\r\n type: \"gantt\",\r\n name: _subject,\r\n borderWidth: 1.5,\r\n borderColor: '#20396f', // blue text color\r\n data: data,\r\n turboThreshold: 1000000\r\n }];\r\n\r\n\r\n\r\n this.updateFlag = true;\r\n this.chartOptions = {\r\n title: {\r\n text: \"Courses Yearly Schedule\"\r\n },\r\n accessibility: {\r\n keyboardNavigation: {\r\n seriesNavigation: {\r\n mode: 'serialize'\r\n }\r\n }\r\n },\r\n xAxis: {\r\n\r\n //height: '100%',\r\n width: '100%',\r\n plotLines: [{\r\n value: Date.UTC(year, month, day),\r\n color: 'green',\r\n width: 2\r\n }],\r\n //scrollbar: {\r\n // enabled: true\r\n //},\r\n //tickInterval: 1000 * 60 * 60,\r\n //opposite: false,\r\n //labels: {\r\n // style: {\r\n // 'color': 'rgba(0, 0, 0, 0.87)',\r\n // textAlign: 'center !important'\r\n // }\r\n //},\r\n min: Date.UTC(s_year_display, s_month_display, s_day_display - 5, 10), // Add the gap in days before\r\n max: Date.UTC(e_year_display, e_month_display, e_day_display + 5, 10) // add the gap in days after\r\n //min: Date.UTC(2023, 0, 1, 10),\r\n //max: Date.UTC(2023, 11, 30, 10)\r\n },\r\n series: this.series,\r\n\r\n yAxis: {\r\n\r\n //uniqueNames: true,\r\n scrollbar: {\r\n enabled: true,\r\n showFull: false,\r\n liveRedraw: false\r\n },\r\n grid: {\r\n enabled: true\r\n },\r\n breaks: [\r\n {\r\n breakSize: 0.5,\r\n from: 0,\r\n to: 0\r\n }\r\n ],\r\n //reversed: true,\r\n gridLineWidth: 3,\r\n //gridLineDashStyle: 'LongDashDot',\r\n uniqueNames: true,\r\n height: '100%',\r\n width: '100%',\r\n //minWidth :'200%',\r\n opposite: false,\r\n\r\n },\r\n //navigator: {\r\n // adaptToUpdatedData: false,\r\n // enabled: true,\r\n // series: {\r\n // type: \"gantt\",\r\n // pointPlacement: 0.5,\r\n // pointPadding: 0.25,\r\n // marker: { enabled: false }\r\n // },\r\n // yAxis: {\r\n // reversed: true\r\n // //categories: []\r\n // }\r\n //},\r\n chart: {\r\n //height: this.height,\r\n //width: this.width\r\n scrollablePlotArea: {\r\n minWidth: this.minWidth, // setting the chart width\r\n scrollPositionX: 1\r\n },\r\n events: {\r\n click() {\r\n\r\n },\r\n load() {\r\n //let chart = this;\r\n\r\n //const point = chart.series[0].points[1];\r\n\r\n\r\n //console.log(point);\r\n //point.graphic.translate(0, -1 * point.shapeArgs.height);\r\n //chart.series[0].points[1].update({\r\n // dataLabels: {\r\n // y: -1 * point.shapeArgs.height\r\n // }\r\n //}, false);\r\n //\r\n //setTimeout(() => {\r\n // chart.series[0].addPoint(point);//.points[0].graphic.translate(0, 10);\r\n //}, 200);\r\n //point.series.graph?.translate(0,10);\r\n //chart.series[0].points[0].graphic.translate(0, 10);\r\n //chart.series[0].points[0].graphic.translate(0, 10);\r\n //chart.series[0].points[2].graphic.translate(0, 12);\r\n }\r\n }\r\n },\r\n time: {\r\n useUTC: false,\r\n },\r\n \"tooltip\": {\r\n \"xDateFormat\": '%A, %b %e, %Y',\r\n formatter: function () {\r\n //let parent = (this.point.parent) ? (this.point.parent) : this.key;\r\n\r\n var _loc = this.point.getClassName().split(' ').pop();\r\n\r\n var tt = this.series.name.split('-');\r\n\r\n var spkr = this.series.name.split('
');\r\n\r\n this.series.name = tt[0].toString() + ' - ' + (_loc ? _loc : '') + '
' + spkr[1];\r\n\r\n\r\n const cDate = {\r\n x2: this.point.x2,\r\n };\r\n\r\n var currentDate = this.point.x2 ? this.point.x2 : 0;\r\n var numDate = new Date(currentDate);\r\n numDate.setDate(numDate.getDate() - 1);\r\n\r\n\r\n return this.series.name + '
' + this.key + '
' +\r\n 'Start: ' + Highcharts.dateFormat('%A, %b %d %Y', this.point.x) + '
' +\r\n 'End: ' + Highcharts.dateFormat('%A, %b %d %Y', numDate.getTime());\r\n\r\n }\r\n },\r\n plotOptions: {\r\n series: {\r\n //opacity:0.5,\r\n animation: false,\r\n events: {\r\n afterAnimate() {\r\n //let chart = this;\r\n\r\n //const point = this.chart.series[0].points[1];\r\n\r\n //console.log(point);\r\n //\r\n ////point.graphic.translate(0, -1 * point.shapeArgs.height);\r\n //this.chart.series[0].points[1].update({\r\n // dataLabels: {\r\n // y: -1 * point.shapeArgs?.height\r\n // }\r\n //}, false);\r\n\r\n\r\n\r\n //setTimeout(() => {\r\n // chart.series[0].addPoint(point);//.points[0].graphic.translate(0, 10);\r\n //}, 200);\r\n //point.series.graph?.translate(0, 10);\r\n //chart.series[0].points[0].graphic.translate(0, 10);\r\n //chart.series[0].points[0].graphic.translate(0, 10);\r\n //chart.series[0].points[2].graphic.translate(0, 12);\r\n },\r\n mouseOver: function () {\r\n\r\n\r\n //this.chart.series.forEach(series => setSeriesOpacity(series, 0.75));\r\n //this.chart.series.forEach((__item, index) => {\r\n //__item.data[index].update({ color: new Highcharts.Color(__item.data[0].color ? __item.data[0].color : 'red').setOpacity(0.5).get() });\r\n\r\n\r\n //this.chart.series.points[index].visible = false;\r\n //this.setSeriesOpacity(this.series, 0.75)\r\n //});\r\n },\r\n mouseOut: function () {\r\n //this.chart.series.forEach(series => setSeriesOpacity(series, 1));\r\n },\r\n },\r\n point: {\r\n\r\n events: {\r\n\r\n mouseOver: function () {\r\n\r\n //var _loc = this.getClassName().split(' ').pop();\r\n\r\n //var tt = this.series.name.split('-');\r\n\r\n //var spkr = this.series.name.split('
');\r\n\r\n //this.series.name = tt[0].toString() + ' - ' + (_loc ? _loc : '') + '
' + spkr[1];\r\n\r\n\r\n //this.series.name = this.series.name.replace('####', _loc?_loc:'');\r\n\r\n //if (this.color?.toString() == '')\r\n //this.update({ color: new Highcharts.Color(this.color ? this.color : 'red').setOpacity(0.5).get() });\r\n //setPointOpacity(this, 1);\r\n\r\n\r\n\r\n },\r\n mouseOut: function () {\r\n //this.update({ color: new Highcharts.Color(this.color ? this.color : 'red').setOpacity(1).get() });\r\n //setPointOpacity(this, 0.25);\r\n },\r\n }\r\n }\r\n\r\n }\r\n },\r\n\r\n\r\n };\r\n\r\n\r\n\r\n setTimeout(() => {\r\n $(\".overlapped-down\").addClass(\"transform-down\");\r\n $(\".overlapped-up\").addClass(\"transform-up\");\r\n }, 200);\r\n\r\n Highcharts.ganttChart(\"chart\", this.chartOptions);\r\n window.dispatchEvent(new Event('resize'));\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n \r\n this.applyFilters();\r\n }\r\n\r\n convertStringToDate(strDate) {\r\n if (strDate != null && strDate != \"\" && strDate != undefined)\r\n return new Date(strDate);\r\n else return new Date();\r\n }\r\n\r\n dateRangeOverlaps(a_start, a_end, b_start, b_end) {\r\n\r\n if (this.convertStringToDate(a_start) < this.convertStringToDate(b_start) && this.convertStringToDate(b_start) < this.convertStringToDate(a_end)) return true; // b starts in a\r\n if (this.convertStringToDate(a_start) < this.convertStringToDate(b_end) && this.convertStringToDate(b_end) < this.convertStringToDate(a_end)) return true; // b ends in a\r\n if (this.convertStringToDate(b_start) < this.convertStringToDate(a_start) && this.convertStringToDate(a_end) < this.convertStringToDate(b_end)) return true; // a in b\r\n return false;\r\n\r\n //return ((this.convertStringToDate(a_start)) <= (this.convertStringToDate(b_end)) && (this.convertStringToDate(b_start)) < (this.convertStringToDate(a_end)) ? true : false);\r\n\r\n //this.convertStringToDate(a_start);\r\n }\r\n\r\n multipleDateRangeOverlaps(courses) {\r\n\r\n if (courses.length < 2)\r\n return false;\r\n\r\n var i, j, k = 0;\r\n if (courses.length < 2)\r\n throw new TypeError('Arguments length must be a multiple of 2');\r\n\r\n else {\r\n for (i = 0; i < courses.length - 1; i += 1) {\r\n k = 0;\r\n for (j = i + 1; j < courses.length; j += 1) {\r\n if (courses[i].courseTitle == courses[j].courseTitle)\r\n if (\r\n this.dateRangeOverlaps(\r\n courses[i].dates.courseStartDate, courses[i].dates.courseEndDate,\r\n courses[j].dates.courseStartDate, courses[j].dates.courseEndDate\r\n )\r\n ) {\r\n courses[i].isOverlapped = true;\r\n courses[j].isOverlapped = true;\r\n \r\n\r\n //if (courses[i].isOverlapped == false)\r\n // courses[i].isOverlapped = k;\r\n\r\n //if (courses[j].isOverlapped == false)\r\n // courses[j].isOverlapped = k + 1;\r\n //// return true;\r\n //k++;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /*let i = 0, j = 0;\r\n let timeIntervals = timeEntries.filter(entry => entry.from != null && entry.to != null && entry.from.length === 8 && entry.to.length === 8);\r\n\r\n if (timeIntervals != null && timeIntervals.length > 1)\r\n for (i = 0; i < timeIntervals.length - 1; i += 1) {\r\n for (j = i + 1; j < timeIntervals.length; j += 1) {\r\n if (\r\n this.dateRangeOverlaps(\r\n timeIntervals[i].from.getTime(), timeIntervals[i].to.getTime(),\r\n timeIntervals[j].from.getTime(), timeIntervals[j].to.getTime()\r\n )\r\n ) return true;\r\n }\r\n }\r\n return false;*/\r\n }\r\n\r\n\r\n\r\n\r\n //Highcharts: typeof Highcharts = Highcharts;\r\n\r\n chartCallback: Function = function (chart) {\r\n console.log(\"Chart instance: \", chart);\r\n };\r\n\r\n\r\n\r\n\r\n //chartOptions: Highcharts.Options = {\r\n chartOptions: Highcharts.Options = {\r\n title: {\r\n text: \"Courses Yearly Schedule\"\r\n },\r\n accessibility: {\r\n keyboardNavigation: {\r\n seriesNavigation: {\r\n mode: 'serialize'\r\n }\r\n }\r\n },\r\n xAxis: {\r\n\r\n height: '100%',\r\n width: '100%',\r\n plotLines: [{\r\n //value: Date.UTC(2022, 6, 10),\r\n color: 'blue',\r\n width: 1\r\n }],\r\n //tickInterval: 1000 * 60 * 60,\r\n //opposite: false,\r\n //labels: {\r\n // style: {\r\n // 'color': 'rgba(0, 0, 0, 0.87)',\r\n // textAlign: 'center !important'\r\n // }\r\n //},\r\n min: Date.UTC(2021, 5, 1),\r\n max: Date.UTC(2025, 12, 31)\r\n },\r\n //series: //this.series\r\n series: [\r\n // {\r\n // type: \"gantt\",\r\n // name: \"Project 2\",\r\n // data: [\r\n // {\r\n\r\n // name: \"test\",\r\n // start: Date.UTC(2014, 10, 18),\r\n // end: Date.UTC(2014, 11, 25),\r\n // completed: 0.25\r\n // }\r\n // ]\r\n // }],\r\n //[\r\n //{\r\n // type: \"gantt\",\r\n // name: \"Project 2\",\r\n // data: [\r\n // {\r\n\r\n // name: \"test\",\r\n // start: Date.UTC(2014, 10, 18),\r\n // end: Date.UTC(2014, 11, 25),\r\n // completed: 0.25\r\n // }\r\n // ]\r\n //},\r\n {\r\n\r\n type: \"gantt\",\r\n name: \"Project 1\",\r\n data: [\r\n {\r\n\r\n id: '1',\r\n name: \"GDPR Cert\",\r\n start: Date.UTC(2014, 10, 18),\r\n end: Date.UTC(2014, 11, 25),\r\n //completed: 0.25\r\n },\r\n {\r\n id: '2',\r\n name: \"FOI Cert\",\r\n start: Date.UTC(2014, 11, 27),\r\n end: Date.UTC(2014, 12, 29)\r\n },\r\n {\r\n id: '2',\r\n name: \"Cyber\",\r\n start: Date.UTC(2015, 1, 20),\r\n end: Date.UTC(2015, 2, 25),\r\n //completed: {\r\n // amount: 0.12,\r\n // fill: \"#fa0\"\r\n //}\r\n },\r\n {\r\n name: 'CCPA',\r\n id: 'CCPA',\r\n color: '#FFA500',\r\n //name: \"Run acceptance tests\",\r\n start: Date.UTC(2015, 5, 23),\r\n end: Date.UTC(2015, 6, 26)\r\n }\r\n ,\r\n {\r\n name: 'CCPA',\r\n id: 'CCPA',\r\n color: '#FFA500',\r\n //name: \"Run acceptance tests\",\r\n start: Date.UTC(2015, 8, 23),\r\n end: Date.UTC(2015, 9, 26)\r\n }\r\n ]\r\n }],\r\n yAxis: {\r\n //reversed: true,\r\n gridLineWidth: 3,\r\n //gridLineDashStyle: 'LongDashDot',\r\n uniqueNames: true,\r\n height: '100%',\r\n width: '100%',\r\n opposite: false,\r\n //scrollbar: {\r\n // enabled: true\r\n //}\r\n },\r\n\r\n chart: {\r\n scrollablePlotArea: {\r\n minWidth: this.minWidth, // setting the chart width\r\n scrollPositionX: 1\r\n },\r\n //height: 500,\r\n //width: 1500\r\n events: {\r\n load() {\r\n\r\n }\r\n }\r\n },\r\n\r\n plotOptions: {\r\n series: {\r\n //opacity:0.5,\r\n animation: false,\r\n events: {\r\n mouseOver: function () {\r\n //this.chart.series.forEach(series => setSeriesOpacity(series, 0.75));\r\n this.chart.series.forEach((__item, index) => {\r\n //__item.data[index].update({ color: new Highcharts.Color(__item.data[0].color ? __item.data[0].color : 'red').setOpacity(0.5).get() });\r\n\r\n\r\n //this.chart.series.points[index].visible = false;\r\n //this.setSeriesOpacity(this.series, 0.75)\r\n });\r\n },\r\n mouseOut: function () {\r\n //this.chart.series.forEach(series => setSeriesOpacity(series, 1));\r\n },\r\n },\r\n point: {\r\n events: {\r\n mouseOver: function () {\r\n\r\n //this.update({ color: new Highcharts.Color(this.color ? this.color : 'red').setOpacity(0.5).get() });\r\n //setPointOpacity(this, 1);\r\n },\r\n mouseOut: function () {\r\n //this.update({ color: new Highcharts.Color(this.color ? this.color : 'red').setOpacity(1).get() });\r\n //setPointOpacity(this, 0.25);\r\n },\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n },\r\n };\r\n\r\n campaignOne = new FormGroup({\r\n //start: new FormControl(new Date(year, month, 13)),\r\n //end: new FormControl(new Date(year, month, 16)),\r\n\r\n start: new FormControl(new Date(2022, 1, 1)),\r\n end: new FormControl(new Date(2024, 6, 30)),\r\n });\r\n\r\n\r\n\r\n\r\n setSeriesOpacity(series, opacity) {\r\n const seriesColor = this.colorToRGBAString(series.color, opacity);\r\n series.data.forEach(data => {\r\n data.color = seriesColor;\r\n });\r\n series.render();\r\n };\r\n\r\n colorToRGBAString(color, opacity) {\r\n if (color[0] === '#') {\r\n const hex = Number(`0x${color.substr(1)}`);\r\n const b = (hex & 0xff);\r\n const g = ((hex >> 8) & 0xff);\r\n const r = ((hex >> 16) & 0xff);\r\n return this.createRGBAString({ red: r, green: g, blue: b }, opacity);\r\n }\r\n return this.createRGBAString(this.getRGBA(color), opacity);\r\n };\r\n\r\n createRGBAString(rgb, alpha) {\r\n return `rgba(${rgb.red},${rgb.green},${rgb.blue},${alpha})`;\r\n };\r\n\r\n getRGBA(str) {\r\n const match = str.match(/rgba?\\((\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([\\d.]+))?\\s*\\)/);\r\n return match ? {\r\n red: match[1],\r\n green: match[2],\r\n blue: match[3],\r\n alpha: match[4]\r\n } : {};\r\n };\r\n\r\n setPointOpacity(element, opacity) {\r\n element.color = this.colorToRGBAString(element.color, opacity);\r\n element.series.render();\r\n };\r\n\r\n\r\n \r\n monthlySchedule() {\r\n this._paramOut.showMonthlySchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n\r\n courseScheduler() {\r\n this._paramOut.showSpeakersSchedule = true;\r\n this.gotoSchedule.emit(this._paramOut);\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n

\r\n Courses Schedule YEARLY\r\n

\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n First campaign\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Select course\r\n {{course.title}}\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n Show Advanced Filters\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n Filter by subject\r\n {{sub.title}}\r\n \r\n
\r\n\r\n
\r\n \r\n Filter by course type\r\n {{course.title}}\r\n \r\n
\r\n\r\n
\r\n \r\n Filter by speaker\r\n {{spkr.speakerName}}\r\n \r\n
\r\n\r\n
\r\n \r\n Filter by location\r\n {{loc.cityName}}\r\n \r\n
\r\n
\r\n \r\n Show all (Non-archived)\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'upload-courses', component: DashboardComponent },\r\n\r\n { path: 'report/debt-collection', component: DashboardComponent },\r\n { path: 'report/speakerCourses', component: DashboardComponent },\r\n\r\n { path: 'speakers', component: DashboardComponent },\r\n { path: 'speaker/details', component: DashboardComponent },\r\n\r\n\r\n {\r\n path: '',\r\n redirectTo: '',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AdminRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AdminRoutingModule } from './admin-routing.module';\nimport { UploadCoursesComponent } from '../upload-courses/upload-courses.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { DebtCollectionComponent } from '../reports/debt-collection/debt-collection.component';\r\nimport { SpeakerCourseNumbersComponent } from '../reports/speaker-course-numbers/speaker-course-numbers.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SpeakersListComponent } from '../speakers/speakers-list/speakers-list.component';\r\nimport { AddEditSpeakersComponent } from '../speakers/add-edit-speakers/add-edit-speakers.component';\r\nimport { SpeakerDetailsComponent } from '../speakers/speaker-details/speaker-details.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { SpeakersClickableParentComponent } from '../speakers/speakers-clickable-parent/speakers-clickable-parent.component';\r\nimport { SpeakersActionsComponent } from '../speakers/speakers-actions/speakers-actions.component';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MarketingStatsComponent } from '../reports/marketing-stats/marketing-stats.component';\r\n\n@NgModule({\n declarations: [\n UploadCoursesComponent,\n DebtCollectionComponent,\r\n SpeakerCourseNumbersComponent,\n SpeakersListComponent,\r\n AddEditSpeakersComponent,\r\n SpeakerDetailsComponent,\r\n SpeakersClickableParentComponent,\r\n SpeakersActionsComponent,\n MarketingStatsComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatMenuModule,\r\n MatIconModule,\n AdminRoutingModule,\n AgGridModule, \r\n MatSelectModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatCheckboxModule,\r\n MatButtonToggleModule\n ],\n exports: [\n UploadCoursesComponent,\n DebtCollectionComponent,\r\n SpeakerCourseNumbersComponent,\n SpeakersListComponent,\r\n AddEditSpeakersComponent,\r\n SpeakerDetailsComponent,\n MarketingStatsComponent\n ]\n})\nexport class AdminModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-booking-confirmation',\n templateUrl: './booking-confirmation.component.html',\n styleUrls: ['./booking-confirmation.component.css']\n})\nexport class BookingConfirmationComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n

\r\n Course Booking Confirmation\r\n

\r\n\r\n
\r\n\r\n

Thank you for your booking. You will shortly receive an email confirmation. This will contain confirmation of your booking, invoice and directions for the venue.

\r\n\r\n

\r\n If you do not receive confirmation in the next 24 hours please call the office on 01924 470252 to confirm your booking or email\r\n info@actnow.org.uk.\r\n

\r\n\r\n

If you have any further queries regarding the booking please email info@actnow.org.uk.

\r\n\r\n

To ensure delivery to your inbox, add info@actnow.org.uk to your address book/contacts.

\r\n\r\n
\r\n\r\n\r\n

Bookings & Cancellation Policy

\r\n\r\n\r\n
    \r\n\r\n
  • Act Now Training will invoice your organisation upon receipt of the booking. Receipt of a booking form by us implies that you have the necessary internal approvals.
  • \r\n\r\n
  • The invoice is payable within 30 days of being issued regardless of whether the event has taken place.
  • \r\n\r\n
  • If you book within 10 days of the course date please check by phone or email that your place is confirmed.
  • \r\n\r\n
  • Confirmation and directions to the venue will be sent to you a minimum of 7 days before the course date.
  • \r\n\r\n
  • It is your responsibility to ensure we have your correct details especially email address. Failure to do so could lead to you not receiving joining instructions. In such cases you are still liable to pay the invoice.
  • \r\n\r\n
  • The full fee will remain payable even if the delegate does not attend.
  • \r\n\r\n
  • We reserve the right to cancel the event or change the venue or speakers due to circumstances beyond our control. In such cases we will not be liable for refunding any expenses incurred.
  • \r\n\r\n
  • For the latest info on courses, venues etc please check the front page of our website or follow us on twitter.
  • \r\n\r\n
  • We reserve the right to refuse any bookings (and cancel any bookings) especially from consultants, those in the business of information rights training/consultancy and those whose business directly or indirectly competes with ours.
  • \r\n\r\n
    CERTIFICATE COURSES
    \r\n\r\n
  • If the invoice remains unpaid, we reserve the right not to release your exam marks and/or issue your certificate until the invoice has been paid in full.
  • \r\n\r\n
    REFUND/CANCELLATION POLICY
    \r\n\r\n
  • You can cancel your booking up to 30 days before the event without charge. After this you cannot cancel your booking nor transfer it to another course. This is irrespective of when booked.
  • \r\n\r\n
  • Substitute delegates are welcome at any time without charge.
  • \r\n\r\n
  • Transfers to another date for the same course are considered as another course.
  • \r\n\r\n
    INCLEMENTAL WEATHER/TRANSPORT PROBLEMS
    \r\n\r\n
  • We do not cancel courses due to inclemental weather or transport problems. If you cannot attend due to these reasons the invoice remains payable.
  • \r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CourseType, errorMessages } from '../../common/validation/messages';\r\nimport { CoursesService } from '../../common/_services/courses-services';\r\nimport { DelegateService } from '../../common/_services/delegate-services';\r\n//import { errorMessages } from '../../../common/validation/messages';\r\n\r\n@Component({\r\n selector: 'app-booking',\r\n templateUrl: './booking.component.html',\r\n styleUrls: ['./booking.component.css']\r\n})\r\nexport class BookingComponent implements OnInit {\r\n\r\n //https://localhost:44384/booking?webCourseId=###&courseName=###&courseCost=###&courseDate=###&courseLocation=###&courseDuration=###&subject=###&speaker=###\r\n loading = false;\r\n step = 0;\r\n bookingForm: FormGroup;\r\n delegatesList: any;\r\n coursesList: any;\r\n locationsList: any;\r\n currentCoursesList: any;\r\n errors: any = errorMessages;\r\n\r\n _params: any;\r\n courseId: any;\r\n courseName: any;\r\n courseCost: any;\r\n courseDate: any;\r\n courseLocation: any;\r\n selectedSource: any = \"Select source\";\r\n selectedSector: any = \"Select sector\";\r\n other_source: any = false;\r\n courseDuration: any = \"1 Day\";\r\n subject: any;\r\n speaker: any;\r\n webCourseId: any;\r\n acceptedTC: any = false;\r\n validEmail: any = false;\r\n validNames: any = true;\r\n\r\n constructor(private _delegateService: DelegateService,\r\n private _coursesService: CoursesService,\r\n private formBuilder: FormBuilder,\r\n private _route: Router,\r\n private route: ActivatedRoute) {\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n\r\n this._params = { ...params.keys, ...params };\r\n\r\n this.webCourseId = this._params.params.webCourseId;\r\n this.courseName = this._params.params.courseName;\r\n this.courseCost = this._params.params.courseCost;\r\n this.courseDate = this._params.params.courseDate;\r\n this.courseLocation = this._params.params.courseLocation;\r\n this.courseDuration = this._params.params.courseDuration;\r\n this.subject = this._params.params.subject;\r\n this.speaker = this._params.params.speaker;\r\n });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n $('body').addClass(\"booking-bg\");\r\n\r\n this.courseDuration = this.courseDuration.substring(0, 1);\r\n \r\n this.bookingForm = this.formBuilder.group({\r\n //bookingCourse: ['', Validators.required],\r\n //bookingDelegate: ['', Validators.required],\r\n //bookingCurrentCourses: ['', Validators.required],\r\n source: ['', Validators.required],\r\n txt_other: [''],\r\n\r\n manual_purchase_qty: [''],\r\n\r\n name: ['', Validators.required],\r\n organization: ['', Validators.required],\r\n department: [''],\r\n address: ['', Validators.required],\r\n city: ['', Validators.required],\r\n postcode: ['', Validators.required],\r\n telephone: ['', Validators.required],\r\n email: ['', Validators.required],\r\n sector: ['', Validators.required],\r\n bagAddress: [''],\r\n\r\n invoice_name: ['', Validators.required],\r\n invoice_organization: ['', Validators.required],\r\n invoice_department: [''],\r\n invoice_address: ['', Validators.required],\r\n invoice_city: ['', Validators.required],\r\n invoice_postcode: ['', Validators.required],\r\n invoice_telephone: ['', Validators.required],\r\n invoice_email: ['', Validators.required],\r\n invoice_purchaseOrder: [''],\r\n invoice_promoCode: [''],\r\n\r\n booker_name: ['', Validators.required],\r\n booker_telephone: ['', Validators.required],\r\n booker_email: ['', Validators.required],\r\n\r\n invoice_details: [false],\r\n invoice_tc: [false, Validators.required],\r\n rdGogreen: [''],\r\n policypack: [''],\r\n blog_details: [''],\r\n booknow:[''],\r\n\r\n postal_name: [''],\r\n postal_address: [''],\r\n postal_city: [''],\r\n postal_postcode: [''],\r\n postal_telephone: ['']\r\n });\r\n\r\n\r\n //this.getDelegatesList();\r\n //this.getCoursesList();\r\n //this.getLocationsList();\r\n //this.selectedSource = \"Select source\";\r\n //$(\"#hearing\").prop(\"selectedIndex\", 0);\r\n this.bookingForm.controls.source.patchValue(\"Select source\");\r\n this.bookingForm.controls.sector.patchValue(\"Select sector\");\r\n\r\n setTimeout(() => {\r\n //this.bookingForm.controls.city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.invoice_city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.postal_city.patchValue(\"Select city\");\r\n }, 100);\r\n }\r\n\r\n\r\n validateEmails() {\r\n\r\n\r\n var emails = this.bookingForm.controls.email.value.replace(/\\s/g, '').split(\",\");\r\n var names = this.bookingForm.controls.name.value.split(\",\");\r\n this.validEmail = true;\r\n var regex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n //var regex = /^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\r\n debugger;\r\n for (var i = 0; i < emails.length; i++) {\r\n if (emails[i] == \"\")\r\n this.validEmail = false;\r\n else if (!regex.test(emails[i])) \r\n this.validEmail = false;\r\n\r\n if (this.validEmail == false)\r\n return false;\r\n }\r\n\r\n if (this.validEmail)\r\n if (emails != \"\" && (emails.length == names.length)) {\r\n this.validEmail = true;\r\n this.validNames = true;\r\n $(\"#_validNames\").hide();\r\n }\r\n else {\r\n this.validEmail = false;\r\n this.validNames = false;\r\n $(\"#_validNames\").show();\r\n }\r\n }\r\n\r\n getLocationsList() {\r\n this.loading = true;\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data;\r\n this.loading = false;\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get f() { return this.bookingForm.controls; }\r\n\r\n orderHandbook(h) {\r\n\r\n if (h == 'handbook-show') { $('#handbook-show').show(); }\r\n if (h == 'handbook-hide') { $('#handbook-show').hide(); }\r\n\r\n } // function orderHandbook()\r\n\r\n goGreen(h) {\r\n\r\n if (h == 'green-show') { $('#green-show').show(); }\r\n if (h == 'green-hide') { $('#green-show').hide(); }\r\n\r\n } // function goGreen()\r\n\r\n termConditions(val) {\r\n this.acceptedTC = val;\r\n }\r\n\r\n updateInvoiceDetails(val) {\r\n\r\n if (val == true) {\r\n\r\n this.bookingForm.controls.invoice_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.invoice_organization.setValue(this.bookingForm.controls.organization.value);\r\n this.bookingForm.controls.invoice_department.setValue(this.bookingForm.controls.department.value);\r\n this.bookingForm.controls.invoice_address.setValue(this.bookingForm.controls.address.value);\r\n this.bookingForm.controls.invoice_city.setValue(this.bookingForm.controls.city.value);\r\n this.bookingForm.controls.invoice_postcode.setValue(this.bookingForm.controls.postcode.value);\r\n this.bookingForm.controls.invoice_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n this.bookingForm.controls.invoice_email.setValue(this.bookingForm.controls.email.value);\r\n //this.bookingForm.controls.invoice_purchaseOrder.setValue(this.bookingForm.controls.purchaseOrder.value);\r\n //this.bookingForm.controls.invoice_promoCode.setValue(this.bookingForm.controls.promoCode.value);\r\n\r\n\r\n } else {\r\n this.bookingForm.controls.invoice_name.setValue('');\r\n this.bookingForm.controls.invoice_organization.setValue('');\r\n this.bookingForm.controls.invoice_department.setValue('');\r\n this.bookingForm.controls.invoice_address.setValue('');\r\n this.bookingForm.controls.invoice_city.setValue('');\r\n this.bookingForm.controls.invoice_postcode.setValue('');\r\n this.bookingForm.controls.invoice_telephone.setValue('');\r\n this.bookingForm.controls.invoice_email.setValue('');\r\n //this.bookingForm.controls.invoice_purchaseOrder.setValue('');\r\n //this.bookingForm.controls.invoice_promoCode.setValue('');\r\n }\r\n\r\n }\r\n\r\n updatePostalDetails(val) {\r\n\r\n if (val == true) {\r\n\r\n this.bookingForm.controls.postal_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.postal_address.setValue(this.bookingForm.controls.address.value);\r\n this.bookingForm.controls.postal_city.setValue(this.bookingForm.controls.city.value);\r\n this.bookingForm.controls.postal_postcode.setValue(this.bookingForm.controls.postcode.value);\r\n this.bookingForm.controls.postal_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n\r\n\r\n } else {\r\n this.bookingForm.controls.postal_name.setValue('');\r\n this.bookingForm.controls.postal_address.setValue('');\r\n this.bookingForm.controls.postal_city.setValue('');\r\n this.bookingForm.controls.postal_postcode.setValue('');\r\n this.bookingForm.controls.postal_telephone.setValue('');\r\n }\r\n\r\n }\r\n\r\n updateBookerDetails(val) {\r\n \r\n if (val == 'delegate') {\r\n\r\n this.bookingForm.controls.booker_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.booker_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n this.bookingForm.controls.booker_email.setValue(this.bookingForm.controls.email.value);\r\n\r\n } else if (val == 'invoice') {\r\n\r\n this.bookingForm.controls.booker_name.setValue(this.bookingForm.controls.invoice_name.value);\r\n this.bookingForm.controls.booker_telephone.setValue(this.bookingForm.controls.invoice_telephone.value);\r\n this.bookingForm.controls.booker_email.setValue(this.bookingForm.controls.invoice_email.value);\r\n\r\n } else if (val == 'none') {\r\n\r\n this.bookingForm.controls.booker_name.setValue('');\r\n this.bookingForm.controls.booker_telephone.setValue('');\r\n this.bookingForm.controls.booker_email.setValue('');\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n onSourceChanged(title: any) {\r\n\r\n if (title.value == \"Other\") {\r\n this.other_source = true;\r\n }\r\n else {\r\n this.other_source = false;\r\n }\r\n }\r\n\r\n setStep(index: number) {\r\n this.step = index;\r\n \r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n setStep_closed() {\r\n //this.step = index;\r\n \r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n nextStep() {\r\n if (this.courseDuration == 4 || this.courseDuration == 3) { // 4 is certificate and 3 days is the intermediate cert\r\n if (this.step == 2)\r\n this.step = 6;\r\n else if (this.step == 6)\r\n this.step = 3;\r\n else\r\n this.step++;\r\n }\r\n else\r\n this.step++;\r\n\r\n\r\n }\r\n\r\n prevStep() {\r\n\r\n if (this.courseDuration == 4 || this.courseDuration == 3) { // 4 is certificate and 3 days is the intermediate cert\r\n if (this.step == 3)\r\n this.step = 6;\r\n else if (this.step == 6)\r\n this.step = 2;\r\n else\r\n this.step--;\r\n }\r\n else\r\n this.step--;\r\n }\r\n\r\n \r\n\r\n getCurrentCourseList(title: any) {\r\n\r\n if (title.value == null ||\r\n title.value == undefined)\r\n title = { value: title }\r\n\r\n\r\n this._coursesService.getCurrentCourseList(title).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.currentCoursesList = result.data\r\n\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onBookingSubmit() {\r\n \r\n //var valdata = $(\"#bookingForm\").serialize();\r\n var _courseType = CourseType.Certificates;\r\n debugger;\r\n if (this.courseName.toLowerCase().includes('webinar'))\r\n _courseType = CourseType.Webinar;\r\n else if (this.courseDuration == 1)\r\n _courseType = CourseType.FullDay;\r\n else if (this.courseDuration == 4 || this.courseDuration == 3) // certificate or Intermediate cert (3 days duration)\r\n _courseType = CourseType.Certificates;\r\n \r\n\r\n\r\n var req = {\r\n postal_name: this.bookingForm.controls.postal_name.value,\r\n postal_address: this.bookingForm.controls.postal_address.value,\r\n postal_city: this.bookingForm.controls.postal_city.value,\r\n postal_postcode: this.bookingForm.controls.postal_postcode.value,\r\n postal_telephone: this.bookingForm.controls.postal_telephone.value,\r\n\r\n courseType: _courseType,\r\n speaker: this.speaker,\r\n subject: this.subject,\r\n courseDuration: this.courseDuration,\r\n webCourseId: this.webCourseId,\r\n courseName: this.courseName,\r\n courseCost: this.courseCost,\r\n courseDate: this.courseDate,\r\n courseLocation: this.courseLocation,\r\n source: this.bookingForm.controls.source.value,\r\n name: this.bookingForm.controls.name.value,\r\n organization: this.bookingForm.controls.organization.value,\r\n department: this.bookingForm.controls.department.value,\r\n address: this.bookingForm.controls.address.value,\r\n bagAddress: this.bookingForm.controls.bagAddress.value,\r\n city: this.bookingForm.controls.city.value,\r\n postcode: this.bookingForm.controls.postcode.value,\r\n telephone: this.bookingForm.controls.telephone.value,\r\n email: this.bookingForm.controls.email.value,\r\n sector: this.bookingForm.controls.sector.value,\r\n invoice_name: this.bookingForm.controls.invoice_name.value,\r\n invoice_organization: this.bookingForm.controls.invoice_organization.value,\r\n invoice_department: this.bookingForm.controls.invoice_department.value,\r\n invoice_address: this.bookingForm.controls.invoice_address.value,\r\n invoice_city: this.bookingForm.controls.invoice_city.value,\r\n invoice_postcode: this.bookingForm.controls.invoice_postcode.value,\r\n invoice_telephone: this.bookingForm.controls.invoice_telephone.value,\r\n invoice_email: this.bookingForm.controls.invoice_email.value,\r\n invoice_purchaseOrder: this.bookingForm.controls.invoice_purchaseOrder.value,\r\n invoice_promoCode: this.bookingForm.controls.invoice_promoCode.value,\r\n booker_name: this.bookingForm.controls.booker_name.value,\r\n booker_telephone: this.bookingForm.controls.booker_telephone.value,\r\n booker_email: this.bookingForm.controls.booker_email.value,\r\n goGreen: $(\"input[name='gogreen']:checked\").val(),\r\n policyPack: $(\"input[name='policypack']:checked\").val(),\r\n manualPurchase: $(\"input[name='manual_purchase']:checked\").val(),\r\n subscription: this.bookingForm.controls.blog_details.value, //$(\"input[name='blog_details']:checked\").val(),\r\n leaflet: this.bookingForm.controls.booknow.value, //$(\"input[name='booknow']:checked\").val(),\r\n txt_other: this.bookingForm.controls.txt_other.value,\r\n manualPurchaseQty: Number(this.bookingForm.controls.manual_purchase_qty.value)\r\n };\r\n\r\n this._delegateService.insertBooking(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.bookingForm.reset();\r\n this.step = 0;\r\n\r\n this.bookingForm.controls.source.patchValue(\"Select source\");\r\n this.bookingForm.controls.sector.patchValue(\"Select sector\");\r\n //this.bookingForm.controls.city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.invoice_city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.postal_city.patchValue(\"Select city\");\r\n\r\n\r\n this._route.navigateByUrl(\"/booking-confirmation\");\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n \r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n}\r\n","\n\n xxx\n\n\n\n\n\n\n
\n \n
\n

Course Booking form

\n\n

Book a course with us.

\n\n

We respect your privacy and will only use your personal data in accordance with the General Data Protection Regulation (GDPR). Click here to read our full privacy policy.

\n\n
\n\n
\n Required fields are highlighted in red\n
\n\n
\n\n
\n \n\n\n\n \n \n \n \n COURSE DETAILS\n \n \n \n\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n \n\n
\n
\n\n
\n
\n \n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n\n\n \n\n Select source\n\n \n IRMS Conference Stand\n \n\n \n Act Now Blog\n \n\n \n Business Scotland\n \n\n \n Business Comment for the Edinburgh Chamber of Commerce\n \n\n \n Internet Search\n \n\n \n Local Government Lawyer\n \n\n \n Received Email\n \n\n \n Received Flyer\n \n\n \n Attended a Course\n \n\n \n Recommended/Colleague\n \n\n \n Other\n \n\n \n\n \n
\n
\n\n
\n
\n
\n\n \n Next\n \n
\n\n \n \n \n OFFERS\n \n \n\n \n \n \n \n\n\n
\n\n
THE ACT NOW UK GDPR HANDBOOK
\n\n

\n \n

\n\n
\n

The Act Now UK GDPR handbook is designed for data protection practitioners and legal advisers who require a single printed resource cross-referencing the UK GDPR with the supplementary provisions set out in the DPA 2018. The handbook includes:

\n\n
    \n
  • Full text of the UK GDPR
  • \n
  • Part 1 and 2 of the DPA 2018 together with schedules 1 - 4 (inclusive).
  • \n
\n\n
\n\n
\n\n OFFER PRICE\n\n \n - Purchase the handbook for £59.99\n \n\n \n
Purchase the handbook for £44.95 when ordering together with a course booking (RRP £54.95)\n
\n\n
\n\n
\n Delegates booking the GDPR Practitioner Certificate will receive one free copy.
Please indicate below if you would like additional copies.\n
\n\n
\n\n Would you like to purchase a copy?\n\n Yes,\n\n Quantity\n \n\n No\n\n
\n\n\n\n
\n\n Please note, a separate invoice will be issued for the Handbook. Orders will not be despatched until payment has been received.\n\n
\n\n \n\n\n
\n\n \n Previous\n Next\n \n
\n\n \n \n \n DELEGATE DETAILS\n \n \n\n
\n
\n \n
\n
\n \n\n
\n Number of emails not matched with number of delegate names\n
\n\n
\n
{{errors.required}}
\n
\n\n\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n\n Select sector\n Central Government\n Civil Service\n Education\n Emergency Services\n Health Sector\n Higher Education\n Local Government\n Private Sector\n\n Third Sector (Charities etc)\n \n\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n \n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n \n
\n
{{errors.required}}
\n
\n
\n\n
\n\n
\n\n\n \n\n
\n\n \n \n An electronic copy of your course material will be emailed to you prior to the course.\n Please ensure the email you have entered is correct.\n\n \n \n \n \n \n\n
\n\n
\n\n Please provide the address where the course materials should be posted. If an incorrect address is provided there will be a charge for additional materials/postage.\n\n \n \n \n \n \n
\n
Postal Address for Materials
\n
\n \n
\n\n
\n
\n\n \n Previous\n Next\n \n
\n\n 1) || courseName.includes('certificate'))\"\n [expanded]=\"step === 6\" (opened)=\"setStep(6)\" (closed)=\"setStep_closed()\" hideToggle>\n \n \n POSTAL ADDRESS DETAILS\n \n \n\n
\n \n Same as DELEGATE DETAILS\n
\n\n
\n
\n \n
\n
\n \n
\n\n\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n \n
\n\n\n
\n\n\n \n\n
\n\n
Course Material
\n\n Please provide us with your preferred postal address for your course material. All course material is ordered 14 days prior to the course. If there are any changes to the postal address prior to the course, please update us immediately. If the materials have already been shipped, or a failure to update the address within the timeframe will result in a £85 plus vat charge, to reprint and ship the course material.\n\n\n
\n\n\n \n Previous\n Next\n \n
\n\n \n \n \n INVOICE DETAILS\n \n \n\n\n
\n Please give details of the individual/department responsible for payment of the invoice.\n
\n\n\n
\n \n Same as DELEGATE DETAILS\n
\n\n
\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n \n\n
\n \n
\n\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n ()[\\]\\\\.,;:\\s@\\']+(\\.[^<>()[\\]\\\\.,;:\\s@\\']+)*)|(\\'.+\\'))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\"\n [ngClass]=\"{ 'is-invalid': f.invoice_email.errors}\"\n required formControlName=\"invoice_email\" maxlength=\"250\" />\n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n \n
\n
\n \n\n
\n
\n\n \n Previous\n Next\n \n
\n\n \n \n \n BOOKER DETAILS (If different)\n \n \n\n
\n\n
\n \n\n\n \n \n Same as DELEGATE DETAILS\n \n \n Same as INVOICE DETAILS\n \n \n Other\n \n \n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n ()[\\]\\\\.,;:\\s@\\']+(\\.[^<>()[\\]\\\\.,;:\\s@\\']+)*)|(\\'.+\\'))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\"\n [ngClass]=\"{ 'is-invalid': f.booker_email.errors}\"\n required formControlName=\"booker_email\" maxlength=\"250\" />\n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n Previous\n Next\n \n
\n\n \n \n \n TERMS AND CONDITIONS\n \n \n\n
subscribe-style\">\n\n Would you like to subscribe to our regular email which will keep you up to date with our latest blog posts and training courses on information and surveillance law? (required)\n\n
\n\n
\n \n\n \n Yes\n No\n Already Subscribed\n \n
\n\n
\n\n
\n\n
subscribe-style\">\n\n From time to time we send out leaflets by post which detail our new and upcoming training courses and products. Would you like to receive these? (required)\n\n
\n
\n \n\n \n Yes\n No\n Already Subscribed\n \n
\n\n\n
\n\n
\n\n

Bookings & Cancellation Policy

\n\n\n
    \n\n
  • Act Now Training will invoice your organisation upon receipt of the booking. Receipt of a booking form by us implies that you have the necessary internal approvals.
  • \n\n
  • The invoice is payable within 30 days of being issued regardless of whether the event has taken place.
  • \n\n
  • If you book within 10 days of the course date please check by phone or email that your place is confirmed.
  • \n\n
  • Confirmation and directions to the venue will be sent to you a minimum of 7 days before the course date.
  • \n\n
  • It is your responsibility to ensure we have your correct details especially email address. Failure to do so could lead to you not receiving joining instructions. In such cases you are still liable to pay the invoice.
  • \n\n
  • The full fee will remain payable even if the delegate does not attend.
  • \n\n
  • We reserve the right to cancel the event or change the venue or speakers due to circumstances beyond our control. In such cases we will not be liable for refunding any expenses incurred.
  • \n\n
  • For the latest info on courses, venues etc please check the front page of our website or follow us on twitter.
  • \n\n
  • We reserve the right to refuse any bookings (and cancel any bookings) especially from consultants, those in the business of information rights training/consultancy and those whose business directly or indirectly competes with ours.
  • \n\n
    CERTIFICATE COURSES
    \n\n
  • If the invoice remains unpaid, we reserve the right not to release your exam marks and/or issue your certificate until the invoice has been paid in full.
  • \n\n
    REFUND/CANCELLATION POLICY
    \n\n
  • You can cancel your booking up to 30 days before the event without charge. After this you cannot cancel your booking nor transfer it to another course. This is irrespective of when booked.
  • \n\n
  • Substitute delegates are welcome at any time without charge.
  • \n\n
  • Transfers to another date for the same course are considered as another course.
  • \n\n
    INCLEMENTAL WEATHER/TRANSPORT PROBLEMS
    \n\n
  • We do not cancel courses due to inclemental weather or transport problems. If you cannot attend due to these reasons the invoice remains payable.
  • \n\n
\n\n\n\n
\n Please tick to accept the terms and conditions.\n \n\n
\n\n \n \n Previous\n \n\n \n
\n\n
\n\n\n\n
\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CourseType, errorMessages } from '../../../common/validation/messages';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-ripa-booking',\r\n templateUrl: './ripa-booking.component.html',\r\n styleUrls: ['./ripa-booking.component.css']\r\n})\r\nexport class RipaBookingComponent implements OnInit {\r\n\r\n //https://localhost:44384/booking-ripa?courseName=RIPA Essentials&courseCost=69&productId=44\r\n //https://localhost:44384/booking-ripa?courseName=GDPR E-Learning Course&courseCost=20&productId=38\r\n\r\n\r\n loading = false;\r\n step = 1;\r\n bookingForm: FormGroup;\r\n delegatesList: any;\r\n coursesList: any;\r\n locationsList: any;\r\n currentCoursesList: any;\r\n errors: any = errorMessages;\r\n\r\n _params: any;\r\n courseId: any;\r\n productId: any;\r\n courseName: any;\r\n courseCost: any;\r\n courseDate: any;\r\n courseLocation: any;\r\n selectedSource: any = \"Select source\";\r\n selectedSector: any = \"Select sector\";\r\n other_source: any = false;\r\n courseDuration: any = \"\";\r\n subject: any;\r\n speaker: any;\r\n webCourseId: any;\r\n acceptedTC: any = false;\r\n validEmail: any = false;\r\n validNames: any = true;\r\n\r\n constructor(private _delegateService: DelegateService,\r\n private _coursesService: CoursesService,\r\n private formBuilder: FormBuilder,\r\n private _route: Router,\r\n private route: ActivatedRoute) {\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n\r\n this._params = { ...params.keys, ...params };\r\n\r\n this.productId = this._params.params.productId;\r\n this.courseName = this._params.params.courseName;\r\n this.courseCost = this._params.params.courseCost;\r\n //this.courseDate = this._params.params.courseDate;\r\n //this.courseLocation = this._params.params.courseLocation;\r\n //this.courseDuration = this._params.params.courseDuration;\r\n //this.subject = this._params.params.subject;\r\n //this.speaker = this._params.params.speaker;\r\n });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n $('body').addClass(\"booking-bg\");\r\n\r\n this.courseDuration = this.courseDuration.substring(0, 1);\r\n\r\n this.bookingForm = this.formBuilder.group({\r\n //bookingCourse: ['', Validators.required],\r\n //bookingDelegate: ['', Validators.required],\r\n //bookingCurrentCourses: ['', Validators.required],\r\n source: ['', Validators.required],\r\n txt_other: [''],\r\n licences:[''],\r\n name: ['', Validators.required],\r\n organization: ['', Validators.required],\r\n department: [''],\r\n address: ['', Validators.required],\r\n city: ['', Validators.required],\r\n postcode: ['', Validators.required],\r\n telephone: ['', Validators.required],\r\n email: ['', Validators.required],\r\n sector: ['', Validators.required],\r\n bagAddress: [''],\r\n\r\n invoice_name: ['', Validators.required],\r\n invoice_organization: ['', Validators.required],\r\n invoice_department: [''],\r\n invoice_address: ['', Validators.required],\r\n invoice_city: ['', Validators.required],\r\n invoice_postcode: ['', Validators.required],\r\n invoice_telephone: ['', Validators.required],\r\n invoice_email: ['', Validators.email],\r\n invoice_purchaseOrder: [''],\r\n invoice_promoCode: [''],\r\n\r\n booker_name: ['', Validators.required],\r\n booker_telephone: ['', Validators.required],\r\n booker_email: ['', Validators.email],\r\n\r\n invoice_details: [false],\r\n invoice_tc: [false, Validators.required],\r\n rdGogreen: [''],\r\n policypack: [''],\r\n blog_details: [''],\r\n booknow: [''],\r\n manual_purchase_qty:[''],\r\n\r\n postal_name: [''],\r\n postal_address: [''],\r\n postal_city: [''],\r\n postal_postcode: [''],\r\n postal_telephone: ['']\r\n });\r\n\r\n\r\n //this.getDelegatesList();\r\n //this.getCoursesList();\r\n //this.getLocationsList();\r\n //this.selectedSource = \"Select source\";\r\n //$(\"#hearing\").prop(\"selectedIndex\", 0);\r\n this.bookingForm.controls.source.patchValue(\"Select source\");\r\n this.bookingForm.controls.sector.patchValue(\"Select sector\");\r\n\r\n setTimeout(() => {\r\n //this.bookingForm.controls.city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.invoice_city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.postal_city.patchValue(\"Select city\");\r\n }, 100);\r\n }\r\n\r\n\r\n validateEmails() {\r\n\r\n\r\n var emails = this.bookingForm.controls.email.value.replace(/\\s/g, '').split(\",\");\r\n var names = this.bookingForm.controls.name.value.split(\",\");\r\n this.validEmail = true;\r\n var regex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n for (var i = 0; i < emails.length; i++) {\r\n if (emails[i] == \"\" || !regex.test(emails[i])) {\r\n this.validEmail = false;\r\n }\r\n }\r\n\r\n if (this.validEmail)\r\n if (emails != \"\" && (emails.length == names.length)) {\r\n this.validEmail = true;\r\n this.validNames = true;\r\n $(\"#_validNames\").hide();\r\n }\r\n else {\r\n this.validEmail = false;\r\n this.validNames = false;\r\n $(\"#_validNames\").show();\r\n }\r\n }\r\n\r\n getLocationsList() {\r\n this.loading = true;\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data;\r\n this.loading = false;\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get f() { return this.bookingForm.controls; }\r\n\r\n orderHandbook(h) {\r\n\r\n if (h == 'handbook-show') { $('#handbook-show').show(); }\r\n if (h == 'handbook-hide') { $('#handbook-show').hide(); }\r\n\r\n } // function orderHandbook()\r\n\r\n goGreen(h) {\r\n\r\n if (h == 'green-show') { $('#green-show').show(); }\r\n if (h == 'green-hide') { $('#green-show').hide(); }\r\n\r\n } // function goGreen()\r\n\r\n termConditions(val) {\r\n this.acceptedTC = val;\r\n }\r\n\r\n updateInvoiceDetails(val) {\r\n\r\n if (val == true) {\r\n\r\n this.bookingForm.controls.invoice_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.invoice_organization.setValue(this.bookingForm.controls.organization.value);\r\n this.bookingForm.controls.invoice_department.setValue(this.bookingForm.controls.department.value);\r\n this.bookingForm.controls.invoice_address.setValue(this.bookingForm.controls.address.value);\r\n this.bookingForm.controls.invoice_city.setValue(this.bookingForm.controls.city.value);\r\n this.bookingForm.controls.invoice_postcode.setValue(this.bookingForm.controls.postcode.value);\r\n this.bookingForm.controls.invoice_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n this.bookingForm.controls.invoice_email.setValue(this.bookingForm.controls.email.value);\r\n //this.bookingForm.controls.invoice_purchaseOrder.setValue(this.bookingForm.controls.purchaseOrder.value);\r\n //this.bookingForm.controls.invoice_promoCode.setValue(this.bookingForm.controls.promoCode.value);\r\n\r\n\r\n } else {\r\n this.bookingForm.controls.invoice_name.setValue('');\r\n this.bookingForm.controls.invoice_organization.setValue('');\r\n this.bookingForm.controls.invoice_department.setValue('');\r\n this.bookingForm.controls.invoice_address.setValue('');\r\n this.bookingForm.controls.invoice_city.setValue('');\r\n this.bookingForm.controls.invoice_postcode.setValue('');\r\n this.bookingForm.controls.invoice_telephone.setValue('');\r\n this.bookingForm.controls.invoice_email.setValue('');\r\n //this.bookingForm.controls.invoice_purchaseOrder.setValue('');\r\n //this.bookingForm.controls.invoice_promoCode.setValue('');\r\n }\r\n\r\n }\r\n\r\n updatePostalDetails(val) {\r\n\r\n if (val == true) {\r\n\r\n this.bookingForm.controls.postal_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.postal_address.setValue(this.bookingForm.controls.address.value);\r\n this.bookingForm.controls.postal_city.setValue(this.bookingForm.controls.city.value);\r\n this.bookingForm.controls.postal_postcode.setValue(this.bookingForm.controls.postcode.value);\r\n this.bookingForm.controls.postal_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n\r\n\r\n } else {\r\n this.bookingForm.controls.postal_name.setValue('');\r\n this.bookingForm.controls.postal_address.setValue('');\r\n this.bookingForm.controls.postal_city.setValue('');\r\n this.bookingForm.controls.postal_postcode.setValue('');\r\n this.bookingForm.controls.postal_telephone.setValue('');\r\n }\r\n\r\n }\r\n\r\n updateBookerDetails(val) {\r\n\r\n if (val == 'delegate') {\r\n\r\n this.bookingForm.controls.booker_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.booker_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n this.bookingForm.controls.booker_email.setValue(this.bookingForm.controls.email.value);\r\n\r\n } else if (val == 'invoice') {\r\n\r\n this.bookingForm.controls.booker_name.setValue(this.bookingForm.controls.invoice_name.value);\r\n this.bookingForm.controls.booker_telephone.setValue(this.bookingForm.controls.invoice_telephone.value);\r\n this.bookingForm.controls.booker_email.setValue(this.bookingForm.controls.invoice_email.value);\r\n\r\n } else if (val == 'none') {\r\n\r\n this.bookingForm.controls.booker_name.setValue('');\r\n this.bookingForm.controls.booker_telephone.setValue('');\r\n this.bookingForm.controls.booker_email.setValue('');\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n onSourceChanged(title: any) {\r\n\r\n if (title.value == \"Other\") {\r\n this.other_source = true;\r\n }\r\n else {\r\n this.other_source = false;\r\n }\r\n }\r\n\r\n setStep(index: number) {\r\n this.step = index;\r\n \r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n setStep_closed() {\r\n //this.step = index;\r\n \r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n nextStep() {\r\n if (this.courseDuration == 4) { // this is certificate\r\n if (this.step == 2)\r\n this.step = 6;\r\n else if (this.step == 6)\r\n this.step = 3;\r\n else\r\n this.step++;\r\n }\r\n else\r\n this.step++;\r\n\r\n\r\n }\r\n\r\n prevStep() {\r\n\r\n if (this.courseDuration == 4) { // this is certificate\r\n if (this.step == 3)\r\n this.step = 6;\r\n else if (this.step == 6)\r\n this.step = 2;\r\n else\r\n this.step--;\r\n }\r\n else\r\n this.step--;\r\n }\r\n\r\n \r\n\r\n getCurrentCourseList(title: any) {\r\n\r\n if (title.value == null ||\r\n title.value == undefined)\r\n title = { value: title }\r\n\r\n\r\n this._coursesService.getCurrentCourseList(title).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.currentCoursesList = result.data\r\n\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onBookingSubmit() {\r\n\r\n //var valdata = $(\"#bookingForm\").serialize();\r\n var _courseType = CourseType.eLearning;\r\n\r\n \r\n\r\n var req = {\r\n postal_name: this.bookingForm.controls.postal_name.value,\r\n postal_address: this.bookingForm.controls.postal_address.value,\r\n postal_city: this.bookingForm.controls.postal_city.value,\r\n postal_postcode: this.bookingForm.controls.postal_postcode.value,\r\n postal_telephone: this.bookingForm.controls.postal_telephone.value,\r\n\r\n courseType: _courseType,\r\n speaker: this.speaker,\r\n subject: this.subject,\r\n //courseDuration: this.courseDuration,\r\n //webCourseId: this.webCourseId,\r\n courseName: this.courseName,\r\n courseCost: this.courseCost,\r\n courseDate: this.courseDate,\r\n //courseLocation: this.courseLocation,\r\n source: this.bookingForm.controls.source.value,\r\n name: this.bookingForm.controls.name.value,\r\n organization: this.bookingForm.controls.organization.value,\r\n department: this.bookingForm.controls.department.value,\r\n address: this.bookingForm.controls.address.value,\r\n bagAddress: this.bookingForm.controls.bagAddress.value,\r\n city: this.bookingForm.controls.city.value,\r\n postcode: this.bookingForm.controls.postcode.value,\r\n telephone: this.bookingForm.controls.telephone.value,\r\n email: this.bookingForm.controls.email.value,\r\n sector: this.bookingForm.controls.sector.value,\r\n invoice_name: this.bookingForm.controls.invoice_name.value,\r\n invoice_organization: this.bookingForm.controls.invoice_organization.value,\r\n invoice_department: this.bookingForm.controls.invoice_department.value,\r\n invoice_address: this.bookingForm.controls.invoice_address.value,\r\n invoice_city: this.bookingForm.controls.invoice_city.value,\r\n invoice_postcode: this.bookingForm.controls.invoice_postcode.value,\r\n invoice_telephone: this.bookingForm.controls.invoice_telephone.value,\r\n invoice_email: this.bookingForm.controls.invoice_email.value,\r\n invoice_purchaseOrder: this.bookingForm.controls.invoice_purchaseOrder.value,\r\n invoice_promoCode: this.bookingForm.controls.invoice_promoCode.value,\r\n booker_name: this.bookingForm.controls.booker_name.value,\r\n booker_telephone: this.bookingForm.controls.booker_telephone.value,\r\n booker_email: this.bookingForm.controls.booker_email.value,\r\n goGreen: $(\"input[name='gogreen']:checked\").val(),\r\n policyPack: $(\"input[name='policypack']:checked\").val(),\r\n manualPurchase: $(\"input[name='manual_purchase']:checked\").val(),\r\n manualPurchaseQty: Number(this.bookingForm.controls.manual_purchase_qty.value),\r\n subscription: this.bookingForm.controls.blog_details.value, //$(\"input[name='blog_details']:checked\").val(),\r\n leaflet: this.bookingForm.controls.booknow.value, //$(\"input[name='booknow']:checked\").val(),\r\n txt_other: this.bookingForm.controls.txt_other.value,\r\n BuyProduct: true,\r\n ProductId: Number(this.productId) ,\r\n BuyLicenses: Number(this.bookingForm.controls.licences.value), \r\n };\r\n\r\n \r\n this._delegateService.insertBooking(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.bookingForm.reset();\r\n this.step = 1;\r\n\r\n this.bookingForm.controls.source.patchValue(\"Select source\");\r\n this.bookingForm.controls.sector.patchValue(\"Select sector\");\r\n //this.bookingForm.controls.city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.invoice_city.patchValue(\"Select city\");\r\n //this.bookingForm.controls.postal_city.patchValue(\"Select city\");\r\n\r\n this._route.navigateByUrl(\"/booking-confirmation\");\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n \r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n}\r\n","\n\n\n\n\n\n\n xxx\n\n\n\n\n
\n \n\n\n\n \n \n \n \n COURSE DETAILS\n \n \n \n\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n \n\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n \n\n
\n
\n \n
\n
\n\n\n\n \n\n Select source\n\n \n IRMS Conference Stand\n \n\n \n Act Now Blog\n \n\n \n Business Scotland\n \n\n \n Business Comment for the Edinburgh Chamber of Commerce\n \n\n \n Internet Search\n \n\n \n Local Government Lawyer\n \n\n \n Received Email\n \n\n \n Received Flyer\n \n\n \n Attended a Course\n \n\n \n Recommended/Colleague\n \n\n \n Other\n \n\n \n\n \n
\n
\n\n\n\n\n \n \n \n \n\n\n
\n\n
THE ACT NOW UK GDPR HANDBOOK
\n\n

\n \n

\n\n
\n

The Act Now UK GDPR handbook is designed for data protection practitioners and legal advisers who require a single printed resource cross-referencing the UK GDPR with the supplementary provisions set out in the DPA 2018. The handbook includes:

\n\n
    \n
  • Full text of the UK GDPR
  • \n
  • Part 1 and 2 of the DPA 2018 together with schedules 1 - 4 (inclusive).
  • \n
\n\n
\n\n
\n\n OFFER PRICE\n\n \n - Purchase the handbook for £59.99\n \n\n \n
Purchase the handbook for £44.95 when ordering together with a course booking (RRP £54.95)\n
\n\n
\n\n
\n Delegates booking the GDPR Practitioner Certificate will receive one free copy.
Please indicate below if you would like additional copies.\n
\n\n
\n\n Would you like to purchase a copy?\n\n Yes,\n\n Quantity\n \n\n No\n\n
\n\n\n\n
\n\n Please note, a separate invoice will be issued for the Handbook. Orders will not be despatched until payment has been received.\n\n
\n\n\n\n\n
\n
\n
\n
\n\n \n Next\n \n
\n\n \n \n \n\n \n \n \n DELEGATE DETAILS\n \n \n\n
\n
\n \n
\n
\n \n\n
\n Number of emails not matched with number of delegate names\n
\n\n
\n
{{errors.required}}
\n
\n\n\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n\n Select sector\n Central Government\n Civil Service\n Education\n Emergency Services\n Health Sector\n Higher Education\n Local Government\n Private Sector\n\n Third Sector (Charities etc)\n \n\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n \n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n \n
\n
{{errors.required}}
\n
\n
\n
\n\n
\n\n\n
\n\n
\n \n
\n
\n \n If you would like to receive an Act Now bag and pen, please confirm your address in box below.\n \n
\n \n\n
\n
\n
\n\n
\n\n \n \n An electronic copy of your course material will be emailed to you prior to the course.\n Please ensure the email you have entered is correct.\n\n \n \n \n \n \n\n
\n\n
\n\n Please provide the address where the course materials should be posted. If an incorrect address is provided there will be a charge for additional materials/postage.\n\n \n \n \n \n \n
\n
Postal Address for Materials
\n
\n \n
\n\n
\n
\n\n \n Previous\n Next\n \n
\n\n 1) || courseName.includes('certificate'))\"\n [expanded]=\"step === 6\" (opened)=\"setStep(6)\" (closed)=\"setStep_closed()\" hideToggle>\n \n \n POSTAL ADDRESS DETAILS\n \n \n\n
\n \n Same as DELEGATE DETAILS\n
\n\n
\n
\n \n
\n
\n \n
\n\n\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n\n
\n \n
\n
\n 0\n \n
\n\n
\n \n
\n
\n \n
\n\n\n
\n\n\n \n\n
\n\n
Course Material
\n\n Please provide us with your preferred postal address for your course material. All course material is ordered 14 days prior to the course. If there are any changes to the postal address prior to the course, please update us immediately. If the materials have already been shipped, or a failure to update the address within the timeframe will result in a £85 plus vat charge, to reprint and ship the course material.\n\n\n
\n\n\n \n Previous\n Next\n \n
\n\n \n \n \n INVOICE DETAILS\n \n \n\n\n
\n Please give details of the individual/department responsible for payment of the invoice.\n
\n\n\n
\n \n Same as DELEGATE DETAILS\n
\n\n
\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n \n\n
\n \n \n
\n\n
\n \n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n \n
\n
\n \n\n
\n
\n\n \n Previous\n Next\n \n
\n\n \n \n \n BOOKER DETAILS (If different)\n \n \n\n
\n\n
\n \n\n\n \n \n Same as DELEGATE DETAILS\n \n \n Same as INVOICE DETAILS\n \n \n Other\n \n \n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n Previous\n Next\n \n
\n\n \n \n \n TERMS AND CONDITIONS\n \n \n\n
subscribe-style\">\n\n Would you like to subscribe to our regular email which will keep you up to date with our latest blog posts and training courses on information and surveillance law? (required)\n\n
\n\n
\n \n\n \n Yes\n No\n Already Subscribed\n \n
\n\n
\n\n
\n\n
subscribe-style\">\n\n From time to time we send out leaflets by post which detail our new and upcoming training courses and products. Would you like to receive these? (required)\n\n
\n
\n \n\n \n Yes\n No\n Already Subscribed\n \n
\n\n\n
\n\n
\n\n

Bookings & Cancellation Policy

\n\n\n
    \n\n
  • Act Now Training will invoice your organisation upon receipt of the booking. Receipt of a booking form by us implies that you have the necessary internal approvals.
  • \n\n
  • The invoice is payable within 30 days of being issued regardless of whether the event has taken place.
  • \n\n
  • If you book within 10 days of the course date please check by phone or email that your place is confirmed.
  • \n\n
  • Confirmation and directions to the venue will be sent to you a minimum of 7 days before the course date.
  • \n\n
  • It is your responsibility to ensure we have your correct details especially email address. Failure to do so could lead to you not receiving joining instructions. In such cases you are still liable to pay the invoice.
  • \n\n
  • The full fee will remain payable even if the delegate does not attend.
  • \n\n
  • We reserve the right to cancel the event or change the venue or speakers due to circumstances beyond our control. In such cases we will not be liable for refunding any expenses incurred.
  • \n\n
  • For the latest info on courses, venues etc please check the front page of our website or follow us on twitter.
  • \n\n
  • We reserve the right to refuse any bookings (and cancel any bookings) especially from consultants, those in the business of information rights training/consultancy and those whose business directly or indirectly competes with ours.
  • \n\n
    CERTIFICATE COURSES
    \n\n
  • If the invoice remains unpaid, we reserve the right not to release your exam marks and/or issue your certificate until the invoice has been paid in full.
  • \n\n
    REFUND/CANCELLATION POLICY
    \n\n
  • You can cancel your booking up to 30 days before the event without charge. After this you cannot cancel your booking nor transfer it to another course. This is irrespective of when booked.
  • \n\n
  • Substitute delegates are welcome at any time without charge.
  • \n\n
  • Transfers to another date for the same course are considered as another course.
  • \n\n
    INCLEMENTAL WEATHER/TRANSPORT PROBLEMS
    \n\n
  • We do not cancel courses due to inclemental weather or transport problems. If you cannot attend due to these reasons the invoice remains payable.
  • \n\n
\n\n\n\n
\n Please tick to accept the terms and conditions.\n \n\n
\n\n \n Previous\n \n\n \n
\n\n
\n\n\n\n
\n","import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport add from 'date-fns/esm/fp/add/index.js';\r\nimport { errorMessages } from '../../../common/validation/messages';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\n\r\n@Component({\r\n selector: 'app-add-course',\r\n templateUrl: './add-course.component.html',\r\n styleUrls: ['./add-course.component.css']\r\n})\r\nexport class AddCourseComponent implements OnInit, OnChanges {\r\n\r\n public _title = \"Add Course\";\r\n insertForm: FormGroup;\r\n start_d1: any = new FormControl(new Date());\r\n start_d2: any;\r\n start_d3: any;\r\n start_d4: any;\r\n public speakersList: any;\r\n public locationsList: any;\r\n public subjectsList: any;\r\n public titlesList: any;\r\n errors: any = errorMessages;\r\n submitted = false;\r\n _courseTypeId: any = 0;\r\n _courseTitleId: any = 0;\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n @ViewChild('select') select: MatSelect;\r\n @Output() close = new EventEmitter();\r\n\r\n @Output() refreshGrid = new EventEmitter();\r\n @Output() refreshGridMethod = new EventEmitter();\r\n\r\n @Input() data;\r\n\r\n constructor(//@Inject(MAT_DIALOG_DATA) public data: any = {},\r\n public activeModal: NgbActiveModal,\r\n private _coursesService: CoursesService,\r\n private formBuilder: FormBuilder) {\r\n //\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = true;\r\n\r\n this.insertForm = this.formBuilder.group({\r\n courseTitle: ['', Validators.required],\r\n speaker: ['', Validators.required],\r\n subject: ['', Validators.required],\r\n courseType: ['', Validators.required],\r\n location: ['', Validators.required],\r\n startDate_day1: [this.start_d1.value, Validators.required],\r\n fees: ['0', Validators.required],\r\n startDate_day2: [''],\r\n startDate_day3: [''],\r\n startDate_day4: [''],\r\n startTime: [''],\r\n endTime: [''],\r\n });\r\n\r\n this.getTitlesList();\r\n this.getLocationsList();\r\n this.getSpeakersList();\r\n this.getSubjectsList();\r\n\r\n //\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n populateForm(__data: any) {\r\n \r\n this._title = \"Edit Course\";\r\n\r\n //var obj = this.titlesList.filter(obj => obj.id === __data.courseTitleId);\r\n //this.insertForm.controls.courseTitle.setValue(obj);\r\n \r\n this._courseTitleId = __data.courseTitleId;\r\n //this.insertForm.controls.courseTitle.setValue(__data.title);\r\n this.insertForm.controls.speaker.patchValue(__data.speakerName);\r\n this.insertForm.controls.location.patchValue(__data.location);\r\n this.insertForm.controls.subject.patchValue(__data.subjectTitle);\r\n //this.insertForm.controls.courseType.patchValue(__data.courseTypeId);\r\n this._courseTypeId = __data.courseTypeId + \"\";\r\n this.insertForm.controls.fees.setValue(__data.courseCost);\r\n this.insertForm.controls.startTime.setValue(__data.dates.startTime);\r\n this.insertForm.controls.endTime.setValue(__data.dates.finishTime);\r\n this.start_d1 = __data.dates.day1Date;\r\n this.start_d2 = __data.dates.day2Date;\r\n this.start_d3 = __data.dates.day3Date;\r\n this.start_d4 = __data.dates.day4Date;\r\n\r\n\r\n }\r\n\r\n addEvent(day:string, event: MatDatepickerInputEvent) {\r\n \r\n if (event.value != null) {\r\n if (day == 'd1') {\r\n //this.start_d1 = new Date(event.value);\r\n //this.start_d1.setDate(event.value.getDate());\r\n //this.start_d1.setMonth(event.value.getMonth());\r\n //this.start_d1.setFullYear(event.value.getFullYear());\r\n\r\n this.start_d1 = this.adjustDateForTimeOffset(event.value);\r\n }\r\n else if (day == 'd2') {\r\n //this.start_d2 = new Date(event.value);\r\n //this.start_d2.setDate(event.value.getDate());\r\n //this.start_d2.setMonth(event.value.getMonth());\r\n //this.start_d2.setFullYear(event.value.getFullYear());\r\n\r\n this.start_d2 = this.adjustDateForTimeOffset(event.value);\r\n }\r\n else if (day == 'd3') {\r\n //this.start_d3 = new Date(event.value);\r\n //this.start_d3.setDate(event.value.getDate());\r\n //this.start_d3.setMonth(event.value.getMonth());\r\n //this.start_d3.setFullYear(event.value.getFullYear());\r\n\r\n this.start_d3 = this.adjustDateForTimeOffset(event.value);\r\n }\r\n else if (day == 'd4') {\r\n //this.start_d4 = new Date(event.value);\r\n //this.start_d4.setDate(event.value.getDate());\r\n //this.start_d4.setMonth(event.value.getMonth());\r\n //this.start_d4.setFullYear(event.value.getFullYear());\r\n\r\n this.start_d4 = this.adjustDateForTimeOffset(event.value);\r\n }\r\n \r\n // console.log(event.value)\r\n }\r\n\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n getSpeakersList() {\r\n this.loading = true;\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n populateTitleData(data: any) {\r\n \r\n //this.selectedSubject = event.source.selected._element.nativeElement.innerText;\r\n this.insertForm.controls.subject.patchValue(data.value.subject);\r\n this._courseTypeId = data.value.courseTypeId + \"\";\r\n this.insertForm.controls.fees.setValue(data.value.courseCost);\r\n this.insertForm.controls.startTime.setValue(data.value.startTime);\r\n this.insertForm.controls.endTime.setValue(data.value.endTime);\r\n }\r\n\r\n getLocationsList() {\r\n this.loading = true;\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data;\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.subjectsList = result.data;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getTitlesList() {\r\n\r\n this._coursesService.getCourseTitlesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.titlesList = result.data;\r\n \r\n\r\n if (this._title == \"Edit Course\") {\r\n var obj = this.titlesList.filter(obj => obj.id === this._courseTitleId);\r\n this.insertForm.controls.courseTitle.setValue(obj[0]);\r\n }\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n get i() { return this.insertForm.controls; }\r\n\r\n insertNewCourse() {\r\n var d2 = this.insertForm.controls.startDate_day2.value ? this.insertForm.controls.startDate_day2.value : null;\r\n var d3 = this.insertForm.controls.startDate_day3.value ? this.insertForm.controls.startDate_day3.value : null;\r\n var d4 = this.insertForm.controls.startDate_day4.value ? this.insertForm.controls.startDate_day4.value : null;\r\n\r\n \r\n var req = {\r\n subjectTitle: this.insertForm.controls.subject.value,\r\n courseTitle: this.insertForm.controls.courseTitle.value.title,\r\n courseTitleId: this.insertForm.controls.courseTitle.value.id,\r\n location: this.insertForm.controls.location.value,\r\n dates: {\r\n day1Date: this.insertForm.controls.startDate_day1.value,\r\n day2Date: d2,\r\n day3Date: d3,\r\n day4Date: d4,\r\n StartTime: this.insertForm.controls.startTime.value,\r\n FinishTime: this.insertForm.controls.endTime.value\r\n },\r\n courseTypeId: parseInt(this.insertForm.controls.courseType.value),\r\n speakerName: this.insertForm.controls.speaker.value,\r\n courseCost: parseInt(this.insertForm.controls.fees.value)\r\n\r\n\r\n };\r\n\r\n \r\n this._coursesService.insertCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n this.activeModal.close('Close click');\r\n //this.close.emit();\r\n this.refreshGridMethod.emit();\r\n \r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n updateExistingCourse() {\r\n \r\n \r\n var req = {\r\n dates: {\r\n courseDateId: this.data.dates.courseDateId,\r\n day1Date: this.insertForm.controls.startDate_day1.value,\r\n day2Date: this.insertForm.controls.startDate_day2.value,\r\n day3Date: this.insertForm.controls.startDate_day3.value,\r\n day4Date: this.insertForm.controls.startDate_day4.value,\r\n StartTime: this.insertForm.controls.startTime.value,\r\n FinishTime: this.insertForm.controls.endTime.value\r\n },\r\n //startDate: this.insertForm.controls.StartDate.value,\r\n courseTitle: this.insertForm.controls.courseTitle.value.title,\r\n courseTitleId: this.insertForm.controls.courseTitle.value.id,\r\n \r\n courseId: this.data.courseId,\r\n subject: this.insertForm.controls.subject.value,\r\n speakerName: this.insertForm.controls.speaker.value,\r\n courseCost: parseInt(this.insertForm.controls.fees.value),\r\n courseTypeId: parseInt(this.insertForm.controls.courseType.value),\r\n location: this.insertForm.controls.location.value,\r\n toBeUpdate: this.data.dates.courseDateId + \"|all\"\r\n };\r\n\r\n this._coursesService.updateCourseData(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n //this.close.emit();\r\n\r\n //this.modal.dismissAll();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onInsertSubmit() {\r\n\r\n if (this.isNew == true) {\r\n\r\n this.insertNewCourse();\r\n }\r\n else {\r\n this.updateExistingCourse();\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onModalClose(): void {\r\n this.close.emit();\r\n }\r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n
\n\n\n
\n\n\n
\n\n
\n \n \n {{title.title}}\n \n
\n\n\n\n \n
\n \n \n {{spkr.speakerName}}\n \n
\n
\n \n \n {{loc.cityName}}\n \n
\n
\n \n \n {{sub.title}}\n \n\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n\n
\n\n
\n \n\n \n\n Course type\n\n \n Full day\n \n\n \n Certificate\n \n\n \n eLearning\n \n\n \n Product\n \n\n \n Inhouse\n \n\n \n Webinar\n \n\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n\n
\n
\n
\n \n Day 1\n \n \n \n \n
\n\n
\n \n Day 2\n \n \n \n \n
\n\n
\n \n Day 3\n \n \n \n \n
\n\n
\n \n Day 4\n \n \n \n \n
\n
\n\n
\n\n
\n\n\n
\n\n\n\n\n
\n\n
\n \n \n\n
\n \n\n
\n
\n\n\n\n\n\n
\n
\n\n\n\n\n\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n\r\n@Component({\r\n selector: 'app-button-renderer',\r\n template: `\r\n \r\n
\r\n {{label}}\r\n \r\n
\r\n `,\r\n \r\n //\r\n})\r\n\r\nexport class ButtonRendererComponent implements ICellRendererAngularComp {\r\n\r\n params;\r\n label: string;\r\n\r\n agInit(params): void {\r\n this.params = params;\r\n this.label = this.params.label || null;\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onClick($event) {\r\n if (this.params.onClick instanceof Function) {\r\n // put anything into params u want pass into parents component\r\n const params = {\r\n event: $event,\r\n rowData: this.params.node.data\r\n // ...something\r\n }\r\n this.params.onClick(this.params);\r\n\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\n\r\n\r\n@Component({\r\n selector: 'app-checkbox-renderer',\r\n //template: `\r\n //\r\n //`\r\n\r\n template: `\r\n
\r\n \r\n
\r\n `\r\n})\r\nexport class CheckboxRendererComponent implements ICellRendererAngularComp {\r\n\r\n\r\n params;\r\n label: string;\r\n id;\r\n\r\n agInit(params): void {\r\n this.params = params;\r\n this.label = this.params.label || null;\r\n this.id = this.params.node.data.invoiceNumber || null\r\n }\r\n\r\n refresh(params?: any): boolean {\r\n return true;\r\n }\r\n\r\n onClick($event) {\r\n if (this.params.onClick instanceof Function) {\r\n // put anything into params u want pass into parents component\r\n \r\n const params = {\r\n action: $event.currentTarget.checked,\r\n delegateId: this.params.node.data.id,\r\n toBeUpdated: this.params.column.colDef.headerName,\r\n rowData: this.params.node.data\r\n }\r\n\r\n this.params.onClick(params);\r\n\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-course-actions',\n template: //remove_red_eye\n `edit\n delete`,\n styles: [\n `.btn {\n line-height: 0.5;\n width: 100%;\n }`\n ]\n\n})\nexport class CourseActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n \n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { AddCourseComponent } from '../add-course/add-course.component';\r\n\r\n@Component({\r\n selector: 'app-course-clickable-parent',\r\n template: `\r\n \r\n `\r\n})\r\nexport class CourseClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n \r\n agInit(params: any): void {\r\n //\r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.courseId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(private _router: Router,\r\n private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _courseService: CoursesService) {\r\n\r\n }\r\n\r\n \r\n\r\n public clicked(data: any): void {\r\n //\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n \r\n this.params.context.componentParent.openModal(this.params.data);\r\n\r\n //this.params.action(this.params);\r\n //this.openModal.emit();\r\n //this.edit(this.params.data);\r\n //location.href = \"course?id=\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"edit-project/\" + data.Cell.pid);\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(data.Cell.id);\r\n\r\n }\r\n\r\n\r\n\r\n //edit(_data) {\r\n // \r\n // this._refDialog = this._dialog.open(AddCourseComponent, {\r\n // autoFocus: false,\r\n // //disableClose: true,\r\n // data: { _data },\r\n\r\n // });\r\n //}\r\n\r\n\r\n\r\n\r\n delete(id: any) {\r\n\r\n \r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (id > 0) {\r\n this._courseService.deleteCourse(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.params.context.componentParent.refreshGridMethod();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n genericMessage(Desc: any, Status: string) {\r\n\r\n //this._refDialog = this._dialog.open(ShowMessageComponent, {\r\n // disableClose: true,\r\n // autoFocus: false,\r\n // data: { message: Desc, status: Status }\r\n //});\r\n\r\n //this._refDialog.componentInstance.closeGenericMessasge.subscribe((data) => {\r\n // this._refDialog.close();\r\n // \r\n // if (Status == \"Success\")\r\n // location.href = 'projects';\r\n // //else if (Status == \"Completed\")\r\n // // this._router.navigateByUrl('projects');\r\n //});\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-dates-details',\n templateUrl: './course-dates-details.component.html',\n styleUrls: ['./course-dates-details.component.css']\n})\nexport class CourseDatesDetailsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n \n \n \n \n \n Act Now \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n\n\n
\n
\n
\n
\n
\n \n
\n

Training and Consultancy in Data Protection, Freedom of Information and Cyber Security Since 2002

\n
    \n
  • Log In
  • \n \n
  • \n 0\n
    \n

    Your cart

    \n

    Your cart is currently empty.

    \t\t
    \n
    \n
      \n
    \n\n
    \n
    \n\n
    \n Sub Total\n £0.00\n
    \n
    \n Vat\n £0.00\n
    \n
    \n Grand Total\n £0.00\n
    \n
    \n\n
    \n\n
    \n\n
    \n View Cart\n \n
    \n
    \n
  • \n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n \n \"banner\"\n \n
\n
\n
\n
\n
\n
\n
\n \n \"banner\"\n \n
\n
\n
\n
\n
\n
\n
\n \n \"banner\"\n \n
\n
\n
\n
\n
\n
\n
\n \n \"banner\"\n \n
\n
\n
\n
\n
\n
\n
\n \n \"banner\"\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"FOI\n
\n
\n

FOI

\n

The Freedom of Information Act provides access to information held by public authorities

\n
\n
\n
\n
\n

Filter

\n Filter\n
\n
\n
\n
\n \n\n
    \n
  • Webinars
  • \n
\n\n
\n

\n Subject\n

\n
\n
    \n
  • GDPR
  • \n
  • FOI
  • \n
  • RIPA
  • \n
  • Cyber
  • \n
  • Bribery
  • \n
\n
\n
\n
\n

\n Location\n

\n
\n
    \n
  • Act Now
  • \n
  • Belfast
  • \n
  • Birmingham
  • \n
  • Bristol
  • \n
  • Edinburgh
  • \n
  • Glasgow
  • \n
  • Leeds
  • \n
  • London
  • \n
  • Manchester
  • \n
  • Manchester Airport
  • \n
  • Online
  • \n
\n
\n
\n
\n

Course Type

\n
\n \n
\n
\n
\n

Date

\n
\n \n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
    \n
  • \n \n
  • \n
\n
\n
\n
\n
\n \n No courses available\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
    \n
\n
\n
\n

Our Full Privacy Policy can be read here

\n

VAT Number 830081858

\n

Company registered England and Wales (Company No. 04524979)

\n \n
\n
\n
\n
    \n
  • \"twitter\"
  • \n
  • \"linkedin\"
  • \n
\n
\n

SUBSCRIBE TO ACT NOWReceive monthly special offers and updates on new products.

\n
\n
\n \t\t\t\t\n
\n\n
\n \n
\n
\n \"logo\"\n
\n
\n

© Act Now Training Ltd 2022

\n
\n
\n
\n\n
\n
\n

\n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n\n\n\n\n
\n\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\n//import { ColDef, GridReadyEvent, GridOptions } from 'ag-grid-community';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport * as $ from \"jquery\";\r\nimport { Location } from '@angular/common';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CheckboxRendererComponent } from '../course-actions/checkbox-renderer/checkbox-renderer.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AddCourseComponent } from '../add-course/add-course.component';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { ButtonRendererComponent } from '../course-actions/button-renderer/button-renderer.component';\r\nimport jsPDF from 'jspdf';\r\nimport { parse } from 'date-fns';\r\n\r\n@Component({\r\n selector: 'app-course-details',\r\n templateUrl: './course-details.component.html',\r\n styleUrls: ['./course-details.component.css']\r\n})\r\nexport class CourseDetailsComponent implements OnInit {\r\n\r\n @ViewChild('modalPaymentDetails', { static: true }) modalPaymentDetails: TemplateRef;\r\n @ViewChild('modalAddDelegateToCourse', { static: true }) modalAddDelegateToCourse: TemplateRef;\r\n @ViewChild('modalDelegateEmails', { static: true }) modalDelegateEmails: TemplateRef;\r\n\r\n loading = false;\r\n delegateEmails: any;\r\n paymentDate: any = new FormControl(new Date());\r\n deadline: Date | null = null;\r\n submitted = false;\r\n isOfficeUse: boolean = false;\r\n _courseToUpdate: any;\r\n public _refDialog: any;\r\n gridOptions: GridOptions;\r\n @Input() detailData: any;\r\n coursesList: any;\r\n courseTitle: any;\r\n currentCoursesList: any;\r\n speakersList: any;\r\n locationsList: any;\r\n delegatesList: any = [];\r\n hotelRoomsList: any;\r\n hotelsList: any;\r\n cost: any;\r\n courseIncome: any;\r\n start_date: any;\r\n _xero: any;\r\n\r\n duration: any;\r\n courseTypeId: any;\r\n registration: any;\r\n start_time: any;\r\n end_time: any;\r\n\r\n coursesForm: FormGroup;\r\n del_date_Form: FormGroup;\r\n paymentForm: FormGroup;\r\n addDelegateToCourseForm: FormGroup;\r\n\r\n showAddDelegateToCourseForm: any = true;\r\n\r\n day1: any;\r\n day2: any;\r\n day3: any;\r\n day4: any;\r\n day1_capacity: any;\r\n day2_capacity: any;\r\n day3_capacity: any;\r\n day4_capacity: any;\r\n d1_checked: any = true;\r\n d2_checked: any = true;\r\n d3_checked: any = true;\r\n d4_checked: any = true;\r\n d1_teams: any = true;\r\n d2_teams: any = true;\r\n d3_teams: any = true;\r\n d4_teams: any = true;\r\n d1_cancelled: any = false;\r\n d2_cancelled: any = false;\r\n d3_cancelled: any = false;\r\n d4_cancelled: any = false;\r\n\r\n courseDatesId: any = 0;\r\n courseId: any = 0;\r\n hotelId: any = 0;\r\n cityId: any = 0;\r\n _params: any;\r\n\r\n _currentHotelId: any = 0;\r\n currentCourseTitle: any;\r\n currentCourseId: any;\r\n delegateId: any = 0;\r\n currentDelegate: any;\r\n\r\n\r\n selectedPaymentMethod: any = \"none\";\r\n\r\n @Output() gotoAllCourses = new EventEmitter();\r\n\r\n frameworkComponents: any;\r\n\r\n constructor(private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _route: Router,\r\n private formBuilder: FormBuilder,\r\n private location: Location,\r\n private modal: NgbModal,\r\n private route: ActivatedRoute,\r\n private _dialog: MatDialog,\r\n private spinner: NgxSpinnerService,\r\n private _commonService: CommonServiceService,\r\n private changeDetector: ChangeDetectorRef) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n\r\n //debugger;\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true\r\n };\r\n\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n setTimeout(() => {\r\n $(\"#main_dd div:nth-child(1) div:first-child\").css(\"color\", \"white\");\r\n $(\"#main_dd div:nth-child(2) div:first-child\").css(\"color\", \"white\");\r\n $(\"#mat-select-value-1\").css(\"color\", \"black\");\r\n }, 200);\r\n\r\n this._route.routeReuseStrategy.shouldReuseRoute = () => false;\r\n\r\n this.frameworkComponents = {\r\n checkboxRenderer: CheckboxRendererComponent,\r\n buttonRenderer: ButtonRendererComponent,\r\n }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.coursesForm = this.formBuilder.group({\r\n d_courses: ['', Validators.required],\r\n current_courses: ['', Validators.required],\r\n speaker: ['', Validators.required],\r\n location: ['', Validators.required],\r\n hotel: ['', Validators.required]\r\n });\r\n\r\n this.del_date_Form = this.formBuilder.group({\r\n speaker1: [''],\r\n speaker2: [''],\r\n speaker3: [''],\r\n speaker4: [''],\r\n room1: [''],\r\n room2: [''],\r\n room3: [''],\r\n room4: [''],\r\n box1: [''],\r\n box2: [''],\r\n box3: [''],\r\n box4: [''],\r\n teams1: [''],\r\n teams2: [''],\r\n teams3: [''],\r\n teams4: [''],\r\n cancel1: [''],\r\n cancel2: [''],\r\n cancel3: [''],\r\n cancel4: ['']\r\n });\r\n\r\n this.paymentForm = this.formBuilder.group({\r\n invoiceNumber: ['', Validators.required],\r\n p_paymentDate: [this.paymentDate.value, Validators.required],\r\n source: ['', Validators.required],\r\n subtotal: ['', Validators.required],\r\n totalTax: ['', Validators.required],\r\n });\r\n\r\n this.addDelegateToCourseForm = this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.pattern(regExpressions.email)]]\r\n });\r\n\r\n\r\n if (this.detailData.id > 0) {\r\n //localStorage.setItem(\"currentCourseId\", this.detailData.id);\r\n //this.getCourseTitleById(this.detailData.id)\r\n }\r\n\r\n this.refreshData();\r\n\r\n //this.createMeetingLink();\r\n\r\n\r\n\r\n }\r\n\r\n get i() { return this.paymentForm.controls; }\r\n get dc() { return this.addDelegateToCourseForm.controls; }\r\n\r\n refreshData() {\r\n //this.getCoursesList();\r\n this.getCurrentCourseViewList(this.detailData.title, false);\r\n this.getLocationsList();\r\n this.getSpeakersList();\r\n //this.getHotelsList();\r\n }\r\n\r\n searchAgain() {\r\n this.showAddDelegateToCourseForm = true;\r\n }\r\n\r\n emptyFormatter(param) {\r\n if (param == null || param == \"\")\r\n return '-';\r\n else return param;\r\n }\r\n\r\n addToCourse() {\r\n\r\n var message = \"Do you want to add this delegate into the course?\";\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: message, title: \"Add to course\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n var req = {\r\n delegateId: this.currentDelegate.id,\r\n courseId: this.courseId\r\n }\r\n\r\n this._coursesService.addDelegateToCourse(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.paymentForm.reset();\r\n\r\n this.paymentForm.controls.source.patchValue(\"none\");\r\n this.modal.dismissAll();\r\n this.refreshData();\r\n\r\n this._commonService.success(result.message);\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n searchDelegateByEmail() {\r\n\r\n var email = this.addDelegateToCourseForm.controls.email.value;\r\n\r\n this._delegateService.searchDelegateByEmail(email).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n if (result.data.length > 0) {\r\n this.currentDelegate = result.data[0];\r\n }\r\n this.showAddDelegateToCourseForm = false;\r\n //this.modal.dismissAll();\r\n } else {\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n createMeetingLink() {\r\n var req = {\r\n courseDateId: this.courseDatesId\r\n\r\n };\r\n\r\n this._coursesService.createMeetingLink(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n public columnDefs: ColDef[] = [\r\n\r\n { field: 'name', headerName: 'Name', width: 160 },\r\n { field: 'organization', headerName: 'Organisation', width: 160 },\r\n { field: 'telephone', headerName: 'Telephone', width: 125 },\r\n { field: 'email', headerName: 'Email', width: 175 },\r\n\r\n {\r\n field: 'isSent.materialSent',\r\n headerName: \"Material\",\r\n cellRenderer: 'checkboxRenderer',\r\n cellRendererParams: {\r\n onClick: this.updateDelegateMaterialSent.bind(this)\r\n },\r\n headerClass: \"pull-center\",\r\n width: 75\r\n\r\n },\r\n {\r\n field: 'isSent.teamsLink',\r\n headerName: \"Teams\",\r\n cellRenderer: 'checkboxRenderer',\r\n cellRendererParams: {\r\n onClick: this.updateDelegateMaterialSent.bind(this)\r\n },\r\n width: 75\r\n\r\n },\r\n {\r\n field: 'isSent.isInvoicePaid',\r\n headerName: \"Paid\",\r\n cellRenderer: 'checkboxRenderer',\r\n cellRendererParams: {\r\n onClick: this.updateInvoicePaid.bind(this)\r\n },\r\n width: 75\r\n\r\n },\r\n {\r\n headerName: 'Action',\r\n cellRenderer: 'buttonRenderer',\r\n cellRendererParams: {\r\n onClick: this.onDeleteButtonClick.bind(this),\r\n label: 'delete'\r\n }\r\n }\r\n\r\n ];\r\n\r\n onDeleteButtonClick(params) {\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to cancel this booking?\", title: \"Cancel Booking\" }\r\n });\r\n\r\n var req = { id: params.data.isSent.bookingId }\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n this._delegateService.rejectBooking(req)\r\n .subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.refreshData();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n console.log(_error);\r\n //this.loading = false;\r\n })\r\n //alert(\"delete\");\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n addDelegateToCourse() {\r\n this.modal.open(this.modalAddDelegateToCourse, {\r\n size: 'lg',\r\n backdrop: 'static',\r\n keyboard: false\r\n });\r\n }\r\n\r\n updateInvoicePaid(d) {\r\n this._xero = d;\r\n\r\n if (this._xero.action == true)\r\n this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n //else\r\n //this.onPaymentSubmit();\r\n\r\n setTimeout(() => {\r\n $(\"#paymentMethod\").css(\"color\", \"black\");\r\n }, 200);\r\n\r\n\r\n }\r\n\r\n onPaymentSubmit() {\r\n\r\n var req = {};\r\n if (this._xero.action == true)\r\n req = {\r\n courseId: this.courseId,\r\n delegateId: this.delegateId,\r\n InvoiceNumber: this.paymentForm.controls.invoiceNumber.value,\r\n InvoicePaidDate: this.paymentForm.controls.p_paymentDate.value,\r\n InvoicePaidBy: this.paymentForm.controls.source.value,\r\n SubTotal: this.paymentForm.controls.subtotal.value,\r\n TotalTax: this.paymentForm.controls.totalTax.value,\r\n IsInvoicePaid: this._xero.action,\r\n CurrencyCode: \"GBP\"\r\n\r\n };\r\n else\r\n req = {\r\n courseId: this.courseId,\r\n delegateId: this.delegateId,\r\n InvoiceNumber: \"\",\r\n InvoicePaidDate: new Date(), //'2000-01-01T00:00:00'\r\n InvoicePaidBy: \"\",\r\n SubTotal: \"0\",\r\n TotalTax: \"0\",\r\n IsInvoicePaid: this._xero.action,\r\n CurrencyCode: \"\"\r\n\r\n };\r\n this._coursesService.updateDelegatePayment(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.paymentForm.reset();\r\n\r\n this.paymentForm.controls.source.patchValue(\"none\");\r\n this.modal.dismissAll();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n close() {\r\n\r\n this.modal.dismissAll();\r\n }\r\n\r\n updateDelegateMaterialSent(p) {\r\n\r\n\r\n var req = {\r\n courseId: this.courseId,\r\n delegateId: p.delegateId,\r\n action: p.action,\r\n toBeUpdate: p.toBeUpdated\r\n };\r\n\r\n this._coursesService.updateDelegateMaterialSent(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getCurrentCourseViewList(this.detailData.title, false); // refresh\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n private gridApi;\r\n\r\n setFixedHeight() {\r\n this.gridApi.setDomLayout(\"normal\");\r\n var elm = document.querySelector(\"#myGrid\") as HTMLElement;\r\n elm.style.width = '100%';\r\n //elm.style.height = '100%';\r\n }\r\n\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n\r\n this.setFixedHeight();\r\n // this.gridApi!.sizeColumnsToFit();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n // using random value to update url\r\n this.delegateId = e.data.id;\r\n\r\n if (e.colDef.headerName != \"Material\" &&\r\n e.colDef.headerName != \"Teams\" &&\r\n e.colDef.headerName != \"Paid\" &&\r\n e.colDef.headerName != \"Action\")\r\n this._route.navigateByUrl('/delegates/delegate-details?delegateId=' + e.data.id + '&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n\r\n\r\n if (e.colDef.headerName == \"Paid\") {\r\n if (this._xero.action == false)\r\n this.onPaymentSubmit();\r\n }\r\n }\r\n\r\n getCourseTitleById(id) {\r\n\r\n this._coursesService.getCourseTitleById(id).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n debugger;\r\n this.courseTitle = result.data\r\n\r\n //localStorage.setItem(\"currentCourseTitle\", this.courseTitle);\r\n //this.currentCourseTitle = this.courseTitle.title;\r\n\r\n if (this.detailData.title == undefined ||\r\n this.detailData.title == \"\") {\r\n if (this.courseTitle.title != null) {\r\n this.detailData.title = this.courseTitle.title;\r\n //this.currentCourseTitle = this.courseTitle.title;\r\n //localStorage.setItem(\"currentCourseTitle\", this.detailData.title);\r\n }\r\n }\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getCoursesList() {\r\n\r\n //this._coursesService.getCoursesList().subscribe((result: any) => {\r\n this._coursesService.getCourseTitlesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data;\r\n\r\n\r\n this.coursesForm.controls.d_courses.patchValue(this.detailData.title);\r\n //this.coursesForm.controls.d_courses.patchValue(this.coursesList[0].title);\r\n //this.currentCourseTitle = this.detailData.title;\r\n this.getCurrentCourseViewList(this.detailData.title, false);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n async getCurrentCourseViewList(title: any, isIdChanged) {\r\n this.spinner.show();\r\n\r\n if (title.value == null ||\r\n title.value == undefined)\r\n title = { value: title }\r\n\r\n // store value for refresh the page\r\n //this.currentCourseTitle = title.value;\r\n this.detailData.title = title.value;\r\n var _currCrsId = this.detailData.id;\r\n //\r\n await this._coursesService.getCurrentCourseViewList(title, _currCrsId).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n\r\n this.spinner.show();\r\n\r\n this.currentCoursesList = result.data\r\n\r\n if (isIdChanged == true) {\r\n //\r\n _currCrsId = this.currentCoursesList[0].courseId;\r\n\r\n }\r\n\r\n // store value for refresh the page\r\n //this.currentCourseId = _currCrsId;\r\n\r\n this.detailData.id = _currCrsId;\r\n this.location.go('/courses/course-detail?cid=' + this.detailData.id);\r\n\r\n //console.log(\"id: \" + this.currentCourseId);\r\n\r\n this.coursesForm.controls.current_courses.patchValue(_currCrsId);\r\n\r\n\r\n this.populateData(_currCrsId);\r\n //this.populateData(this.currentCoursesList[0].courseId)\r\n\r\n this.spinner.hide();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n\r\n printNo(num) {\r\n return Number(num).toLocaleString('en-GB');\r\n }\r\n\r\n populateData(courseId) {\r\n debugger;\r\n this.spinner.show();\r\n\r\n this.courseId = courseId;\r\n\r\n let obj = this.currentCoursesList.find(o => o.courseId === courseId);\r\n\r\n this._courseToUpdate = obj;\r\n\r\n this.courseTitle = obj.courseTitle;\r\n //this._currentHotelId = obj.hotelId\r\n this.getHotelsListByLocation({ value: obj.cityId }, false);\r\n\r\n this.coursesForm.controls.location.patchValue(obj.cityId);\r\n this.coursesForm.controls.hotel.patchValue(obj.hotelId);\r\n this.coursesForm.controls.speaker.patchValue(obj.speakerId);\r\n\r\n\r\n this.courseTypeId = obj.courseTypeId;\r\n this.courseIncome = obj.courseIncome;\r\n this.cost = obj.courseCost;\r\n this.start_date = obj.dates.courseStartDate;\r\n this.duration = obj.courseDuration;\r\n\r\n // registration time is hardcoded\r\n this.registration = '2023-03-13T09:45:00';\r\n\r\n this.start_time = obj.dates.startTime;\r\n this.end_time = obj.dates.finishTime;\r\n\r\n this.delegatesList = obj.bookedDelegates;\r\n //debugger;\r\n this.del_date_Form.controls.speaker1.patchValue(obj.speakerId);\r\n\r\n if (this.duration > 1) {\r\n\r\n this.del_date_Form.controls.speaker1.patchValue(obj.dates.d1SpeakerId);\r\n this.del_date_Form.controls.speaker2.patchValue(obj.dates.d2SpeakerId);\r\n this.del_date_Form.controls.speaker3.patchValue(obj.dates.d3SpeakerId);\r\n this.del_date_Form.controls.speaker4.patchValue(obj.dates.d4SpeakerId);\r\n }\r\n //this.del_date_Form.controls.location1.patchValue(obj.cityId);\r\n\r\n\r\n // will be use to update rooms id\r\n this.cityId = obj.cityId;\r\n this.courseDatesId = obj.dates.courseDateId;\r\n\r\n // day1 data\r\n this.day1 = obj.dates.day1Date;\r\n this.getHotelRoomsList(obj.hotelId, false);\r\n\r\n this.d1_teams = obj.dates.d1Teams;\r\n this.d1_checked = obj.dates.d1Box;\r\n this.d1_cancelled = obj.dates.d1Cancelled;\r\n\r\n // day2 data\r\n this.day2 = obj.dates.day2Date;\r\n //this.getHotelRoomsList(obj.hotelId, 2);\r\n //this.day2_capacity = 10;\r\n this.d2_teams = obj.dates.d2Teams;\r\n this.d2_checked = obj.dates.d2Box;\r\n this.d2_cancelled = obj.dates.d2Cancelled;\r\n\r\n // day3 data\r\n this.day3 = obj.dates.day3Date;\r\n //this.getHotelRoomsList(obj.hotelId, 3);\r\n //this.day3_capacity = 10;\r\n this.d3_teams = obj.dates.d3Teams;\r\n this.d3_checked = obj.dates.d3Box;\r\n this.d3_cancelled = obj.dates.d3Cancelled;\r\n\r\n // day4 data\r\n this.day4 = obj.dates.day4Date;\r\n //this.getHotelRoomsList(obj.hotelId, 4);\r\n //this.day4_capacity = 10;\r\n this.d4_teams = obj.dates.d4Teams;\r\n this.d4_checked = obj.dates.d4Box;\r\n this.d4_cancelled = obj.dates.d4Cancelled;\r\n\r\n\r\n setTimeout(() => {\r\n\r\n this.del_date_Form.controls.room1.patchValue(obj.dates.d1RoomId);\r\n this.del_date_Form.controls.room2.patchValue(obj.dates.d2RoomId);\r\n this.del_date_Form.controls.room3.patchValue(obj.dates.d3RoomId);\r\n this.del_date_Form.controls.room4.patchValue(obj.dates.d4RoomId);\r\n }, 200);\r\n\r\n }\r\n\r\n getHotelsListByLocation(loc, isUpdate) {\r\n\r\n if (loc.value != null) {\r\n\r\n this.cityId = loc.value;\r\n\r\n var req = {\r\n cityId: loc.value,\r\n courseId: this.courseId,\r\n isUpdate: isUpdate\r\n };\r\n //\r\n this._coursesService.getHotelsListByLocation(req).subscribe((_result: any) => {\r\n\r\n if (_result.success == true) {\r\n //\r\n this.hotelsList = _result.data;\r\n\r\n\r\n\r\n\r\n if (isUpdate == true) {\r\n this.coursesForm.controls.hotel.patchValue(this.hotelsList[0].id);\r\n\r\n this.getHotelRoomsList(this.hotelsList[0].id, true); // update hotel rooms\r\n\r\n }\r\n else {\r\n\r\n //this.getHotelRoomsList(this.hotelsList[0].id, false); // not updating rooms, only set the value\r\n }\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n onAddDelegateToCourseFormSubmit() {\r\n\r\n this.searchDelegateByEmail();\r\n }\r\n\r\n onSubmit(f) {\r\n\r\n }\r\n\r\n changes(t) {\r\n\r\n }\r\n\r\n updateSpeaker(_speakerId, _dayToUpdate, isUpdate, isSpecific) {\r\n\r\n if (_speakerId != null) {\r\n\r\n var req = {\r\n courseDateId: this.courseDatesId,\r\n speakerId: _speakerId,\r\n dayToUpdate: _dayToUpdate,\r\n courseId: this.courseId\r\n };\r\n\r\n this._coursesService.updateSpeaker(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getCurrentCourseViewList(this.detailData.title, false); // refresh\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n updateMaterialSent(isSent, _dayToUpdate, _toBeUpdate) {\r\n\r\n var req = {\r\n courseDateId: this.courseDatesId,\r\n isSent: isSent,\r\n dayToUpdate: _dayToUpdate,\r\n courseDuration: this.duration,\r\n courseId: this.courseId,\r\n toBeUpdate: _toBeUpdate\r\n };\r\n\r\n this._coursesService.updateMaterialSent(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getCurrentCourseViewList(this.detailData.title, false); // refresh\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n updateCancellation(isCancelled, _dayToUpdate) {\r\n var message = \"\";\r\n\r\n if (isCancelled == true)\r\n message = \"Do you want to cancel this course?\";\r\n else if (isCancelled == false)\r\n message = \"Do you want to arrange this course?\";\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: message, title: \"Cancel\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n var req = {\r\n courseId: this.courseId,\r\n isCancelled: isCancelled,\r\n dayToUpdate: _dayToUpdate\r\n };\r\n\r\n this._coursesService.cancelCourse(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getCurrentCourseViewList(this.detailData.title, false); // refresh\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n\r\n if (_dayToUpdate == 1)\r\n this.d1_cancelled = !isCancelled;\r\n\r\n this._refDialog.close();\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n getCourseData(data) {\r\n\r\n //this.currentCourseId = data.value;\r\n this.detailData.id = data.value;\r\n\r\n this.location.go('/courses/course-detail?cid=' + this.detailData.id);\r\n\r\n //console.log(\"change course id: \" + this.currentCourseId);\r\n //localStorage.setItem(\"currentCourseTitle\", obj.courseTitle);\r\n //localStorage.setItem(\"currentCourseId\", courseId);\r\n this.populateData(data.value);\r\n }\r\n\r\n getSpeakersList() {\r\n\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data\r\n\r\n //\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getHotelsList() {\r\n\r\n this._coursesService.getHotelsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.hotelsList = result.data\r\n\r\n //\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getHotelRoomsList(hotelId, isUpdate) {\r\n\r\n\r\n if (hotelId != null) {\r\n this._coursesService.getHotelRoomsList(hotelId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.hotelRoomsList = result.data\r\n\r\n\r\n this.day1_capacity = this.hotelRoomsList[0].capacity;\r\n this.day2_capacity = this.hotelRoomsList[0].capacity;\r\n this.day3_capacity = this.hotelRoomsList[0].capacity;\r\n this.day4_capacity = this.hotelRoomsList[0].capacity;\r\n\r\n if (isUpdate == true) {\r\n this.hotelId = hotelId;\r\n this.updateRooms(this.hotelRoomsList[0].id, this.courseDatesId, 0);\r\n\r\n this.del_date_Form.controls.room1.patchValue(this.hotelRoomsList[0].id);\r\n this.del_date_Form.controls.room2.patchValue(this.hotelRoomsList[0].id);\r\n this.del_date_Form.controls.room3.patchValue(this.hotelRoomsList[0].id);\r\n this.del_date_Form.controls.room4.patchValue(this.hotelRoomsList[0].id);\r\n }\r\n else {\r\n\r\n }\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n updateSpecificRoom(_roomId, _dayToUpdate) {\r\n\r\n this.updateRooms(_roomId, this.courseDatesId, _dayToUpdate);\r\n }\r\n\r\n\r\n updateRooms(_roomId, _courseDateId, _dayToUpdate) {\r\n var req = {\r\n courseDateId: _courseDateId,\r\n roomId: _roomId,\r\n dayToUpdate: _dayToUpdate,\r\n hotelId: this.hotelId,\r\n courseId: this.courseId,\r\n cityId: this.cityId\r\n };\r\n\r\n\r\n this._coursesService.updateRooms(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n //console.log(\"var: \" + this.currentCourseTitle);\r\n //console.log(\"out: \" + this.detailData.title);\r\n\r\n this.getCurrentCourseViewList(this.detailData.title, false); // refresh the data\r\n\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n //gotoMainMenu(tab) {\r\n\r\n // if (tab.index == 0) {\r\n // this._route.navigateByUrl(\"/courses\");\r\n // }\r\n // else if (tab.index == 1) {\r\n // this._route.navigateByUrl(\"/delegates\");\r\n // }\r\n // else if (tab.index == 2) {\r\n // this._route.navigateByUrl(\"/schedule\");\r\n // }\r\n //}\r\n\r\n getLocationsList() {\r\n\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data\r\n\r\n //this.coursesForm.controls.location.patchValue(this.locationsList[0].cityName);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n updateCourse() {\r\n const modalRef = this.modal.open(AddCourseComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = this._courseToUpdate;\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.refreshData());\r\n }\r\n\r\n public testFunction() {\r\n\r\n }\r\n\r\n allCourses() {\r\n this.gotoAllCourses.emit();\r\n\r\n }\r\n\r\n //printPDF() {\r\n // $(\".hide-for-print\").css(\"content-visibility\", \"hidden\");\r\n // $(\"#section-to-print\").css(\"display\", \"block\");\r\n // window.print();\r\n // $(\".hide-for-print\").css(\"content-visibility\", \"visible\");\r\n // $(\"#section-to-print\").css(\"display\", \"none\");\r\n //}\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n printPDF(_isOfficeUse: boolean) {\r\n this.isOfficeUse = _isOfficeUse;\r\n\r\n setTimeout(() => {\r\n\r\n\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save('DelegatesList_' + this.courseTitle + '.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 4000);\r\n }, 1000);\r\n }\r\n\r\n printPDF_(_isOfficeUse: boolean) {\r\n\r\n this.isOfficeUse = _isOfficeUse;\r\n this.changeDetector.detectChanges();\r\n $(\".hide-for-print\").css(\"content-visibility\", \"hidden\");\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n window.print();\r\n $(\".hide-for-print\").css(\"content-visibility\", \"visible\");\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n\r\n\r\n\r\n //$(\"#section-to-print\").html(htmlText).promise().done(function () {\r\n // window.print();\r\n //});\r\n }\r\n\r\n getDelegateEmails() {\r\n\r\n this.delegateEmails = [];\r\n this.delegatesList.forEach((item, index) => {\r\n this.delegateEmails = item.email + ';' + this.delegateEmails;\r\n });\r\n\r\n //const email = 'shireen.ijaaz@veritau.co.uk;samantha.dawson2@malvernhills.gov.uk;lucie.jones@ipo.gov.uk;isla.kaye@snee.nhs.uk;Bianca.Bedin@veritau.co.uk;arthur.scott@greatermanchester-ca.gov.uk;'; // Replace with the recipient's email address\r\n const subject = this.courseTitle;// 'Your Subject Here';\r\n const body = 'Act Now Team';\r\n\r\n const mailtoLink = `mailto:${this.delegateEmails}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\r\n\r\n window.location.href = mailtoLink;\r\n\r\n //this.modal.open(this.modalDelegateEmails, {\r\n // size: 'lg',\r\n // backdrop: 'static',\r\n // keyboard: false\r\n //});\r\n }\r\n\r\n async sendReminderEmailDelegates() {\r\n this.delegateEmails = [];\r\n //this.delegatesList.forEach(async (item, index) => {\r\n for (let i = 0; i < this.delegatesList.length; i++) {\r\n //this.delegateEmails = this.delegatesList[i].email + ';' + this.delegateEmails;\r\n \r\n // Convert to Date object\r\n\r\n var date = new Date(this._courseToUpdate.dates.courseEndDate);\r\n if (this.deadline) {\r\n date = new Date(this.deadline);\r\n } \r\n\r\n const subject = encodeURIComponent(\"Assessment deadline: \" + this.courseTitle);\r\n const body = encodeURIComponent(`Dear ` + this.delegatesList[i].name + `,` +\r\n `\r\n Your candidate number for your written assessment as part of the \"` + this.courseTitle + `\" is \"` + this.delegatesList[i].isSent.invoiceNumber + `\". The deadline for your assessment is ` + new Intl.DateTimeFormat('en-GB').format(date).replace(/\\//g, '-') + `.\r\n Please save your assessment document as your candidate number when submitting and email the document to project @actnow.org.uk.\r\n If you have any questions, please do not hesitate to contact us.\r\n\r\n Kind Regards,\r\n Act Now Training\r\n 01924 470252`);\r\n\r\n\r\n\r\n\r\n //this.delegateEmails = item.email + ';' + this.delegateEmails;\r\n //debugger;\r\n //// Convert to Date object\r\n //const date = new Date(this._courseToUpdate.dates.courseEndDate);\r\n\r\n //const subject = \"Assessment submission reminder: \" + this.courseTitle;\r\n //const body = `Dear ` + item.name + `,` +\r\n // `\r\n // Your candidate number for your written assessment as part of the \"` + this.courseTitle + `\" is \"` + item.isSent.invoiceNumber + `\". The deadline for your assessment is ` + new Intl.DateTimeFormat('en-GB').format(date).replace(/\\//g, '-') + `.\r\n // Please save your assessment document as your candidate number when submitting and email the document to project @actnow.org.uk.\r\n // If you have any questions, please do not hesitate to contact us.\r\n\r\n // Kind Regards,\r\n // Act Now Training\r\n // 01924 470252`;\r\n\r\n const mailtoLink = `mailto:${this.delegatesList[i].email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\r\n window.open(mailtoLink, '_blank');\r\n\r\n //const link = document.createElement('a');\r\n //link.href = mailtoLink;\r\n //link.click();\r\n\r\n await this.sleep(2000);\r\n //});\r\n }\r\n }\r\n\r\n sleep(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n","\n
\n
\n
\n \n
\n
\n\n

\n Delegate List\n

\n\n\n
\n
\n \n {{courseTitle}}\n
\n {{start_date |date: 'dd-MM-yyyy'}}\n
\n\n \n\n \n \n \n
\n
\n \n {{delegate.name}}\n \n
\n Organisation: {{delegate.organization}}\n
\n Email: {{delegate.email}}\n
\n
\n Contact number: {{delegate.telephone}}    \n Invoice number: {{delegate.isSent.invoiceNumber}}    \n Status: Not Paid Paid\n
\n
\n
\n\n\n
\n
\n\n\n\n\n\n\n\n\n
\n
\n\n

\n Upcoming Course DETAILS\n \n

\n\n
\n\n
\n\n \n
\n\n
\n\n
\n
\n
\n
\n \n \n \n \n \n\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n
\n
\n \n
\n
\n
\n\n
\n\n
\n
\n
\n
\n\n\n
\n\n\n \n \n \n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n {{loc.cityName}}\n \n
\n
\n
\n
\n \n
\n
\n \n {{hotel.name}}\n \n
\n
\n
\n
\n \n
\n
\n    \n \n
\n
\n\n\n\n
\n
\n \n
\n
\n \n {{spkr.speakerName}}\n \n
\n
\n\n
\n
\n \n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n\n
\n\n\n\n
\n
\n\n
\n
\n
\n
\n \n Assessment deadline\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n\n \n\n \n \n \n \n \n\n \n\n \n \n \n \n\n \n \n \n \n \n\n\n\n \n \n
DayDateSpeakerHotel/RoomCapacityMaterialTeamsCancelled
\n \n Day 1\n \n\n \n D1\n \n \n \n {{day1 | date:'dd-MM-yyyy'}}\n \n \n \n \n {{spkr.speakerName}}\n \n \n \n \n \n {{room.room}}\n \n \n \n \n {{day1_capacity}}\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n
\n \n Day 2\n \n \n \n {{day2 | date:'dd-MM-yyyy'}}\n \n \n \n \n {{spkr.speakerName}}\n \n \n \n \n \n {{room.room}}\n \n \n \n \n {{day2_capacity}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n \n Day 3\n \n \n \n {{day3 | date:'dd-MM-yyyy'}}\n \n \n \n \n {{spkr.speakerName}}\n \n \n \n \n \n {{room.room}}\n \n \n \n \n {{day3_capacity}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n Day 4\n \n \n \n {{day4 | date:'dd-MM-yyyy'}}\n \n \n \n \n {{spkr.speakerName}}\n \n \n \n \n \n {{room.room}}\n \n \n \n \n {{day4_capacity}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n \n
\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n
\n
\n
\n\n\n\n\n\n\n\n
\n
Payment Details
\n
\n
\n\n\n
\n\n\n
\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n\n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n\n \n\n
\n
\n
\n \n Payment date\n \n \n \n \n
\n\n
\n
\n\n\n\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n\n\n\n
\n
Add Delegate to Course
\n
\n
\n\n\n
\n\n\n
\n
\n\n \n \n
\n
{{errors.email}}
\n
\n
\n\n
\n\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n
\n
\n
\n\n
\n \n \n\n \n\n
\n
\n\n
\n\n
\n\n\n\n
\n
Delegate Emails
\n
\n
\n\n\n {{delegateEmails}}\n\n\n
\n \n
\n
\n\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CoursesService } from '../../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-course-titles',\r\n templateUrl: './add-edit-course-titles.component.html',\r\n styleUrls: ['./add-edit-course-titles.component.css']\r\n})\r\nexport class AddEditCourseTitlesComponent implements OnInit {\r\n\r\n currentDate: any = new FormControl(new Date());\r\n submitted = false;\r\n public _title = \"Add Course Title\";\r\n public locationsList: any;\r\n courseTitleEditForm: FormGroup;\r\n _params: any;\r\n _courseTitleId: any = 0;\r\n subjectsList: any;\r\n\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n _courseTypeId: any = 0;\r\n\r\n start_d1: any = new FormControl(new Date());\r\n start_d2: any;\r\n \r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n //private _delegateService: DelegateService,\r\n private _route: Router) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.loading = true;\r\n\r\n this.courseTitleEditForm = this.formBuilder.group({\r\n p_title: ['', Validators.required],\r\n cost: [''],\r\n //startDate_day1: [this.start_d1.value, Validators.required],\r\n courseCode: [''],\r\n subject: ['', Validators.required],\r\n courseType: ['', Validators.required],\r\n duration: [''],\r\n startTime: [''],\r\n endTime: [''],\r\n\r\n\r\n });\r\n\r\n\r\n this.getSubjectsList();\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n\r\n this.loading = false;\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.subjectsList = result.data;\r\n \r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n \r\n }\r\n\r\n get f() { return this.courseTitleEditForm.controls; }\r\n\r\n populateForm(__data) {\r\n \r\n this._title = \"Edit Course Title\";\r\n this._courseTitleId = __data.id;\r\n this.courseTitleEditForm.controls.p_title.setValue(__data.title);\r\n this.courseTitleEditForm.controls.cost.setValue(__data.courseCost);\r\n this.courseTitleEditForm.controls.startTime.setValue(__data.startTime);\r\n this.courseTitleEditForm.controls.endTime.setValue(__data.endTime);\r\n this.courseTitleEditForm.controls.duration.setValue(__data.courseDuration);\r\n this.courseTitleEditForm.controls.courseCode.setValue(__data.courseCode);\r\n \r\n this.courseTitleEditForm.controls.subject.patchValue(__data.subjectId);\r\n //this.courseTitleEditForm.controls.courseType.patchValue(__data.courseTypeId);\r\n this._courseTypeId = \"\"+__data.courseTypeId;\r\n // SubjectId: parseInt(this.courseTitleEditForm.controls.subject.value),\r\n // CourseTypeId: parseInt(this.courseTitleEditForm.controls.courseType.value),\r\n \r\n }\r\n\r\n \r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n Id: Number(this._courseTitleId),\r\n Title: this.courseTitleEditForm.controls.p_title.value,\r\n CourseCost: parseInt(this.courseTitleEditForm.controls.cost.value),\r\n StartTime: this.courseTitleEditForm.controls.startTime.value,\r\n CourseCode: this.courseTitleEditForm.controls.courseCode.value,\r\n FinishTime: this.courseTitleEditForm.controls.endTime.value,\r\n SubjectId: parseInt(this.courseTitleEditForm.controls.subject.value), \r\n CourseTypeId: parseInt(this.courseTitleEditForm.controls.courseType.value),\r\n CourseDuration: parseInt(this.courseTitleEditForm.controls.duration.value),\r\n \r\n };\r\n\r\n this._coursesService.addEditCourseTitle(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show error popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n close() { }\r\n\r\n \r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n\n\n \n \n
\n
{{errors.name}}
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n {{sub.title}}\n \n\n
\n\n\n\n
\n \n\n \n\n Course type\n\n \n Full day\n \n\n \n Certificate\n \n\n \n eLearning\n \n\n \n Product\n \n\n \n Inhouse\n \n\n \n Webinar\n \n\n \n
\n\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n\n
\n\n \n
\n \n
\n
\n\n
\n\n\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-course-title-actions',\n template: `edit\n delete`,\n styleUrls: ['./course-title-actions.component.css']\n})\nexport class CourseTitleActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n \n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { CoursesService } from '../../../../common/_services/courses-services';\r\nimport { DeleteComponent } from '../../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-course-title-clickable-parent',\r\n //templateUrl: './course-title-clickable-parent.component.html',\r\n template: ``,\r\n styleUrls: ['./course-title-clickable-parent.component.css']\r\n})\r\nexport class CourseTitleClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n \r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.courseId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n private _courseService: CoursesService) {\r\n\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n //\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n \r\n this.params.context.componentParent.openModal(this.params.data);\r\n\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(this.params.data.id);\r\n\r\n }\r\n\r\n\r\n delete(id: any) {\r\n\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (id > 0) {\r\n this._courseService.deleteCourseTitle(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.params.context.componentParent.getCourseTitlesList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CoursesService } from '../../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../../common/_services/delegate-services';\r\nimport { AddEditCourseTitlesComponent } from '../add-edit-course-titles/add-edit-course-titles.component';\r\nimport { CourseTitleClickableParentComponent } from '../course-title-clickable-parent/course-title-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-course-titles-list',\r\n templateUrl: './course-titles-list.component.html',\r\n styleUrls: ['./course-titles-list.component.css']\r\n})\r\nexport class CourseTitlesListComponent implements OnInit {\r\n\r\n //@Output() gotoMainMenu = new EventEmitter();\r\n @Output() gotoAllCourses = new EventEmitter();\r\n @Output() gotoMimeo = new EventEmitter();\r\n\r\n courseTitlesList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 10;\r\n\r\n\r\n\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'title', headerName: 'Title' },\r\n { field: 'subject', headerName: 'Subject' },\r\n { field: 'courseType', headerName: 'Course Type' },\r\n { field: 'courseDuration', headerName: 'CourseDuration' },\r\n { field: 'courseCost', headerName: 'Course Cost' },\r\n { field: 'courseCode', headerName: 'Course Code' },\r\n { field: 'startTime', headerName: 'Start Time' },\r\n { field: 'endTime', headerName: 'End Time' },\r\n {\r\n field: 'Action', cellRendererFramework: CourseTitleClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n \r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n //private http: HttpClient,\r\n private _courseService: CoursesService,\r\n //private _route: Router\r\n ) {\r\n\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#titlesGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#titlesGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n \r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n localStorage.setItem('projectPageSize', '10');\r\n this.getCourseTitlesList();\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getCourseTitlesList() {\r\n \r\n \r\n this._courseService.getCourseTitlesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.courseTitlesList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditCourseTitlesComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n \r\n this.getCourseTitlesList();\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n \r\n const modalRef = this.modal.open(AddEditCourseTitlesComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getCourseTitlesList());\r\n }\r\n\r\n allCourses() {\r\n this.gotoAllCourses.emit();\r\n\r\n }\r\n\r\n gotoMimeoTab() {\r\n this.gotoMimeo.emit();\r\n }\r\n}\r\n","\n\n\n
\n
\n\n

\n Course TITLES\n

\n \n
\n
\n\n
\n \n \n \n \n \n \n
\n\n\n\n \n\n
\n\n
\n\n\n\n\n\n
\n Page size: \n \n
\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\nimport { CoursesComponent } from './courses.component';\r\nimport { ViewCourseComponent } from './view-course/view-course.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n //{ path: 'all-courses-old', component: CoursesComponent },\r\n //{ path: 'course-detail-old', component: ViewCourseComponent },\r\n \r\n { path: 'course-detail', component: DashboardComponent },\r\n { path: 'all-courses', component: DashboardComponent },\r\n { path: 'course-titles', component: DashboardComponent },\r\n { path: 'mimeo', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'account/login',\r\n pathMatch: 'full'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class CoursesRoutingModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Inject, LOCALE_ID, OnInit, Output, Renderer2, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\n//import { LoaderService } from '../../common/loading/LoaderService';\r\nimport { CourseType, errorMessages } from '../../common/validation/messages';\r\nimport { CoursesService } from '../../common/_services/courses-services';\r\nimport { AddCourseComponent } from './add-course/add-course.component';\r\nimport { CourseClickableParentComponent } from './course-clickable-parent/course-clickable-parent.component';\r\nimport * as $ from \"jquery\";\r\nimport { formatDate, KeyValue } from '@angular/common';\r\nimport { AuthenticationService } from '../../common/guards/AuthenticationService';\r\nimport { CommonServiceService } from '../../common/_services/common-service.service';\r\nimport jsPDF from 'jspdf';\r\nimport { LoaderService } from '../../common/loading/LoaderService';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-courses',\r\n templateUrl: './courses.component.html',\r\n styleUrls: ['./courses.component.css']\r\n})\r\n\r\nexport class CoursesComponent implements OnInit\r\n//, AfterViewInit\r\n{\r\n\r\n\r\n //ngAfterViewInit() {\r\n // this.loaderService.httpProgress().subscribe((status: boolean) => {\r\n //\r\n // if (status) {\r\n // this.renderer.addClass(document.body, 'cursor-loader');\r\n // } else {\r\n // this.renderer.removeClass(document.body, 'cursor-loader');\r\n // }\r\n // });\r\n //}\r\n\r\n _date = new Date();\r\n _methodToload = \"\";\r\n listTitle = \"\";\r\n coursesList: any;\r\n courseReportList: any = [];\r\n displayCourse: any = {};\r\n gridOptions: GridOptions;\r\n domLayout;\r\n private gridApi;\r\n tabIndex: any = 0;\r\n paginationPageSize: any = 50;\r\n\r\n @Output() gotoMainMenu = new EventEmitter();\r\n @Output() gotoCourseTitles = new EventEmitter();\r\n @Output() gotoMimeo = new EventEmitter();\r\n\r\n\r\n @ViewChild('modalContentInsert', { static: true }) modalContentInsert: TemplateRef;\r\n @ViewChild('modalContentEdit', { static: true }) modalContentEdit: TemplateRef;\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n //{ field: 'courseId', width: 150 },\r\n { field: 'dates.courseStartDate', headerName: 'Start Date', valueFormatter: this.convertStringToDate, width: 150 },\r\n { field: 'title', width: 350, valueFormatter: this.getDayNumber },\r\n { field: 'speakerName', width: 170 },\r\n { field: 'location', width: 125 },\r\n { field: 'hotel.name', width: 150 },\r\n //{ field: 'hotel.capacity', headerName: 'Capacity', width: 125 },\r\n { field: 'boxSent', headerName: 'Material Sent', valueFormatter: this.boolFormatter, width: 150 },\r\n { field: 'hotelBooked', valueFormatter: this.boolFormatter, width: 150 },\r\n { field: 'courseBookings', headerName: 'Bookings', width: 150 },\r\n {\r\n field: 'Action', cellRendererFramework: CourseClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n getDayNumber(params) {\r\n //debugger;\r\n if (params.data.dayNumber != null)\r\n return params.data.title + params.data.dayNumber;\r\n else return params.value;\r\n }\r\n\r\n dateFormatter(params) {\r\n\r\n //return params ? (new Date(params.value)).toLocaleDateString() : '';\r\n return params ? this.convertStringToDate(params.value).toString() : '';\r\n\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n\r\n // getting yesterday date, because we set the start date one day ahead for calendar view\r\n //date = new Date(date.setDate(date.getDate() - 1));\r\n\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return new Date().toString();\r\n }\r\n\r\n public style: any = {\r\n width: '100%',\r\n height: '100%',\r\n //flex: '1 1 auto'\r\n };\r\n\r\n\r\n constructor(//private loaderService: LoaderService, \r\n private spinner: NgxSpinnerService,\r\n// private renderer: Renderer2,\r\n //@Inject(LOCALE_ID) public locale: string,\r\n private _authService: AuthenticationService,\r\n private modal: NgbModal,\r\n private _coursesService: CoursesService,\r\n private _route: Router,\r\n private _common: CommonServiceService) {\r\n\r\n _common.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true,\r\n rowClassRules: {\r\n \"isCancelled\": params => params.api.getValue(\"dates.d1Cancelled\", params.node) == true\r\n },\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n rowClassRules = {\r\n 'isCancelled': function (params) {\r\n return params.data.dates.d1Cancelled === true;\r\n },\r\n 'is-inhouse': (params) => {\r\n return params.data.isInhouse == true;\r\n },\r\n\r\n };\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#myGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#myGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#myGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#myGrid\") as HTMLElement;\r\n elm.style.height = '535px'; // previous was 535px with pagination\r\n }\r\n\r\n //@Output() refreshGrid = new EventEmitter();\r\n\r\n openModal(param) {\r\n const modalRef = this.modal.open(AddCourseComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n if (this._methodToload == this.methodName.all)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.allCourses(false));\r\n else if (this._methodToload == this.methodName.archive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.allCourses(true));\r\n else if (this._methodToload == this.methodName.upcoming)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.upcomingCourses());\r\n //modalRef.componentInstance.refreshGrid.subscribe(event => this.getUpcomingCoursesList(this.paginationPageSize, 1));\r\n }\r\n\r\n refreshGridMethod() {\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n if (this._methodToload == this.methodName.all)\r\n this.allCourses(false);\r\n else if (this._methodToload == this.methodName.archive)\r\n this.allCourses(true);\r\n else if (this._methodToload == this.methodName.upcoming)\r\n this.upcomingCourses();\r\n }\r\n\r\n boolFormatter(params) {\r\n\r\n if (params.value == null)\r\n return '-';\r\n else if (params.value)\r\n return 'Yes';\r\n else if (!params.value)\r\n return 'No';\r\n else return '-';\r\n }\r\n\r\n public rowData = [\r\n {}\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n resizable: true\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n // //this.rowData$ = this.http\r\n // // .get('http://www.ag-grid.com/example-assets/row-data.json');\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n\r\n if (e.colDef.field != \"Action\")\r\n this.gotoMainMenu.emit(e.data);\r\n }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'));\r\n\r\n //this.getUpcomingCoursesList(this.paginationPageSize, 1);\r\n this.upcomingCourses();\r\n\r\n\r\n }\r\n\r\n\r\n\r\n //gotoMainMenu(tab) {\r\n // if (tab.index == 1) {\r\n // this._route.navigateByUrl(\"/delegates\");\r\n // }\r\n // else if (tab.index == 2) {\r\n // this._route.navigateByUrl(\"/schedule\");\r\n // }\r\n //}\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n\r\n //this.getUpcomingCoursesList(Number(elm.value), this.gridApi.paginationGetCurrentPage() + 1);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n onBtFirst() {\r\n //this.gridApi.paginationGoToFirstPage();\r\n this.pageNumber = 1;\r\n //this.getUpcomingCoursesList(this.paginationPageSize, this.pageNumber);\r\n }\r\n\r\n onBtLast() {\r\n //this.gridApi.paginationGoToLastPage();\r\n this.pageNumber = this.totalPages;\r\n //this.getUpcomingCoursesList(this.paginationPageSize, this.pageNumber);\r\n }\r\n\r\n onBtNext() {\r\n //this.gridApi.paginationGoToNextPage();\r\n this.pageNumber = this.pageNumber + 1;\r\n\r\n\r\n if (this.pageNumber > this.totalPages)\r\n this.pageNumber = this.totalPages;\r\n\r\n //this.getUpcomingCoursesList(this.paginationPageSize, this.pageNumber);\r\n }\r\n\r\n onBtPrevious() {\r\n // this.gridApi.paginationGoToPreviousPage();\r\n this.pageNumber = this.pageNumber - 1;\r\n\r\n if (this.pageNumber < 1)\r\n this.pageNumber = 1;\r\n //this.getUpcomingCoursesList(this.paginationPageSize, this.pageNumber);\r\n }\r\n\r\n onBtPageFive() {\r\n // we say page 4, as the first page is zero\r\n //this.gridApi.paginationGoToPage(4);\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n //this.getUpcomingCoursesList(this.paginationPageSize, 4);\r\n }\r\n\r\n pageNumber: any = 1;\r\n totalPages: any = 0;\r\n totalRecords: any = 0;\r\n\r\n onPaginationChanged() {\r\n //console.log('onPaginationPageLoaded');\r\n // Workaround for bug in events order\r\n if (this.gridApi!) {\r\n //this.setText('#lbLastPageFound', this.gridApi.paginationIsLastPageFound());\r\n //this.setText('#lbPageSize', this.gridApi.paginationGetPageSize());\r\n // we +1 to current page, as pages are zero based\r\n\r\n //this.setText('#lbCurrentPage', this.gridApi.paginationGetCurrentPage() + 1);\r\n //this.setText('#lbTotalPages', this.gridApi.paginationGetTotalPages());\r\n //this.setLastButtonDisabled(!this.gridApi.paginationIsLastPageFound());\r\n\r\n\r\n\r\n //this.setText('#lbFromRecords', (Number(this.pageNumber) * Number(this.paginationPageSize) - (this.paginationPageSize - 1)));\r\n\r\n //if (Number(this.pageNumber) == Number(this.totalPages))\r\n // this.setText('#lbToRecords', this.totalRecords);\r\n //else\r\n // this.setText('#lbToRecords', Number(this.pageNumber) * Number(this.paginationPageSize));\r\n //this.setText('#lbCurrentPage', this.pageNumber);\r\n\r\n //this.getUpcomingCoursesList(this.gridApi.paginationGetPageSize(), this.gridApi.paginationGetCurrentPage() + 1);\r\n }\r\n }\r\n\r\n setText(selector: string, text: any) {\r\n (document.querySelector(selector) as any).innerHTML = text;\r\n }\r\n setLastButtonDisabled(disabled: boolean) {\r\n (document.querySelector('#btLast') as any).disabled = disabled;\r\n }\r\n\r\n methodName = {\r\n all: \"allCourses\",\r\n upcoming: \"upcomingCourses\",\r\n archive: \"archivedCourses\"\r\n }\r\n\r\n allCourses(isArch) {\r\n this._methodToload = this.methodName.all;\r\n\r\n if (isArch == false)\r\n this.listTitle = \"Courses\";\r\n else\r\n this.listTitle = \"Archived Courses\";\r\n\r\n var req = {\r\n pageSize: 0,\r\n currentPage: 0,\r\n isArchived: isArch\r\n };\r\n\r\n this._coursesService.getAllCoursesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data;\r\n \r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n //archivedCourses() {\r\n // this.listTitle = \"Archived Courses\";\r\n // this._methodToload = this.methodName.archive;\r\n\r\n\r\n // this._coursesService.getArchivedCoursesList().subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n\r\n // this.coursesList = result.data;\r\n\r\n // if (localStorage.getItem('projectPageSize') != null)\r\n // this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n // $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n //}\r\n\r\n\r\n\r\n courseTitlesList() {\r\n\r\n this.gotoCourseTitles.emit();\r\n\r\n }\r\n\r\n changeTab(tabIndex: number) {\r\n this.tabIndex = tabIndex;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n upcomingCourses() {\r\n //getUpcomingCoursesList() {\r\n\r\n this._methodToload = this.methodName.upcoming;\r\n this.listTitle = \"Upcoming Courses\";\r\n var req = {\r\n pageSize: 0,\r\n currentPage: 0\r\n };\r\n this._coursesService.getUpcomingCoursesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data\r\n \r\n this.totalRecords = Number(result.message);\r\n //this.setText('#lbTotalRecords', this.totalRecords);\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n this.totalPages = this.calculatePageNumber(Number(this.paginationPageSize), Number(result.message));\r\n //this.setText('#lbTotalPages', this.totalPages);\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n if (this.pageNumber > this.totalPages)\r\n this.pageNumber = this.totalPages;\r\n //this.paginationPageSize = Number(localStorage.getItem('projectPageSize'));\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n calculatePageNumber = (pageSize, itemIndex) => {\r\n return Math.ceil(++itemIndex / pageSize);\r\n };\r\n\r\n addNew() {\r\n //\r\n //this._title = \"Add new course\";\r\n const modalRef = this.modal.open(AddCourseComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n\r\n this.refreshGridMethod();\r\n }, (reason) => {\r\n\r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n //modalRef.componentInstance.data = {};\r\n //this.modal.open(this.modalContentInsert, {\r\n\r\n // size: 'lg'\r\n //});\r\n\r\n }\r\n\r\n editCourse() {\r\n //this._title = \"Edit course\";\r\n this.modal.open(this.modalContentEdit, { size: 'lg' });\r\n }\r\n\r\n close() {\r\n\r\n this.modal.dismissAll();\r\n }\r\n\r\n onClose(): void {\r\n\r\n this.modal.dismissAll();\r\n }\r\n\r\n onRowClicked() {\r\n //\r\n\r\n //this.gotoMainMenu.emit();\r\n\r\n //this._route.navigateByUrl(\"courses/course-detail\");\r\n }\r\n\r\n gotoMimeoTab() {\r\n this.gotoMimeo.emit();\r\n }\r\n\r\n sortDatesFunction(a, b) {\r\n var dateA = new Date(a.date).getTime();\r\n var dateB = new Date(b.date).getTime();\r\n return dateA > dateB ? 1 : -1;\r\n };\r\n\r\n sortFunction(a, b) {\r\n var dateA = new Date(a.startDate).getTime();\r\n var dateB = new Date(b.startDate).getTime();\r\n return dateA > dateB ? 1 : -1;\r\n };\r\n\r\n // Preserve original property order\r\n originalOrder = (a: KeyValue, b: KeyValue): number => {\r\n return 0;\r\n }\r\n\r\n upcomingCoursesReport() {\r\n \r\n this.spinner.show();\r\n\r\n this._coursesService.getUpcomingCoursesReport().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.courseReportList = result.data;\r\n\r\n this.displayCourse = [];\r\n\r\n \r\n // Step 1: Sort the array by date\r\n //this.courseReportList.sort((a, b) => a.startDate.getTime() - b.startDate.getTime());\r\n this.courseReportList.sort(this.sortFunction);\r\n\r\n\r\n // Step 2: Split the array by month\r\n \r\n this.courseReportList.forEach((item) => {\r\n const monthKey = `${new Date(item.startDate).getMonth() + 1}-${new Date(item.startDate).getFullYear()}`;\r\n\r\n if (!this.displayCourse[monthKey]) {\r\n this.displayCourse[monthKey] = [];\r\n }\r\n\r\n this.displayCourse[monthKey].push(item);\r\n });\r\n\r\n this.displayCourse.sort(this.sortFunction);\r\n // Now displayCourse contains separate arrays for each month\r\n //console.log(displayCourse);\r\n \r\n\r\n this.downloadCourseReport();\r\n \r\n this.spinner.hide();\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n \r\n downloadCourseReport() {\r\n \r\n setTimeout(() => {\r\n this.spinner.show();\r\n\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save( 'course.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n this.spinner.hide();\r\n }, 4000);\r\n }, 1000);\r\n\r\n \r\n }\r\n\r\n \r\n\r\n getCourseType(type) {\r\n return CourseType[type];\r\n }\r\n\r\n}\r\n","
\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n

\n Course Report\n

\n
\n {{_date | date : 'dd-MM-yy'}}\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n
DateCourseSpeakerDelegatesAmount
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n {{dates.key}}\n
\n
{{course.startDate | date : 'dd-MM-yy' }}{{course.title}}{{course.speaker}}{{getCourseType(course.courseTypeId)}}{{course.courseBookings}} [{{course.thisWeekBookings | number}}]{{course.amount | number : '1.0-2'}}
\n
\n
\n\n
\n
\n\n

\n {{listTitle}}\n

\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n \n \n
\n\n
\n\n\n\n\n\n
\n Page size: \n \n\n
\n
\n \n \n\n\n \n
\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n Edit course\n\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CoursesRoutingModule } from './courses-routing.module';\r\nimport { CoursesComponent } from './courses.component';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { CourseDetailsComponent } from './course-details/course-details.component';\r\nimport { ViewCourseComponent } from './view-course/view-course.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n//import { AnHeaderComponent } from '../../shared/_components/layouts/an-header/an-header.component';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { CourseActionsComponent } from './course-actions/course-actions.component';\r\nimport { CourseClickableParentComponent } from './course-clickable-parent/course-clickable-parent.component';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { AddCourseComponent } from './add-course/add-course.component';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CheckboxRendererComponent } from './course-actions/checkbox-renderer/checkbox-renderer.component';\r\nimport { CourseTitlesListComponent } from './course-titles/course-titles-list/course-titles-list.component';\r\nimport { AddEditCourseTitlesComponent } from './course-titles/add-edit-course-titles/add-edit-course-titles.component';\r\nimport { CourseTitleClickableParentComponent } from './course-titles/course-title-clickable-parent/course-title-clickable-parent.component';\r\nimport { CourseTitleActionsComponent } from './course-titles/course-title-actions/course-title-actions.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { ButtonRendererComponent } from './course-actions/button-renderer/button-renderer.component';\nimport { MimeoComponent } from './mimeo/mimeo.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CoursesComponent,\r\n ViewCourseComponent,\r\n CourseDetailsComponent,\r\n CourseActionsComponent,\r\n CourseClickableParentComponent,\r\n AddCourseComponent,\r\n CheckboxRendererComponent,\r\n ButtonRendererComponent,\r\n CourseTitlesListComponent,\r\n AddEditCourseTitlesComponent,\r\n CourseTitleClickableParentComponent,\r\n CourseTitleActionsComponent,\r\n MimeoComponent,\r\n \r\n ],\r\n imports: [\r\n CommonModule,\r\n CoursesRoutingModule,\r\n //SharedModule,\r\n AgGridModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatMenuModule,\r\n MatIconModule\r\n ],\r\n providers: [{ provide: MAT_DIALOG_DATA, useValue: {} }],\r\n\r\n exports: [CoursesComponent,\r\n CourseDetailsComponent,\r\n AddCourseComponent,\r\n CourseActionsComponent,\r\n CourseClickableParentComponent,\r\n CourseTitlesListComponent,\r\n MimeoComponent\r\n ]\r\n})\r\nexport class CoursesModule { }\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\n\n@Component({\n selector: 'app-mimeo',\n templateUrl: './mimeo.component.html',\n styleUrls: ['./mimeo.component.css']\n})\nexport class MimeoComponent implements OnInit {\n\n @Output() gotoAllCourses = new EventEmitter();\n @Output() gotoCourseTitles = new EventEmitter();\n\n usersList: any;\n\n constructor(private _coursesService: CoursesService,\n private _commonService: CommonServiceService) { }\n\n ngOnInit(): void {\n\n this.getUsersList();\n }\n\n allCourses() {\n this.gotoAllCourses.emit();\n }\n\n courseTitlesList() {\n this.gotoCourseTitles.emit();\n }\n\n getUsersList() {\r\n\r\n this._coursesService.getMimeoUsersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.usersList = result.data\r\n\r\n //\r\n\r\n } else {\r\n\r\n this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\n\n}\n","
\n
\n\n

\n Mimeo\n

\n \n
\n
\n\n
\n \n \n \n \n \n \n
\n\n\n\n \n\n
\n\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-view-course',\n templateUrl: './view-course.component.html',\n styleUrls: ['./view-course.component.css']\n})\nexport class ViewCourseComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n callMe(value: string) {\n console.log('Called : ' + value);\n }\n}\n","\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-coming-soon',\n templateUrl: './coming-soon.component.html',\n styleUrls: ['./coming-soon.component.css']\n})\nexport class ComingSoonComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ComingSoonComponent } from './coming-soon/coming-soon.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'dashboard', component: DashboardComponent },\r\n { path: 'coming-soon', component: ComingSoonComponent },\r\n {\r\n path: '',\r\n redirectTo: 'dashboard',\r\n pathMatch: 'full'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class DashboardRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DashboardRoutingModule } from './dashboard-routing.module';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { ComingSoonComponent } from './coming-soon/coming-soon.component';\nimport { StatsComponent } from './stats/stats.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\n\n@NgModule({\n declarations: [DashboardComponent, ComingSoonComponent, StatsComponent],\n imports: [\n CommonModule,\n DashboardRoutingModule,\n MatExpansionModule\n ],\n exports: [\n StatsComponent\n ],\n})\nexport class DashboardModule { }\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseResponse } from '../../../common/model/base-response';\r\nimport { Act, ActivitiesList, BaseRequest, levels } from '../../../common/model/request';\r\nimport { ResponseCode } from '../../../common/validation/errors-code';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DashboardService } from '../../../common/_services/dashboard.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n user: any;\r\n constructor(private _dashboardService: DashboardService, private _commonService: CommonServiceService) {\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n document.body.className = \"\";\r\n this.user = {\r\n name: localStorage.getItem(\"name\"),\r\n balance: localStorage.getItem(\"balance\")\r\n }\r\n }\r\n\r\n refreshBalance() {\r\n var request = new BaseRequest();\r\n var request = this._commonService.getBaseReq(request);\r\n request.act = new Act();\r\n request.act.Typ = ActivitiesList.BALANCE_INQUIRY;\r\n request.act.Lvl = levels.zero;\r\n this._dashboardService.balanceInquiry(request).subscribe((data: any) => {\r\n if (data.code == ResponseCode.OK) {\r\n\r\n localStorage.setItem(\"balance\", data.act.bdata.balancE_AMOUNT);\r\n this.user.balance = data.act.bdata.balancE_AMOUNT;\r\n } else {\r\n this._commonService.error(data.desc);\r\n }\r\n }, (_error: any) => {\r\n\r\n })\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as Highcharts from 'highcharts';\r\nimport HighchartsMore from 'highcharts/highcharts-more';\r\nimport HighchartsSolidGauge from 'highcharts/modules/solid-gauge';\r\nimport { AuthenticationService } from '../../../common/guards/AuthenticationService';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { Location } from '@angular/common';\r\nimport { DashboardService } from '../../../common/_services/dashboard.service';\r\nimport { catchError } from 'rxjs';\r\nimport { CourseType } from '../../../common/validation/messages';\r\n\r\nHighchartsMore(Highcharts);\r\nHighchartsSolidGauge(Highcharts);\r\n\r\n@Component({\r\n selector: 'app-stats',\r\n templateUrl: './stats.component.html',\r\n styleUrls: ['./stats.component.css']\r\n})\r\nexport class StatsComponent implements OnInit {\r\n\r\n @ViewChild('modalContentDetails', { static: true }) modalContentDetails: TemplateRef;\r\n @ViewChild('modalCourseDetails', { static: true }) modalCourseDetails: TemplateRef;\r\n @Output() gotoCourseDetails = new EventEmitter();\r\n public _refDialog: any;\r\n\r\n uRole: string = \"\";\r\n approvalsList: any = [];\r\n thisWeekList: any = [];\r\n notificationsList: any = [];\r\n\r\n an_stats: any;\r\n _booking: any;\r\n _course: any;\r\n\r\n step = 0;\r\n\r\n\r\n\r\n constructor(private authService: AuthenticationService,\r\n private _delegateService: DelegateService,\r\n private _dashboardService: DashboardService,\r\n private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _router: Router,\r\n private location: Location\r\n ) {\r\n\r\n //this.getNotifications();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.uRole = this.authService.userRole();\r\n\r\n this.getApprovalsList();\r\n this.getThisWeekCoursesList();\r\n this.getStats();\r\n this.getNotifications();\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n //this.createChartGauge();\r\n //this.createChartPie();\r\n //this.createChartColumn();\r\n //this.createChartLine();\r\n //this.createChart();\r\n //this.createChart2();\r\n }\r\n\r\n getNotifications() {\r\n\r\n // call the notification service\r\n this._dashboardService.getNotifications().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.notificationsList = result.data\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n this._router.navigateByUrl(\"/unauthorise\");\r\n //this.loading = false;\r\n })\r\n\r\n this.refreshNotificationsList();\r\n }\r\n\r\n refreshNotificationsList() {\r\n setTimeout(() => {\r\n\r\n this.getNotifications();\r\n\r\n }, 600000); // 1000 = 1 second\r\n }\r\n\r\n actionTaken(_data: any) {\r\n\r\n this._dashboardService.notificationActionTaken(_data)\r\n .subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.getNotifications();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n console.log(_error);\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getApprovalsList() {\r\n this._delegateService.getApprovalsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.approvalsList = result.data\r\n\r\n //var a = CourseType.Certificates;\r\n //var name = CourseType[3];\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n this._router.navigateByUrl(\"/unauthorise\");\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getCourseType(type) {\r\n return CourseType[type];\r\n }\r\n\r\n getValue(param) {\r\n if (param == null || param == \"\")\r\n return \"-\";\r\n else return param;\r\n }\r\n\r\n getThisWeekCoursesList() {\r\n\r\n this._dashboardService.getThisWeekCoursesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.thisWeekList = result.data.filter(i => i.isCancelled === false)\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n this._router.navigateByUrl(\"/unauthorise\");\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getStats() {\r\n\r\n this._dashboardService.getStats().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n // debugger;\r\n this.an_stats = result.data;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n this._router.navigateByUrl(\"/unauthorise\");\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n bookingDetail(data: any) {\r\n this._booking = data;\r\n this.modal.open(this.modalContentDetails, { size: 'lg' });\r\n }\r\n\r\n rejectBooking(_data: any) {\r\n //this._booking = data;\r\n\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to reject this booking?\", title: \"Reject Booking\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n this._delegateService.rejectBooking(_data)\r\n .subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.modal.open(this.modalCourseDetails, { size: 'lg' });\r\n this.modal.dismissAll();\r\n\r\n this.getApprovalsList();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n console.log(_error);\r\n //this.loading = false;\r\n })\r\n //alert(\"delete\");\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n viewCourse(data: any) {\r\n this._course = data;\r\n this.modal.open(this.modalCourseDetails, { size: 'lg' });\r\n }\r\n\r\n courseDetails(data: any) {\r\n this.gotoCourseDetails.emit(data);\r\n\r\n //this._router.navigateByUrl('/courses/all-courses?cid=' + data.courseId + '&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n //this._router.navigate(['/courses/all-courses?rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0]);\r\n\r\n //setTimeout(() => this._router.navigate([\"/courses/all-courses\"]), 0);\r\n //setInterval(() => {\r\n //this._router.navigateByUrl('/courses/course-detail?cid=' + data.courseId);\r\n //}, 1000);\r\n //this._router.navigateByUrl('/delegates/delegate-details?delegateId=27&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n //this._router.navigate(['/courses/all-courses']);\r\n\r\n //this.location.go('/courses/course-detail?cid=' + data.course_ID);\r\n //this._router.navigateByUrl('/courses/course-detail?cid=' + data.course_ID);\r\n }\r\n\r\n approve(_data: any) {\r\n //this._booking = data;\r\n\r\n //var req = {\r\n\r\n // webCourseId: this.courseId,\r\n // courseName: this.courseName,\r\n // courseCost: this.courseCost,\r\n // courseDate: this.courseDate,\r\n // courseLocation: this.courseLocation,\r\n // source: this.bookingForm.controls.source.value,\r\n // name: this.bookingForm.controls.name.value,\r\n // organization: this.bookingForm.controls.organization.value,\r\n // department: this.bookingForm.controls.department.value,\r\n // address: this.bookingForm.controls.address.value,\r\n // city: this.bookingForm.controls.city.value,\r\n // postcode: this.bookingForm.controls.postcode.value,\r\n // telephone: this.bookingForm.controls.telephone.value,\r\n // email: this.bookingForm.controls.email.value,\r\n // sector: this.bookingForm.controls.sector.value,\r\n // invoice_name: this.bookingForm.controls.invoice_name.value,\r\n // invoice_organization: this.bookingForm.controls.invoice_organization.value,\r\n // invoice_department: this.bookingForm.controls.invoice_department.value,\r\n // invoice_address: this.bookingForm.controls.invoice_address.value,\r\n // invoice_city: this.bookingForm.controls.invoice_city.value,\r\n // invoice_postcode: this.bookingForm.controls.invoice_postcode.value,\r\n // invoice_telephone: this.bookingForm.controls.invoice_telephone.value,\r\n // invoice_email: this.bookingForm.controls.invoice_email.value,\r\n // invoice_purchaseOrder: this.bookingForm.controls.invoice_purchaseOrder.value,\r\n // invoice_promoCode: this.bookingForm.controls.invoice_promoCode.value,\r\n // booker_name: this.bookingForm.controls.booker_name.value,\r\n // booker_telephone: this.bookingForm.controls.booker_telephone.value,\r\n // booker_email: this.bookingForm.controls.booker_email.value,\r\n // goGreen: $(\"input[name='gogreen']:checked\").val(),\r\n // policyPack: $(\"input[name='policypack']:checked\").val(),\r\n // manualPurchase: $(\"input[name='manual_purchase']:checked\").val(),\r\n // txt_other: this.bookingForm.controls.txt_other.value\r\n //};\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to approve this booking?\", title: \"Approve\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n this._delegateService.approveBooking(_data)\r\n //.pipe(catchError((error) => { \r\n // //handleError here\r\n //})\r\n .subscribe((result: any) => {\r\n\r\n //if (result == (null || undefined))\r\n // this.modal.dismissAll();\r\n if (result.success == true) {\r\n\r\n this.modal.open(this.modalCourseDetails, { size: 'lg' });\r\n this.modal.dismissAll();\r\n\r\n this.getApprovalsList();\r\n\r\n } else {\r\n this.modal.dismissAll();\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n console.log(_error);\r\n //this.loading = false;\r\n })\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n\r\n setStep(index: number) {\r\n this.step = index;\r\n\r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n setStep_closed() {\r\n //this.step = index;\r\n\r\n setTimeout(() => {\r\n\r\n $(\".mat-expansion-panel-header\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"black\");\r\n $(\".mat-expanded\").find(\".mat-expansion-panel-header-title\").css(\"color\", \"white\");\r\n }, 10);\r\n\r\n }\r\n\r\n nextStep() {\r\n //if (this.courseDuration == 4) { // this is certificate\r\n // if (this.step == 2)\r\n // this.step = 6;\r\n // else if (this.step == 6)\r\n // this.step = 3;\r\n // else\r\n // this.step++;\r\n //}\r\n //else\r\n this.step++;\r\n\r\n\r\n }\r\n\r\n prevStep() {\r\n\r\n //if (this.courseDuration == 4) { // this is certificate\r\n // if (this.step == 3)\r\n // this.step = 6;\r\n // else if (this.step == 6)\r\n // this.step = 2;\r\n // else\r\n // this.step--;\r\n //}\r\n //else\r\n this.step--;\r\n }\r\n\r\n private getRandomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min)\r\n }\r\n\r\n //#55BF3B'], // green\r\n //#DDDF0D'], // yellow\r\n //#DF5353'], // red\r\n private createChart(): void {\r\n const chart = Highcharts.chart('chart-1', {\r\n title: {\r\n text: 'Sales of petroleum products March, Norway',\r\n align: 'left'\r\n },\r\n xAxis: {\r\n categories: ['Jet fuel', 'Duty-free diesel', 'Petrol', 'Diesel', 'Gas oil']\r\n },\r\n yAxis: {\r\n title: {\r\n text: 'Million liter'\r\n }\r\n },\r\n labels: {\r\n items: [{\r\n html: 'Total liter',\r\n style: {\r\n left: '50px',\r\n top: '18px',\r\n color: ( // theme\r\n // Highcharts.defaultOptions.title.style &&\r\n // Highcharts.defaultOptions.title.style.color\r\n 'green'\r\n ) || 'black'\r\n }\r\n }]\r\n },\r\n series: [{\r\n type: 'column',\r\n name: '2020',\r\n data: [59, 83, 65, 228, 184]\r\n }, {\r\n type: 'column',\r\n name: '2021',\r\n data: [24, 79, 72, 240, 167]\r\n }, {\r\n type: 'column',\r\n name: '2022',\r\n data: [58, 88, 75, 250, 176]\r\n }, {\r\n type: 'spline',\r\n name: 'Average',\r\n data: [47, 83.33, 70.66, 239.33, 175.66],\r\n marker: {\r\n lineWidth: 2,\r\n lineColor: 'black', //Highcharts.getOptions().colors[3],\r\n fillColor: 'white'\r\n }\r\n }, {\r\n type: 'pie',\r\n name: 'Liter',\r\n data: [{\r\n name: '2020',\r\n y: 619,\r\n color: '#55BF3B' // Highcharts.getOptions().colors[0] // 2020 color\r\n }, {\r\n name: '2021',\r\n y: 586,\r\n color: '#DDDF0D' //Highcharts.getOptions().colors[1] // 2021 color\r\n }, {\r\n name: '2022',\r\n y: 647,\r\n color: '#DF5353'//Highcharts.getOptions().colors[2] // 2022 color\r\n }],\r\n center: [80, 70],\r\n size: 100,\r\n showInLegend: false,\r\n dataLabels: {\r\n enabled: false\r\n }\r\n }]\r\n } as any);\r\n\r\n setInterval(() => {\r\n chart.series[0].points[0].update(this.getRandomNumber(0, 100));\r\n }, 1000);\r\n }\r\n\r\n private createChartGauge(): void {\r\n const chart = Highcharts.chart('chart-gauge', {\r\n chart: {\r\n type: 'solidgauge',\r\n },\r\n title: {\r\n text: 'Gauge Chart',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n pane: {\r\n startAngle: -90,\r\n endAngle: 90,\r\n center: ['50%', '85%'],\r\n size: '100%',\r\n background: {\r\n innerRadius: '60%',\r\n outerRadius: '100%',\r\n shape: 'arc',\r\n },\r\n },\r\n yAxis: {\r\n min: 0,\r\n max: 100,\r\n stops: [\r\n [0.1, '#55BF3B'], // green\r\n [0.5, '#DDDF0D'], // yellow\r\n [0.9, '#DF5353'], // red\r\n ],\r\n minorTickInterval: null,\r\n tickAmount: 2,\r\n labels: {\r\n y: 16,\r\n },\r\n },\r\n plotOptions: {\r\n solidgauge: {\r\n dataLabels: {\r\n y: -25,\r\n borderWidth: 0,\r\n useHTML: true,\r\n },\r\n },\r\n },\r\n tooltip: {\r\n enabled: false,\r\n },\r\n series: [{\r\n name: null,\r\n data: [this.getRandomNumber(0, 100)],\r\n dataLabels: {\r\n format: '
{y}
',\r\n },\r\n }],\r\n } as any);\r\n\r\n setInterval(() => {\r\n chart.series[0].points[0].update(this.getRandomNumber(0, 100));\r\n }, 1000);\r\n }\r\n\r\n private createChartPie(): void {\r\n let date = new Date();\r\n const data: any[] = [];\r\n\r\n for (let i = 0; i < 5; i++) {\r\n date.setDate(new Date().getDate() + i);\r\n data.push({\r\n name: `${date.getDate()}/${date.getMonth() + 1}`,\r\n y: this.getRandomNumber(0, 1000),\r\n });\r\n }\r\n\r\n const chart = Highcharts.chart('chart-pie', {\r\n chart: {\r\n type: 'pie',\r\n },\r\n title: {\r\n text: 'Pie Chart',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n tooltip: {\r\n headerFormat: `Date: {point.key}
`,\r\n pointFormat: 'Amount: {point.y}',\r\n useHTML: true,\r\n },\r\n series: [{\r\n name: null,\r\n innerSize: '50%',\r\n data,\r\n }],\r\n } as any);\r\n\r\n setInterval(() => {\r\n date.setDate(date.getDate() + 1);\r\n chart.series[0].addPoint({\r\n name: `${date.getDate()}/${date.getMonth() + 1}`,\r\n y: this.getRandomNumber(0, 1000),\r\n }, true, true);\r\n }, 1500);\r\n }\r\n\r\n private createChartColumn(): void {\r\n let date = new Date();\r\n const data: any[] = [];\r\n\r\n for (let i = 0; i < 10; i++) {\r\n date.setDate(new Date().getDate() + i);\r\n data.push({\r\n name: `${date.getDate()}/${date.getMonth() + 1}`,\r\n y: this.getRandomNumber(0, 1000),\r\n });\r\n }\r\n\r\n const chart = Highcharts.chart('chart-column' as any, {\r\n chart: {\r\n type: 'column',\r\n },\r\n title: {\r\n text: 'Column Chart',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n yAxis: {\r\n min: 0,\r\n title: undefined,\r\n },\r\n xAxis: {\r\n type: 'category',\r\n },\r\n tooltip: {\r\n headerFormat: `
Date: {point.key}
`,\r\n pointFormat: `
{series.name}: {point.y}
`,\r\n shared: true,\r\n useHTML: true,\r\n },\r\n plotOptions: {\r\n bar: {\r\n dataLabels: {\r\n enabled: true,\r\n },\r\n },\r\n },\r\n series: [{\r\n name: 'Amount',\r\n data,\r\n }],\r\n } as any);\r\n\r\n setInterval(() => {\r\n date.setDate(date.getDate() + 1);\r\n chart.series[0].addPoint({\r\n name: `${date.getDate()}/${date.getMonth() + 1}`,\r\n y: this.getRandomNumber(0, 1000),\r\n }, true, true);\r\n }, 1500);\r\n }\r\n\r\n private createChartLine(): void {\r\n let date = new Date();\r\n const data: any[] = [];\r\n\r\n for (let i = 0; i < 10; i++) {\r\n date.setDate(new Date().getDate() + i);\r\n data.push([`${date.getDate()}/${date.getMonth() + 1}`, this.getRandomNumber(0, 1000)]);\r\n }\r\n\r\n const chart = Highcharts.chart('chart-line', {\r\n chart: {\r\n type: 'line',\r\n },\r\n title: {\r\n text: 'Line Chart',\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n yAxis: {\r\n title: {\r\n text: null,\r\n }\r\n },\r\n xAxis: {\r\n type: 'category',\r\n },\r\n tooltip: {\r\n headerFormat: `
Date: {point.key}
`,\r\n pointFormat: `
{series.name}: {point.y}
`,\r\n shared: true,\r\n useHTML: true,\r\n },\r\n series: [{\r\n name: 'Amount',\r\n data,\r\n }],\r\n } as any);\r\n\r\n setInterval(() => {\r\n date.setDate(date.getDate() + 1);\r\n chart.series[0].addPoint([`${date.getDate()}/${date.getMonth() + 1}`, this.getRandomNumber(0, 1000)], true, true);\r\n }, 1500);\r\n }\r\n\r\n private createChart2(): void {\r\n const chart = Highcharts.chart('chart-2', {\r\n title: {\r\n text: 'U.S Solar Employment Growth by Job Category, 2010-2020'\r\n },\r\n\r\n subtitle: {\r\n text: 'Source: IREC'\r\n },\r\n\r\n yAxis: {\r\n title: {\r\n text: 'Number of Employees'\r\n }\r\n },\r\n\r\n xAxis: {\r\n accessibility: {\r\n rangeDescription: 'Range: 2010 to 2020'\r\n }\r\n },\r\n\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: 2010\r\n }\r\n },\r\n\r\n series: [{\r\n name: 'Installation & Developers',\r\n data: [43934, 48656, 65165, 81827, 112143, 142383,\r\n 171533, 165174, 155157, 161454, 154610]\r\n }, {\r\n name: 'Manufacturing',\r\n data: [24916, 37941, 29742, 29851, 32490, 30282,\r\n 38121, 36885, 33726, 34243, 31050]\r\n }, {\r\n name: 'Sales & Distribution',\r\n data: [11744, 30000, 16005, 19771, 20185, 24377,\r\n 32147, 30912, 29243, 29213, 25663]\r\n }, {\r\n name: 'Operations & Maintenance',\r\n data: [null, null, null, null, null, null, null,\r\n null, 11164, 11218, 10077]\r\n }, {\r\n name: 'Other',\r\n data: [21908, 5548, 8105, 11248, 8989, 11816, 18274,\r\n 17300, 13053, 11906, 10073]\r\n }],\r\n\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n },\r\n } as any);\r\n\r\n setInterval(() => {\r\n chart.series[0].points[0].update(this.getRandomNumber(0, 100));\r\n }, 1000);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n

\r\n Dashboard\r\n

\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n

Weekly Bookings

\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {{an_stats.thisWeekBookings}}\r\n
\r\n\r\n
\r\n
Bookings
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{an_stats.thisWeekInhouseBookings}}\r\n
\r\n\r\n
\r\n
Inhouse
\r\n
\r\n
\r\n\r\n
\r\n
\r\n £\r\n \r\n {{(an_stats.thisWeekFullDayRevenue + an_stats.thisWeekCertificateRevenue + an_stats.thisWeekFcRevenue + an_stats.thisWeekWebinarRevenue + an_stats.thisWeekELearningRevenue + an_stats.thisWeekInhouseRevenue + an_stats.thisWeekProductsRevenue) | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
Revenue
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Upcoming courses

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
    \r\n\r\n
  • \r\n\r\n \r\n
    \r\n {{course.courseTitle}}\r\n
    \r\n
    \r\n\r\n
  • \r\n\r\n
  • Location: {{course.courseLocation}}
  • \r\n
  • Course date: {{course.dateDisplay | date:'dd-MM-yyyy'}}
  • \r\n
  • Speaker: {{course.speakerName}}
  • \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n Details\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n No more bookings\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Approvals

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n\r\n Reject\r\n Approve\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n No pending approval\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

To Do

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n Done\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n No pending To Do's\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
Full Day
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisWeekFullDay}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.thisWeekFullDayRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
Certificates
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisWeekCertificate + an_stats.thisWeekFc}}\r\n
\r\n\r\n
\r\n Revenue: £{{(an_stats.thisWeekCertificateRevenue + an_stats.thisWeekFcRevenue) | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
Webinars
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Total: {{an_stats.thisWeekWebinar}}\r\n
\r\n\r\n\r\n
\r\n Revenue: £{{an_stats.thisWeekWebinarRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
eLearning
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisWeekELearning}}\r\n ({{an_stats.thisWeekELearningLicence}})\r\n
\r\n\r\n\r\n
\r\n Revenue: £{{an_stats.thisWeekELearningRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
Products
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisWeekProducts}}\r\n ({{an_stats.thisWeekProductsLicence}})\r\n
\r\n\r\n\r\n
\r\n Revenue: £{{an_stats.thisWeekProductsRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
Inhouse
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisWeekInhouseBookings}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.thisWeekInhouseRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n

Previous Week

\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekFullDay}}\r\n\r\n
\r\n\r\n
\r\n\r\n
Full Day
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousWeekFullDayRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekCertificate + an_stats.previousWeekFc}}\r\n\r\n
\r\n\r\n
\r\n\r\n
Certificates
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{(an_stats.previousWeekCertificateRevenue + an_stats.previousWeekFcRevenue) | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekWebinar}}\r\n\r\n
\r\n\r\n
\r\n\r\n
Webinars
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousWeekWebinarRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekELearning}}\r\n ({{an_stats.previousWeekELearningLicence}})\r\n
\r\n\r\n
\r\n\r\n
eLearning
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousWeekELearningRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekProducts}}\r\n ({{an_stats.previousWeekProductsLicence}})\r\n\r\n
\r\n\r\n
\r\n\r\n
Products
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousWeekProductsRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n {{an_stats.previousWeekInhouseBookings}}\r\n\r\n
\r\n\r\n
\r\n\r\n
Inhouse
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousWeekInhouseRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n

Monthly Bookings

\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
Full Day
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthFullDay}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.currentMonthFullDayRevenue | number : '1.2-2'}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthFullDay}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousMonthFullDayRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
Certificates
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthCertificate + an_stats.thisMonthFc}}\r\n
\r\n\r\n
\r\n Revenue: £{{(an_stats.currentMonthCertificateRevenue + an_stats.currentMonthFcRevenue) | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthCertificate + an_stats.previousMonthFc}}\r\n
\r\n\r\n
\r\n Revenue: £{{(an_stats.previousMonthCertificateRevenue + an_stats.previousMonthFcRevenue) | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
Webinars
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthWebinar}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.currentMonthWebinarRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthWebinar}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousMonthWebinarRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
eLearning
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthELearning}}\r\n ({{an_stats.thisMonthELearningLicence}})\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.currentMonthELearningRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthELearning}}\r\n ({{an_stats.previousMonthELearningLicence}})\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousMonthELearningRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
Products
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthProducts}}\r\n ({{an_stats.thisMonthProductsLicence}})\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.currentMonthProductsRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthProducts}}\r\n ({{an_stats.previousMonthProductsLicence}})\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousMonthProductsRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
Inhouse
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.thisMonthInhouse}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.currentMonthInHouseRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n Total: {{an_stats.previousMonthInhouse}}\r\n
\r\n\r\n
\r\n Revenue: £{{an_stats.previousMonthInhouseRevenue | number : '1.2-2'}}\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n Current Month\r\n
£{{an_stats.currentMonthInvoicesIssuedRevenue | number : '1.2-2'}}
\r\n
\r\n
\r\n
\r\n
\r\n Current Quarter\r\n
£{{(an_stats.currentQuarterInvoicesIssuedRevenue + an_stats.currentQuarterInhouseRevenue) | number : '1.2-2'}}
\r\n
\r\n
\r\n
\r\n
\r\n {{an_stats.previousMonth}}\r\n
£{{an_stats.previousMonthRevenue | number : '1.2-2'}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{an_stats.previousQuarter}}\r\n
£{{(an_stats.previousYearCurrentQuarterInvoicesIssuedRevenue + an_stats.previousYearCurrentQuarterInhouseRevenue) | number : '1.2-2'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Yearly Bookings

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{an_stats.thisYearBookings}}\r\n
\r\n
\r\n
Bookings
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{an_stats.currentYearELearning}}\r\n ({{an_stats.thisYearELearningLicence}})\r\n
\r\n
\r\n
eLearning
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{an_stats.thisYearProductBookings}}\r\n ({{an_stats.thisYearProductsLicence}})\r\n
\r\n
\r\n
Products
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{an_stats.thisYearInhouseBookings}}\r\n
\r\n
\r\n
Inhouse
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
Full Day
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.currentYearFullDayBookings}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYearFullDayBookings}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearFullDayRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearFullDayRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Certificates
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.currentYearCertificateBookings}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYearCertificateBookings}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearCertificateRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearCertificateRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Webinar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.currentYearWebinar}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYearWebinar}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearWebinarRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearWebinarRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
eLearning
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.currentYear_ELearning}}\r\n ({{an_stats.thisYearELearningLicence}})\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYear_ELearning}}\r\n ({{an_stats.previousYearELearningLicence}})\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearELearningRevenue}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearELearningRevenue}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Products
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisYearProductBookings}}\r\n ({{an_stats.thisYearProductsLicence}})\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYarProductBookings}}\r\n ({{an_stats.previousYearProductsLicence}})\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearProductsRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearProductsRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Inhouse
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.thisYearInhouseBookings}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total: {{an_stats.previousYearInhouseBookings}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Revenue

\r\n
\r\n \r\n
\r\n £{{an_stats.currentYearInhouseRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n £{{an_stats.previousYearInhouseRevenue | number : '1.2-2'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Current Year\r\n
£{{an_stats.thisYearRevenue | number : '1.2-2'}}
\r\n
\r\n
\r\n
\r\n
\r\n Previous Year\r\n
£{{an_stats.previousYearInvoicesRevenue | number : '1.2-2'}}
\r\n
\r\n
\r\n
\r\n
\r\n Debt\r\n
\r\n £{{an_stats.totalDebt | number}}\r\n \r\n ({{an_stats.totalDebtInvoicesCount}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Debt >63d\r\n
\r\n £{{an_stats.debtOver63Days | number}}\r\n \r\n ({{an_stats.debtOver63DaysInvoicesCount}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Last 3 Year Analysis

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Booking Details
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n DELEGATE DETAILS\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n Delegate:\r\n
\r\n
\r\n \r\n {{getValue(_booking.name)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Organisation:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.organization)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Department:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.department)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Address:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.address)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n City:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.cityName)}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Postcode:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.postcode)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Telephone:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.telephone)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Email:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.email)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n Next\r\n \r\n
\r\n\r\n \r\n \r\n \r\n COURSE DETAILS\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n Title:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.courseName)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Location:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.courseLocation)}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Date:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.courseDate | date:'dd-MM-YYYY')}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Cost:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.courseCost)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Course Type:\r\n
\r\n\r\n
\r\n \r\n {{getValue(getCourseType(_booking.courseType))}}\r\n \r\n
\r\n
\r\n
\r\n \r\n Previous\r\n Next\r\n \r\n
\r\n\r\n \r\n \r\n \r\n INVOICE DETAILS\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n Name:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceName)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Organisation:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceOrganization)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Department:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceDepartment)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Email:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceEmail)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Telephone:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceTelephone)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Address:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceAddress)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n City:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoiceCity)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Postcode:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoicePostcode)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n PromoCode:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoicePromoCode)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n PO Number:\r\n
\r\n
\r\n \r\n {{getValue(_booking.invoicePurchaseOrder)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n Previous\r\n Next\r\n \r\n
\r\n\r\n \r\n \r\n \r\n BOOKER DETAILS\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n Name:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.bookerName)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Email:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.bookerEmail)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Telephone:\r\n
\r\n\r\n
\r\n \r\n {{getValue(_booking.bookerTelephone)}}\r\n \r\n
\r\n
\r\n
\r\n \r\n Previous\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
Course Details
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Course title:\r\n
\r\n\r\n
\r\n \r\n {{_course.courseTitle}}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n Date:\r\n
\r\n\r\n
\r\n \r\n {{_course.dateDisplay | date:'dd-MM-YYYY'}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Location:\r\n
\r\n\r\n
\r\n \r\n {{_course.courseLocation}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Speaker Name:\r\n
\r\n\r\n
\r\n \r\n {{_course.speakerName}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Total Bookings:\r\n
\r\n\r\n
\r\n \r\n {{_course.totalBookings}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-delegate',\r\n templateUrl: './add-edit-delegate.component.html',\r\n styleUrls: ['./add-edit-delegate.component.css']\r\n})\r\nexport class AddEditDelegateComponent implements OnInit {\r\n\r\n public _title = \"Add\";\r\n public locationsList: any;\r\n delegateEditForm: FormGroup;\r\n _params: any;\r\n _delegateId: any = 0;\r\n currentDelegate: any;\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _route: Router,\r\n private _commonService: CommonServiceService,\r\n private route: ActivatedRoute) {\r\n\r\n this.getLocationsList();\r\n\r\n //this.route.queryParamMap\r\n // .subscribe((params) => {\r\n // this._params = { ...params.keys, ...params };\r\n // this._delegateId = this._params.params.delegateId\r\n // });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = true;\r\n\r\n this.delegateEditForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n organization: [''],\r\n sector: [''],\r\n department: [''],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n location: [''],\r\n postcode: [''],\r\n telephone: [''],\r\n email: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n notes: ['']\r\n });\r\n\r\n //this.getLocationsList();\r\n\r\n //if (Number(this._delegateId) > 0) {\r\n // this.getDelegateData();\r\n //}\r\n\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this._delegateId = this.data.id;\r\n\r\n if (Number(this._delegateId) > 0) {\r\n //this.getDelegateData();\r\n this.currentDelegate = this.data;\r\n this.populateForm();\r\n //setTimeout(() => {\r\n // this.populateForm();\r\n //}, 1000) \r\n }\r\n\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n getDelegateData() {\r\n this._delegateService.getDelegateData(Number(this._delegateId)).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n if (result.data.length > 0) {\r\n this.currentDelegate = result.data[0];\r\n this.populateForm();\r\n }\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n get f() { return this.delegateEditForm.controls; }\r\n\r\n populateForm() {\r\n if (this.currentDelegate != null) {\r\n\r\n \r\n this._title = \"Edit\";\r\n \r\n this.delegateEditForm.controls.name.setValue(this.currentDelegate.name);\r\n this.delegateEditForm.controls.organization.setValue(this.currentDelegate.organization);\r\n this.delegateEditForm.controls.sector.setValue(this.currentDelegate.sector);\r\n this.delegateEditForm.controls.department.setValue(this.currentDelegate.department);\r\n this.delegateEditForm.controls.address1.setValue(this.currentDelegate.address1);\r\n this.delegateEditForm.controls.address2.setValue(this.currentDelegate.address2);\r\n this.delegateEditForm.controls.postcode.setValue(this.currentDelegate.postcode);\r\n this.delegateEditForm.controls.telephone.setValue(this.currentDelegate.telephone);\r\n this.delegateEditForm.controls.email.setValue(this.currentDelegate.email);\r\n this.delegateEditForm.controls.notes.setValue(this.currentDelegate.specialNotes);\r\n //this.delegateEditForm.controls.location.patchValue(this.currentDelegate.cityId);\r\n this.delegateEditForm.controls.location.setValue(this.currentDelegate.cityName);\r\n\r\n }\r\n }\r\n\r\n getLocationsList() {\r\n\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data\r\n\r\n //this.delegateEditForm.controls.location.patchValue(this.locationsList[0].cityId);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n\r\n request: {\r\n id: Number(this._delegateId),\r\n name: this.delegateEditForm.controls.name.value,\r\n organization: this.delegateEditForm.controls.organization.value,\r\n department: this.delegateEditForm.controls.department.value,\r\n sector: this.delegateEditForm.controls.sector.value,\r\n address1: this.delegateEditForm.controls.address1.value,\r\n address2: this.delegateEditForm.controls.address2.value,\r\n //cityId: this.delegateEditForm.controls.location.value,\r\n cityName: this.delegateEditForm.controls.location.value,\r\n postcode: this.delegateEditForm.controls.postcode.value,\r\n telephone: this.delegateEditForm.controls.telephone.value,\r\n email: this.delegateEditForm.controls.email.value,\r\n specialNotes: this.delegateEditForm.controls.notes.value\r\n\r\n }\r\n };\r\n\r\n this._delegateService.insertDelegate(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n close() { }\r\n\r\n delete(id) {\r\n\r\n if (id > 0) {\r\n this._delegateService.deleteDelegate(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n gotoMainMenu(tab) {\r\n if (tab.index == 0) {\r\n this._route.navigateByUrl(\"/courses/all-courses\");\r\n }\r\n else if (tab.index == 2) {\r\n this._route.navigateByUrl(\"/schedule\");\r\n }\r\n }\r\n}\r\n","\n xxx\n\n\n\n\n\n\n\n
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n\n \n \n\n
\n
\n \n \n\n \n
\n
{{errors.required}}
\n
\n
\n
\n \n \n
\n
{{errors.postcode}}
\n
\n
\n
\n \n \n
\n
\n\n \n \n
\n
{{errors.email}}
\n
\n \n
\n
\n\n
\n\n
\n \n
\n
\n \n
\n
\n\n
\n
\n\n
\n\n\n \n\n
\n \n
\n \n
\n\n
\n\n \n
\n\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { AddEditDelegateComponent } from '../add-edit-delegate/add-edit-delegate.component';\r\n\r\n@Component({\r\n selector: 'app-delegate-details',\r\n templateUrl: './delegate-details.component.html',\r\n styleUrls: ['./delegate-details.component.css']\r\n})\r\nexport class DelegateDetailsComponent implements OnInit {\r\n\r\n selectedPaymentMethod: any = \"none\";\r\n paymentDate: any = new FormControl(new Date());\r\n invoiceDate: any = new FormControl(new Date());\r\n prodPaymentDate: any = null;// = new FormControl(new Date());\r\n productInvoiceDate: any = new FormControl(new Date());\r\n _reconcile: boolean = false;\r\n _isPaired: boolean = false;\r\n _isFoundationCert: boolean = false;\r\n _xero: any;\r\n _courseId: any = 0;\r\n _bookingId: any = 0;\r\n _FC_bookingId: any = 0;\r\n coursesList: any = [];\r\n loading = false;\r\n @Input() delegateDetail: any;\r\n invoiceEditForm: FormGroup;\r\n invoicePostalForm: FormGroup;\r\n paymentForm: FormGroup;\r\n editFoundationCourseForm: FormGroup;\r\n delegateProductForm: FormGroup;\r\n delegateCourseChangeForm: FormGroup;\r\n locationsList: any;\r\n _params: any;\r\n _delegateId: any = 0;\r\n currentDelegate: any = {\r\n name: \"\",\r\n bookedCourses: [],\r\n myProducts: []\r\n };\r\n _purchaseId: any = 0;\r\n _invoiceId: any = 0;\r\n\r\n selectedGDPR: any;\r\n gdprId: any;\r\n gdprDate: any;\r\n\r\n selectedFOI: any;\r\n foiId: any;\r\n foiDate: any;\r\n\r\n selectedRM: any;\r\n rmId: any;\r\n rmDate: any;\r\n\r\n fc_currentCourseId: any = 0;\r\n fc_bookingIdToUpdate: any = 0;\r\n fc_courseIdToUpdate: any = 0;\r\n\r\n gdprList: any = [];\r\n foiList: any = [];\r\n rmList: any = [];\r\n\r\n showDD: any = \"\";\r\n isCreditNote: boolean = false;\r\n productList: any;\r\n\r\n @Output() backNavigation = new EventEmitter();\r\n @Output() gotoAllDelegates = new EventEmitter();\r\n @ViewChild('modalEditInvoice', { static: true }) modalContentEdit: TemplateRef;\r\n @ViewChild('modalEditPostal', { static: true }) modalContentPostal: TemplateRef;\r\n @ViewChild('modalPaymentDetails', { static: true }) modalPaymentDetails: TemplateRef;\r\n @ViewChild('modalAddDelegateProduct', { static: true }) modalAddDelegateProduct: TemplateRef;\r\n @ViewChild('modalChangeDelegateCourse', { static: true }) modalChangeDelegateCourse: TemplateRef;\r\n @ViewChild('modalEditFoundationCourse', { static: true }) modalEditFoundationCourse: TemplateRef;\r\n\r\n constructor(private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private route: ActivatedRoute,\r\n private modal: NgbModal,\r\n private _commonService: CommonServiceService,\r\n private formBuilder: FormBuilder,\r\n private _route: Router) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n //this.route.queryParamMap\r\n // .subscribe((params) => {\r\n // this._params = { ...params.keys, ...params };\r\n // this._delegateId = this._params.params.delegateId\r\n // });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.getLocationsList();\r\n this.showCourses();\r\n this.getProductTitle();\r\n this.getCoursesList();\r\n this.getFoundationCertDDLists();\r\n\r\n\r\n if (this.delegateDetail) {\r\n this._delegateId = this.delegateDetail;\r\n\r\n //this._delegateId = localStorage.getItem('delegateId');\r\n if (Number(this._delegateId) > 0) {\r\n this.getDelegateData();\r\n }\r\n }\r\n\r\n this.invoiceEditForm = this.formBuilder.group({\r\n invoiceName: ['', Validators.required],\r\n invoiceAddress: ['', Validators.required],\r\n invoiceEmail: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n invoiceDepartment: [''],\r\n invoiceOrganization: [''],\r\n invoiceCity: [''],\r\n invoiceTelephone: [''],\r\n invoicePostcode: ['', Validators.required]\r\n\r\n });\r\n\r\n this.invoicePostalForm = this.formBuilder.group({\r\n postalAddress: ['', Validators.required],\r\n postalCity: [''],\r\n postalName: ['', Validators.required],\r\n postalPostcode: ['', Validators.required],\r\n postalTelephone: ['']\r\n\r\n });\r\n\r\n this.paymentForm = this.formBuilder.group({\r\n invoiceNumber: ['', Validators.required],\r\n p_paymentDate: [this.paymentDate.value],\r\n p_invoiceDate: [this.invoiceDate.value],\r\n source: [''],\r\n subtotal: ['', Validators.required],\r\n totalTax: ['', Validators.required],\r\n total: ['', Validators.required],\r\n reconcile: [false],\r\n isPaired: [false],\r\n ponumber: [''],\r\n cnNumber: ['']\r\n });\r\n\r\n this.delegateProductForm = this.formBuilder.group({\r\n invoiceNumber: ['', Validators.required],\r\n prod_paymentDate: [''],// [this.prodPaymentDate.value],\r\n prod_invoiceDate: [''],\r\n source: [''],\r\n subtotal: ['', Validators.required],\r\n totalTax: [''],\r\n total: ['', Validators.required],\r\n reconcile: [false],\r\n isPaired: [false],\r\n productName: ['none'],\r\n ponumber: [''],\r\n shippingCost: [''],\r\n quantity: [''],\r\n cnNumber: ['']\r\n });\r\n\r\n this.editFoundationCourseForm = this.formBuilder.group({\r\n dd_GDPR: [''],\r\n dd_FOI: [''],\r\n dd_RM: [''],\r\n });\r\n\r\n this.delegateCourseChangeForm = this.formBuilder.group({\r\n courseTitle: ['', Validators.required]\r\n });\r\n\r\n\r\n }\r\n\r\n getLocationsList() {\r\n this.loading = true;\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.locationsList = result.data;\r\n this.loading = false;\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getFoundationCertDDLists() {\r\n\r\n\r\n this._delegateService.getFoundationCertDDLists().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.gdprList = result.data[0];\r\n this.foiList = result.data[1];\r\n this.rmList = result.data[2];\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n populateInvoiceAddressForm() {\r\n if (this.currentDelegate != null) {\r\n //debugger;\r\n this.invoiceEditForm.controls.invoiceName.setValue(this.currentDelegate.invoiceName);\r\n this.invoiceEditForm.controls.invoiceAddress.setValue(this.currentDelegate.invoiceAddress);\r\n this.invoiceEditForm.controls.invoiceEmail.setValue(this.currentDelegate.invoiceEmail);\r\n this.invoiceEditForm.controls.invoiceDepartment.setValue(this.currentDelegate.invoiceDepartment);\r\n this.invoiceEditForm.controls.invoiceOrganization.setValue(this.currentDelegate.invoiceOrganization);\r\n this.invoiceEditForm.controls.invoiceTelephone.setValue(this.currentDelegate.invoiceTelephone);\r\n this.invoiceEditForm.controls.invoicePostcode.setValue(this.currentDelegate.invoicePostcode);\r\n this.invoiceEditForm.controls.invoiceCity.setValue(this.currentDelegate.invoiceCity);\r\n\r\n }\r\n }\r\n\r\n\r\n populatePostalAddressForm() {\r\n if (this.currentDelegate != null) {\r\n\r\n this.invoicePostalForm.controls.postalAddress.setValue(this.currentDelegate.postalAddress);\r\n this.invoicePostalForm.controls.postalCity.setValue(this.currentDelegate.postalCity);\r\n this.invoicePostalForm.controls.postalName.setValue(this.currentDelegate.postalName);\r\n this.invoicePostalForm.controls.postalPostcode.setValue(this.currentDelegate.postalPostcode);\r\n this.invoicePostalForm.controls.postalTelephone.setValue(this.currentDelegate.postalTelephone);\r\n\r\n }\r\n }\r\n\r\n\r\n emptyFormatter(param) {\r\n\r\n if (param == null || param == \"\")\r\n return '-';\r\n else return param;\r\n }\r\n\r\n\r\n\r\n getProductTitle() {\r\n\r\n\r\n this._delegateService.getProductTitle().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.productList = result.data;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n populateTitleData(data: any) {\r\n\r\n let obj = this.productList.find(o => o.id === data.value);\r\n\r\n if (obj.cost != null && obj.cost != \"\" && obj.cost != undefined)\r\n obj.cost = obj.cost.toFixed(2)\r\n else\r\n obj.cost = 0;\r\n\r\n this.delegateProductForm.controls.subtotal.setValue(obj.cost);\r\n this.applyTax(obj.cost);\r\n\r\n }\r\n\r\n getCoursesList() {\r\n\r\n this._coursesService.getCoursesListWithId().subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n //DAYS COUNT\r\n getDaysCount(dateString): string {\r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n return daysDiff.toString();\r\n }\r\n\r\n getColor(value) {\r\n\r\n if (value <= 28) {\r\n return 'outstanding-green';\r\n } else if (value > 28 && value <= 49) {\r\n return 'amber';\r\n } else if (value > 63) {\r\n return 'red';\r\n } else if (value > 49) {\r\n return 'redborder-simple';\r\n }\r\n }\r\n\r\n getStatus(course) {\r\n // invoice is paid\r\n if (course != null) {\r\n if (course.isInvoicePaid == true) {\r\n return 'green';\r\n }\r\n else {\r\n return this.getColor(this.getDaysCount(course.invoiceDate));\r\n }\r\n }\r\n else return '';\r\n }\r\n\r\n getProductStatus(prod) {\r\n // product is paid\r\n\r\n if (prod.isInvoicePaid == true) {\r\n return 'green';\r\n }\r\n else {\r\n return this.getColor(this.getDaysCount(prod.dateAdded));\r\n }\r\n }\r\n\r\n\r\n\r\n get f() { return this.invoiceEditForm.controls; }\r\n\r\n get p() { return this.invoicePostalForm.controls; }\r\n\r\n get i() { return this.paymentForm.controls; }\r\n\r\n get d() { return this.delegateProductForm.controls; }\r\n\r\n on_Product_PaidClick(data: any, prod, product) {\r\n this._purchaseId = product.purchaseId;\r\n\r\n this.paymentForm.controls.invoiceNumber.setValue(product.invoiceNumber);\r\n debugger;\r\n if (product.reconcileOn != null)\r\n this.paymentDate = new Date(product.reconcileOn);\r\n else this.paymentDate = null;\r\n\r\n //if (course.invoiceDate != null)\r\n // this.invoiceDate = new Date(course.invoiceDate);\r\n //else this.invoiceDate = null;\r\n\r\n this._reconcile = product.isInvoicePaid;\r\n this._isPaired = product.isPaired;\r\n this.selectedPaymentMethod = product.transactionType;\r\n this.paymentForm.controls.subtotal.setValue(product.amount);\r\n this.applyTax(product.amount);\r\n\r\n this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n\r\n }\r\n\r\n on_FC_PaidClick(data: any, prod, course) {\r\n \r\n this._FC_bookingId = prod.bookingIds;\r\n\r\n this._isFoundationCert = true;\r\n\r\n this._purchaseId = 0;\r\n\r\n\r\n this._courseId = course.courseId;\r\n //this._xero = data;\r\n this._bookingId = course.bookingId;\r\n\r\n this.paymentForm.controls.invoiceNumber.setValue(course.invoiceNumber);\r\n debugger;\r\n if (course.reconcileDate != null)\r\n this.paymentDate = new Date(course.reconcileDate);\r\n else this.paymentDate = null;\r\n\r\n if (course.invoiceDate != null)\r\n this.invoiceDate = new Date(course.invoiceDate);\r\n else this.invoiceDate = null;\r\n\r\n this._reconcile = course.isInvoicePaid;\r\n this._isPaired = course.isPaired;\r\n this.selectedPaymentMethod = course.transactionType;\r\n\r\n\r\n this.paymentForm.controls.ponumber.setValue(course.poNumber);\r\n //this.paymentForm.controls.source.patchValue(course.transactionType);\r\n this.paymentForm.controls.subtotal.setValue(course.courseCost);\r\n this.applyTax(course.courseCost);\r\n\r\n this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n\r\n }\r\n\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n\r\n if (event.value != null) { \r\n this.paymentDate = this.adjustDateForTimeOffset(event.value);\r\n //this.paymentDate = new Date(event.value);\r\n //this.paymentDate.setDate(event.value.getDate());\r\n //this.paymentDate.setMonth(event.value.getMonth());\r\n //this.paymentDate.setFullYear(event.value.getFullYear());\r\n\r\n // product payment date\r\n this.prodPaymentDate = this.adjustDateForTimeOffset(event.value);\r\n //this.prodPaymentDate = new Date(event.value);\r\n //this.prodPaymentDate.setDate(event.value.getDate());\r\n //this.prodPaymentDate.setMonth(event.value.getMonth());\r\n //this.prodPaymentDate.setFullYear(event.value.getFullYear());\r\n }\r\n }\r\n\r\n invoiceDateEvent(event: MatDatepickerInputEvent) {\r\n if (event.value != null) { \r\n // using for course\r\n this.invoiceDate = this.adjustDateForTimeOffset(event.value);\r\n\r\n // using for product\r\n this.productInvoiceDate = this.adjustDateForTimeOffset(event.value);\r\n }\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n onPaidClick(data: any, course) {\r\n \r\n this._FC_bookingId = \"\";\r\n\r\n this._isFoundationCert = false;\r\n\r\n this.isCreditNote = false;\r\n\r\n this._purchaseId = 0;\r\n\r\n this._courseId = course.courseId;\r\n //this._xero = data;\r\n this._bookingId = course.bookingId;\r\n\r\n this.paymentForm.controls.invoiceNumber.setValue(course.invoiceNumber);\r\n this.paymentForm.controls.ponumber.setValue(course.poNumber);\r\n this.paymentForm.controls.cnNumber.setValue(course.cnNumber);\r\n\r\n if (course.cnNumber != null && course.cnNumber != \"\")\r\n this.isCreditNote = true;\r\n //debugger;\r\n if (course.reconcileDate != null)\r\n this.paymentDate = new Date(course.reconcileDate);\r\n else this.paymentDate = null;\r\n\r\n if (course.invoiceDate != null)\r\n this.invoiceDate = new Date(course.invoiceDate);\r\n else this.invoiceDate = null;\r\n\r\n this._reconcile = course.isInvoicePaid;\r\n this._isPaired = course.isPaired;\r\n this.selectedPaymentMethod = course.transactionType;\r\n //this.paymentForm.controls.source.patchValue(course.transactionType);\r\n this.paymentForm.controls.subtotal.setValue(course.courseCost);\r\n this.applyTax(course.courseCost);\r\n\r\n this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n\r\n //if (this._xero.target.checked == true)\r\n // this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n //else {\r\n // this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n\r\n\r\n //}\r\n //this.onPaymentSubmit();\r\n }\r\n\r\n applyTax(d: any) {\r\n\r\n\r\n var tax = (d * 20) / 100;\r\n this.paymentForm.controls.totalTax.setValue(tax.toFixed(2));\r\n this.paymentForm.controls.total.setValue((Number(d) + Number(tax)).toFixed(2));\r\n\r\n this.delegateProductForm.controls.totalTax.setValue(tax.toFixed(2));\r\n this.delegateProductForm.controls.total.setValue((Number(d) + Number(tax)).toFixed(2));\r\n //this.delegateProductForm.controls.total.setValue((Number(d)).toFixed(2));\r\n }\r\n\r\n\r\n applyProductTax(_applyTax) {\r\n\r\n var qty = Number(this.delegateProductForm.controls.quantity.value);\r\n var subtotal = Number(this.delegateProductForm.controls.subtotal.value);\r\n var shippingCost = Number(this.delegateProductForm.controls.shippingCost.value);\r\n //var totalTax = Number(this.delegateProductForm.controls.totalTax.value);\r\n\r\n var total = qty * subtotal;\r\n var tax = (total * 20) / 100;\r\n\r\n\r\n\r\n //var total = (Number(this.delegateProductForm.controls.subtotal.value) +\r\n // Number(this.delegateProductForm.controls.shippingCost.value));\r\n\r\n //var tax = (total * 20) / 100;\r\n\r\n\r\n\r\n if (_applyTax) {\r\n this.delegateProductForm.controls.total.setValue((Number(total) + Number(shippingCost) + Number(tax)).toFixed(2));\r\n this.delegateProductForm.controls.totalTax.setValue(tax.toFixed(2));\r\n\r\n }\r\n else {\r\n var totalTax = Number(this.delegateProductForm.controls.totalTax.value);\r\n if (totalTax > 0) {\r\n this.delegateProductForm.controls.total.setValue((Number(total) + Number(shippingCost) + Number(totalTax)).toFixed(2));\r\n //this.delegateProductForm.controls.totalTax.setValue(totalTax.toFixed(2));\r\n }\r\n else\r\n this.delegateProductForm.controls.total.setValue(((Number(total) + Number(shippingCost))).toFixed(2));\r\n }\r\n //this.delegateProductForm.controls.total.setValue((Number(total) + Number(shippingCost)));\r\n\r\n }\r\n\r\n onEditFoundationCourseSubmit() {\r\n var req = {\r\n bookingId: Number(this.fc_bookingIdToUpdate),\r\n courseId: Number(this.fc_courseIdToUpdate),\r\n delegateId: this._delegateId,\r\n currentCourseId: Number(this.fc_currentCourseId)\r\n };\r\n\r\n this._coursesService.updateFoundationCertificate(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.editFoundationCourseForm.reset();\r\n\r\n this.editFoundationCourseForm.controls.dd_GDPR.patchValue(\"none\");\r\n this.editFoundationCourseForm.controls.dd_FOI.patchValue(\"none\");\r\n this.editFoundationCourseForm.controls.dd_RM.patchValue(\"none\");\r\n\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n //}, (_error: any) => {\r\n // //this.loading = false;\r\n })\r\n }\r\n\r\n onPaymentSubmit() {\r\n var req = {};\r\n \r\n req = {\r\n courseId: this._courseId,\r\n delegateId: this._delegateId,\r\n InvoiceNumber: this.paymentForm.controls.invoiceNumber.value,\r\n InvoicePaidDate: this.paymentDate, //this.paymentForm.controls.p_paymentDate.value,\r\n InvoiceDate: this.invoiceDate,\r\n InvoicePaidBy: this.paymentForm.controls.source.value,\r\n SubTotal: \"\" + this.paymentForm.controls.subtotal.value,\r\n TotalTax: \"\" + this.paymentForm.controls.totalTax.value,\r\n //IsInvoicePaid: this._xero.target.checked,\r\n IsReconcile: this.paymentForm.controls.reconcile.value,\r\n IsPaired: this.paymentForm.controls.isPaired.value,\r\n CurrencyCode: \"GBP\",\r\n bookingId: this._bookingId,\r\n isFoundationCert: this._isFoundationCert,\r\n FC_bookingIds: \"\" + this._FC_bookingId,\r\n purchaseId: this._purchaseId,\r\n Ponumber: this.paymentForm.controls.ponumber.value,\r\n cnNumber: this.paymentForm.controls.cnNumber.value\r\n };\r\n\r\n\r\n this._coursesService.updateDelegatePayment(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.paymentForm.reset();\r\n\r\n this.paymentForm.controls.source.patchValue(\"none\");\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show error popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n validateAmount(event: KeyboardEvent, _val): void {\r\n\r\n const charCode = event.which || event.keyCode;\r\n const char = String.fromCharCode(charCode);\r\n\r\n // Allow decimal point (46) and numbers (48-57)\r\n if (charCode === 190 || charCode === 46 || charCode === 8 || (charCode >= 48 && charCode <= 57)) {\r\n // Ensure only one decimal point\r\n if (charCode === 46 && _val.indexOf('.') !== -1) {\r\n\r\n event.preventDefault();\r\n }\r\n } else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n editDelegateProduct(product) {\r\n debugger;\r\n this.populateDelegateForm(product);\r\n this.modal.open(this.modalAddDelegateProduct, { size: 'lg' });\r\n }\r\n\r\n editDelegateFC(_course) {\r\n\r\n this.fc_bookingIdToUpdate = _course.bookingId;\r\n this.fc_currentCourseId = _course.courseId;\r\n\r\n this.showDD = \"\";\r\n\r\n if (_course.courseTitle == \"Introduction to GDPR Webinar\")\r\n this.showDD = \"Introduction to GDPR Webinar\";\r\n if (_course.courseTitle == \"Introduction to FOI Webinar\")\r\n this.showDD = \"Introduction to FOI Webinar\";\r\n if (_course.courseTitle == \"Introduction to Records Management Webinar\")\r\n this.showDD = \"Introduction to Records Management Webinar\";\r\n this.modal.open(this.modalEditFoundationCourse, { size: 'lg' });\r\n }\r\n\r\n changeDelegateCourse(courseId) {\r\n //this.populateDelegateForm(product);\r\n\r\n this._courseId = courseId;\r\n\r\n this.delegateCourseChangeForm.controls.courseTitle.patchValue(courseId);\r\n this.modal.open(this.modalChangeDelegateCourse, { size: 'lg' });\r\n }\r\n\r\n populateDelegateForm(product) {\r\n\r\n if (product != null) {\r\n\r\n this.delegateProductForm.controls.invoiceNumber.setValue(product.invoiceDetail.invoiceNumber);\r\n this.prodPaymentDate = product.invoiceDetail.invoicePaidOn;\r\n this.productInvoiceDate = product.invoiceDetail.dateAdded;\r\n this.delegateProductForm.controls.source.setValue(product.invoiceDetail.transactionType);\r\n this.delegateProductForm.controls.subtotal.setValue(product.invoiceDetail.amount.toFixed(2));\r\n this.delegateProductForm.controls.quantity.setValue(product.invoiceDetail.productQuantity);\r\n this.delegateProductForm.controls.shippingCost.setValue(product.invoiceDetail.shippingCost);\r\n this.delegateProductForm.controls.totalTax.setValue(product.invoiceDetail.totalTax);\r\n this.delegateProductForm.controls.total.setValue(product.invoiceDetail.invoiceTelephone);\r\n this.delegateProductForm.controls.reconcile.setValue(product.invoiceDetail.isInvoicePaid);\r\n this.delegateProductForm.controls.isPaired.setValue(product.invoiceDetail.isInvoicePaired);\r\n this.delegateProductForm.controls.productName.patchValue(product.productId);\r\n this.delegateProductForm.controls.cnNumber.setValue(product.invoiceDetail.creditNoteNumber);\r\n this.delegateProductForm.controls.ponumber.patchValue(product.poNumber);\r\n\r\n this._isPaired = product.invoiceDetail.isInvoicePaired;\r\n this._reconcile = product.invoiceDetail.isInvoicePaid;\r\n\r\n //this.applyTax(product.invoiceDetail.amount);\r\n\r\n if (product.invoiceDetail.totalTax > 0)\r\n this.applyProductTax(true);\r\n else\r\n this.applyProductTax(false);\r\n\r\n this.isCreditNote = false;\r\n\r\n //debugger;\r\n if (product.invoiceDetail.creditNoteNumber != null && product.invoiceDetail.creditNoteNumber != '')\r\n this.isCreditNote = true;\r\n\r\n this._bookingId = product.invoiceDetail.bookingId;\r\n this.selectedPaymentMethod = product.invoiceDetail.transactionType;\r\n this._invoiceId = product.invoiceDetail.id;\r\n this._purchaseId = product.invoiceDetail.purchaseId;\r\n }\r\n\r\n }\r\n\r\n\r\n onDelegateCourseChangeSubmit() {\r\n var req = {};\r\n\r\n req = {\r\n courseId: this._courseId,\r\n delegateId: this._delegateId,\r\n newCourseId: this.delegateCourseChangeForm.controls.courseTitle.value\r\n };\r\n\r\n\r\n this._delegateService.changeDelegateCourse(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.delegateCourseChangeForm.reset();\r\n\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show error popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n onDelegateProductSubmit() {\r\n\r\n\r\n if (this.delegateProductForm.controls.quantity.value == null)\r\n this.delegateProductForm.controls.quantity.setValue(0);\r\n\r\n if (this.delegateProductForm.controls.shippingCost.value == null)\r\n this.delegateProductForm.controls.shippingCost.setValue(0);\r\n\r\n\r\n\r\n var req = {};\r\n //var _prodPaymentDate = this.delegateProductForm.controls.prod_paymentDate.value ? this.delegateProductForm.controls.prod_paymentDate.value : null;\r\n debugger;\r\n req = {\r\n courseId: this._courseId,\r\n delegateId: this._delegateId,\r\n InvoiceNumber: this.delegateProductForm.controls.invoiceNumber.value,\r\n InvoicePaidDate: this.prodPaymentDate, // this.delegateProductForm.controls.p_paymentDate.value,\r\n InvoiceDate: this.productInvoiceDate,\r\n InvoicePaidBy: this.delegateProductForm.controls.source.value,\r\n SubTotal: \"\" + this.delegateProductForm.controls.subtotal.value,\r\n TotalTax: \"\" + this.delegateProductForm.controls.totalTax.value,\r\n ProductQuantity: \"\" + this.delegateProductForm.controls.quantity.value,\r\n ShippingCost: \"\" + this.delegateProductForm.controls.shippingCost.value,\r\n IsReconcile: this.delegateProductForm.controls.reconcile.value,\r\n IsPaired: this.delegateProductForm.controls.isPaired.value,\r\n CurrencyCode: \"GBP\",\r\n bookingId: this._bookingId,\r\n isFoundationCert: false,\r\n productId: this.delegateProductForm.controls.productName.value,\r\n ponumber: this.delegateProductForm.controls.ponumber.value,\r\n invoiceId: this._invoiceId,\r\n purchaseId: this._purchaseId,\r\n cnNumber: this.delegateProductForm.controls.cnNumber.value\r\n };\r\n\r\n\r\n this._delegateService.insertDelegateProduct(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.delegateProductForm.reset();\r\n\r\n this.delegateProductForm.controls.source.patchValue(\"none\");\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show errror popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n onInvoiceEditSubmit() {\r\n\r\n var req = {\r\n\r\n id: Number(this._delegateId),\r\n invoiceName: this.invoiceEditForm.controls.invoiceName.value,\r\n invoiceAddress: this.invoiceEditForm.controls.invoiceAddress.value,\r\n invoiceEmail: this.invoiceEditForm.controls.invoiceEmail.value,\r\n invoiceDepartment: this.invoiceEditForm.controls.invoiceDepartment.value,\r\n invoiceOrganization: this.invoiceEditForm.controls.invoiceOrganization.value,\r\n invoiceTelephone: this.invoiceEditForm.controls.invoiceTelephone.value,\r\n invoicePostcode: this.invoiceEditForm.controls.invoicePostcode.value,\r\n invoiceCity: this.invoiceEditForm.controls.invoiceCity.value\r\n\r\n };\r\n\r\n this._delegateService.updateDelegateInvoiceAddress(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n updateDelegate() {\r\n\r\n const modalRef = this.modal.open(AddEditDelegateComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = this.currentDelegate;\r\n\r\n //if (this._methodToload == this.methodName.archive)\r\n // modalRef.componentInstance.refreshGrid.subscribe(event => this.getDelegatesList(true));\r\n //else if (this._methodToload == this.methodName.nonArchive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getDelegateData());\r\n\r\n }\r\n\r\n onInvoicePostalSubmit() {\r\n\r\n var req = {\r\n\r\n id: Number(this._delegateId),\r\n postalName: this.invoicePostalForm.controls.postalName.value,\r\n postalAddress: this.invoicePostalForm.controls.postalAddress.value,\r\n postalTelephone: this.invoicePostalForm.controls.postalTelephone.value,\r\n postalPostcode: this.invoicePostalForm.controls.postalPostcode.value,\r\n postalCity: this.invoicePostalForm.controls.postalCity.value\r\n\r\n };\r\n\r\n this._delegateService.updateDelegatePostalAddress(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.modal.dismissAll();\r\n this.getDelegateData();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n printNo(num) {\r\n return Number(num).toLocaleString('en-GB');\r\n }\r\n\r\n updateInvoiceAddress() {\r\n\r\n this.populateInvoiceAddressForm();\r\n\r\n this.modal.open(this.modalContentEdit, { size: 'lg' });\r\n }\r\n\r\n close2(e: any) {\r\n\r\n if (this._purchaseId > 0)\r\n $(\"#\" + this._purchaseId + \"_chk\").prop(\"checked\", !$(\"#\" + this._purchaseId + \"_chk\").prop('checked'));\r\n else if (this._FC_bookingId != \"\")\r\n $(\"#\" + this._bookingId + \"_chk\").prop(\"checked\", !$(\"#\" + this._bookingId + \"_chk\").prop('checked'));\r\n else\r\n $(\"#\" + this._courseId + \"_chk\").prop(\"checked\", !$(\"#\" + this._courseId + \"_chk\").prop('checked'));\r\n }\r\n\r\n close() {\r\n this.modal.dismissAll();\r\n }\r\n\r\n updatePostalAddress() {\r\n this.populatePostalAddressForm();\r\n\r\n this.modal.open(this.modalContentPostal, { size: 'lg' });\r\n }\r\n\r\n getDelegateData() {\r\n\r\n\r\n if (this._delegateId != null) {\r\n this._delegateService.getDelegateData(Number(this._delegateId)).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n if (result.data.length > 0) {\r\n this.currentDelegate = result.data[0];\r\n //this.populateData();\r\n }\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n addDelegateProduct() {\r\n this._purchaseId = 0;\r\n this.delegateProductForm.reset();\r\n this.modal.open(this.modalAddDelegateProduct, { size: 'lg' });\r\n }\r\n\r\n\r\n showProducts() {\r\n $(\"#course-section\").hide();\r\n $(\"#prod-section\").show();\r\n\r\n $(\"#show-prod-container\").addClass(\"bg-purple-gradient text-white\");\r\n $(\"#show-prod-container\").removeClass(\"bg-lg flip-btn-border\");\r\n\r\n $(\"#show-course-container\").addClass(\"bg-lg flip-btn-border text-main\");\r\n $(\"#show-course-container\").removeClass(\"bg-purple-gradient text-white\");\r\n\r\n }\r\n\r\n showCourses() {\r\n $(\"#course-section\").show();\r\n $(\"#prod-section\").hide();\r\n\r\n $(\"#show-course-container\").addClass(\"bg-purple-gradient text-white\");\r\n $(\"#show-course-container\").removeClass(\"bg-lg flip-btn-border\");\r\n\r\n $(\"#show-prod-container\").addClass(\"bg-lg flip-btn-border text-main\");\r\n $(\"#show-prod-container\").removeClass(\"bg-purple-gradient text-white\");\r\n }\r\n\r\n allDelegates() {\r\n this.gotoAllDelegates.emit();\r\n //this._route.navigateByUrl(\"/courses/all-courses\");\r\n }\r\n\r\n goBack() {\r\n\r\n //debugger;\r\n var previousPath = localStorage.getItem(\"PREVIOUS_PATH\");\r\n\r\n if (previousPath != null && previousPath != \"\" && previousPath != undefined) {\r\n if (previousPath == \"/finance/invoices-list\") {\r\n //this._route.navigateByUrl('/finance/invoices-list?rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n this.backNavigation.emit();\r\n }\r\n else if (previousPath == \"/product/bookings?type=true\" || previousPath == \"/product/bookings?type=false\") {\r\n this.backNavigation.emit();\r\n }\r\n else {\r\n this.gotoAllDelegates.emit();\r\n this.backNavigation.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n onGDPRSelected(event) {\r\n this.selectedGDPR = event.value.split(','); // event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.fc_courseIdToUpdate = this.selectedGDPR[0];\r\n //this.fc_bookingIdToUpdate = this.selectedGDPR[1];\r\n\r\n\r\n }\r\n\r\n onFOISelected(event) {\r\n this.selectedFOI = event.value.split(','); // event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.fc_courseIdToUpdate = this.selectedFOI[0];\r\n //this.fc_bookingIdToUpdate = this.selectedFOI[1];\r\n\r\n }\r\n\r\n onRMSelected(event) {\r\n this.selectedRM = event.value.split(','); //event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.fc_courseIdToUpdate = this.selectedRM[0];\r\n //this.fc_bookingIdToUpdate = this.selectedRM[1];\r\n\r\n }\r\n\r\n setProductFormInputNotRequired(formControlName: string): void {\r\n const control = this.delegateProductForm.get(formControlName);\r\n if (control) {\r\n control.clearValidators();\r\n control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n resetProductFormInputNotRequired(formControlName: string): void {\r\n const control = this.delegateProductForm.get(formControlName);\r\n if (control) {\r\n control.reset();\r\n control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n setCourseFormInputNotRequired(formControlName: string): void {\r\n const control = this.paymentForm.get(formControlName);\r\n if (control) {\r\n control.clearValidators();\r\n control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n resetCourseFormInputNotRequired(formControlName: string): void {\r\n const control = this.paymentForm.get(formControlName);\r\n if (control) {\r\n control.reset();\r\n control.updateValueAndValidity();\r\n }\r\n }\r\n onPaymentMethodChanged(event) {\r\n \r\n if (event.value == \"Cancelled\") {\r\n $(`[formControlName=\"invoiceNumber\"]`).removeClass('is-invalid');\r\n this.setProductFormInputNotRequired('invoiceNumber');\r\n this.setCourseFormInputNotRequired('invoiceNumber');\r\n }\r\n else {\r\n $(`[formControlName=\"invoiceNumber\"]`).addClass('is-invalid');\r\n this.resetProductFormInputNotRequired('invoiceNumber');\r\n this.resetCourseFormInputNotRequired('invoiceNumber');\r\n }\r\n\r\n if (event.value == \"Credit Note\")\r\n this.isCreditNote = true;\r\n else {\r\n this.isCreditNote = false;\r\n\r\n this.paymentForm.controls.cnNumber.setValue(null);\r\n this.delegateProductForm.controls.cnNumber.setValue(null);\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\n
\n\n

\n Delegate DETAILS\n

\n\n
\n
\n\n \n\n\n
\n\n
\n\n\n
\n
\n
\n
\n\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n \n
\n
\n
\n\n
\n\n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n \n
\n
\n \n \n \n \n \n\n \n
\n \n
\n\n
\n
\n\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n\n\n \n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n\n
\n\n
\n
\n\n
\n \n Courses\n\n
\n
\n \n Products\n\n
\n
\n
\n\n
\n
\n\n
\n
\n\n \n\n\n \n\n
\n\n
\n \n
\n No data found\n
\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n swap_horiz\n \n
\n
\n
\n\n
\n
\n\n\n\n \n
\n\n
\n\n \n
\n
\n
\n
\n
\n\n
\n\n\n
\n
\n
\n \n
\n\n\n
\n \n
\n No data found\n
\n\n\n
0\">\n\n \n \n
\n\n\n
\n
\n\n \n\n
\n
\n \n
\n
\n\n\n\n
\n
\n \n
\n
\n\n\n\n
\n
\n \n
\n\n \n \n
\n
\n
\n\n\n\n
\n
\n \n
\n\n \n \n
\n
\n
\n\n\n\n
\n \n\n
\n \n
\n \n
\n
\n\n\n
\n
\n \n
\n
\n\n
\n\n\n
\n\n
\n\n\n
\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n\n\n
\n \n
\n\n \n
\n\n
\n \n
\n\n
\n\n\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n
\n\n
\n \n\n
\n\n
\n
\n \n\n \n \n\n \n\n
\n
\n
\n\n\n\n
\n \n
\n\n \n
\n\n
\n\n
\n
\n\n
\n\n \n \n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n \n\n\n\n
\n\n\n\n
\n\n
Invoice Address
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n
\n \n \n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n \n \n
\n
\n \n \n
\n
{{errors.invoiceEmail}}
\n
\n
\n\n
\n \n \n \n
\n
{{errors.required}}
\n
\n
\n
\n \n \n
\n
{{errors.required}}
\n
\n\n
\n
\n\n
\n \n
\n \n
\n\n
\n
\n
\n\n
\n\n\n\n\n\n
\n\n
Postal Address
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n\n \n \n\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n \n
\n
{{errors.required}}
\n
\n\n
\n
\n\n
\n \n
\n \n
\n\n
\n
\n
\n\n
\n\n\n\n
\n
Payment Details
\n
\n
\n\n\n
\n\n\n
\n\n\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n\n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n \n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n\n
\n
\n \n Invoice date\n \n \n \n \n
\n
\n \n
\n
\n \n Payment date\n \n \n \n \n
\n \n
\n
\n Reconcile\n
\n\n
\n Paired\n
\n\n
\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n\n\n\n
\n
Add Product
\n
\n
\n\n\n
\n\n\n
\n\n
\n \n \n Select product\n {{loc.title}}\n \n
\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n\n
\n \n\n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n \n\n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n\n
\n
\n \n Invoice date\n \n \n \n \n
\n
\n\n
\n
\n \n Payment date\n \n \n \n \n\n
\n \n
\n
\n Reconcile\n
\n\n
\n Paired\n
\n\n
\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n\n\n\n
\n
Change Course
\n
\n
\n\n\n
\n\n\n
\n\n
\n \n \n Select course\n {{course.startDate | date:'dd-MM-yy'}} - {{course.title}}\n \n
\n\n
\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n\n\n
\n
Edit Foundation Certificate
\n
\n
\n\n\n
\n\n\n
\n
LIVE WEBINARS
\n\n
\n Please choose a date to participate in the live webinars below.\n
\n\n
\n\n \n \n Select date\n {{gdpr.courseDate | date:'dd-MM-yy'}}\n \n\n
\n\n
\n \n \n Select date\n {{foi.courseDate | date:'dd-MM-yy'}}\n \n
\n\n
\n \n \n Select date\n {{rm.courseDate | date:'dd-MM-yy'}}\n \n
\n
\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AddEditDelegateComponent } from './add-edit-delegate/add-edit-delegate.component';\r\nimport { DelegateDetailsComponent } from './delegate-details/delegate-details.component';\r\nimport { ViewDelegateComponent } from './view-delegate/view-delegate.component';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'all-delegates', component: DashboardComponent },\r\n { path: 'new-delegate', component: DashboardComponent },\r\n { path: 'delegate-details', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'all-delegates',\r\n pathMatch: 'full'\r\n },\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class DelegatesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { DelegatesRoutingModule } from './delegates-routing.module';\r\nimport { ViewDelegateComponent } from './view-delegate/view-delegate.component';\r\nimport { AddEditDelegateComponent } from './add-edit-delegate/add-edit-delegate.component';\r\nimport { DelegateDetailsComponent } from './delegate-details/delegate-details.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { DelgateActionsComponent } from './view-delegate/delgate-actions/delgate-actions.component';\r\nimport { ClickableParentComponent } from './view-delegate/clickable-parent/clickable-parent.component';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule({\r\n declarations: [ViewDelegateComponent,\r\n AddEditDelegateComponent,\r\n DelegateDetailsComponent,\r\n DelgateActionsComponent,\r\n ClickableParentComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n DelegatesRoutingModule,\r\n AgGridModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatMenuModule,\r\n MatIconModule\r\n ],\r\n exports: [ViewDelegateComponent,\r\n AddEditDelegateComponent,\r\n DelegateDetailsComponent\r\n ]\r\n})\r\nexport class DelegatesModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { DelegateService } from '../../../../common/_services/delegate-services';\r\nimport { DeleteComponent } from '../../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-clickable-parent',\r\n //templateUrl: './clickable-parent.component.html',\r\n //styleUrls: ['./clickable-parent.component.css']\r\n template: `\r\n \r\n `\r\n})\r\nexport class ClickableParentComponent implements ICellRendererAngularComp {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n\r\n agInit(params: any): void {\r\n \r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.id };\r\n }\r\n\r\n constructor(private _router: Router,\r\n private _dialog: MatDialog,\r\n private _delegateService: DelegateService,\r\n private http: HttpClient) {\r\n \r\n }\r\n\r\n public clicked(data: any): void {\r\n \r\n if (data.Type == 'view')\r\n location.href = \"view-project/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit')\r\n this.params.context.componentParent.openModal(this.params.data);\r\n //location.href = \"new-delegate?delegateId=\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"edit-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'delete')\r\n this.deleteProject(data.Cell.id);\r\n\r\n }\r\n\r\n\r\n deleteProject(delegateId: any) {\r\n\r\n //\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n\r\n if (delegateId > 0) {\r\n this._delegateService.deleteDelegate(delegateId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n \r\n //var req = {\r\n // ProjectId: Number(projectId),\r\n // UpdatedBy: this.appService.currentUserValue.value.userId\r\n //}\r\n\r\n //let headers = new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n //});\r\n\r\n\r\n //this.http.post(this.url + '/Project/DeleteProject', JSON.stringify(req), { headers }).subscribe(result => {\r\n // if (result.success) {\r\n // //this.getProjectAttachments();\r\n // \r\n // this.genericMessage(result.message, \"Success\");\r\n // } else {\r\n\r\n // }\r\n\r\n //}, error => console.log(error));\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n genericMessage(Desc: any, Status: string) {\r\n\r\n //this._refDialog = this._dialog.open(ShowMessageComponent, {\r\n // disableClose: true,\r\n // autoFocus: false,\r\n // data: { message: Desc, status: Status }\r\n //});\r\n\r\n //this._refDialog.componentInstance.closeGenericMessasge.subscribe((data) => {\r\n // this._refDialog.close();\r\n // \r\n // if (Status == \"Success\")\r\n // location.href = 'projects';\r\n // //else if (Status == \"Completed\")\r\n // // this._router.navigateByUrl('projects');\r\n //});\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-delgate-actions',\n //templateUrl: './delgate-actions.component.html',\n // styleUrls: ['./delgate-actions.component.css']\n\n template: //remove_red_eye\n `edit\n delete`,\n styles: [\n `.btn {\n line-height: 0.5;\n width: 100%;\n }`\n ]\n})\nexport class DelgateActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n \n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp:'test' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport jsPDF from 'jspdf';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Observable } from 'rxjs';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { AddEditDelegateComponent } from '../add-edit-delegate/add-edit-delegate.component';\r\nimport { ClickableParentComponent } from './clickable-parent/clickable-parent.component';\r\nimport * as XLSX from 'xlsx';\r\nimport { saveAs } from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-view-delegate',\r\n templateUrl: './view-delegate.component.html',\r\n styleUrls: ['./view-delegate.component.css']\r\n})\r\nexport class ViewDelegateComponent implements OnInit {\r\n\r\n _date = new Date();\r\n delegatesList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 50;\r\n marketingReportList: any;\r\n\r\n @Output() gotoMainMenu = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'name', width: 325 },\r\n { field: 'organization', headerName: 'Organisation', width: 225 },\r\n { field: 'sector', headerName: 'Sector', width: 225, valueFormatter: this.emptyFormatter },\r\n { field: 'department', width: 225, valueFormatter: this.emptyFormatter },\r\n { field: 'email', width: 250, valueFormatter: this.emptyFormatter },\r\n { field: 'telephone', width: 225, valueFormatter: this.emptyFormatter },\r\n {\r\n field: 'Action', cellRendererFramework: ClickableParentComponent,\r\n sortable: false, filter: false, width: 150, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n emptyFormatter(params) {\r\n\r\n if (params.value == null || params.value == \"\")\r\n return '-';\r\n else return params.value;\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n private _route: Router,\r\n private _commonService: CommonServiceService,\r\n private spinner: NgxSpinnerService) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#dGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#dGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n // //this.rowData$ = this.http\r\n // // .get('http://www.ag-grid.com/example-assets/row-data.json');\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n if (e.colDef.field != \"Action\")\r\n this.gotoMainMenu.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n \r\n openModal(param) {\r\n const modalRef = this.modal.open(AddEditDelegateComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (this._methodToload == this.methodName.archive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getDelegatesList(true));\r\n else if (this._methodToload == this.methodName.nonArchive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getDelegatesList(false));\r\n }\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n //\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getDelegatesList(false);\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n \r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getDelegatesList(isArch) {\r\n\r\n if (isArch == true) {\r\n this.listTitle = \"Archived Delegates\";\r\n this._methodToload = this.methodName.archive;\r\n } else {\r\n this.listTitle = \"Delegates\";\r\n this._methodToload = this.methodName.nonArchive;\r\n }\r\n\r\n var req = { \r\n isArchived: isArch\r\n };\r\n this._delegateService.getDelegatesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n debugger;\r\n this.delegatesList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditDelegateComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n this.getDelegatesList(false);\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n marketingReport(columnName) {\r\n this.spinner.show();\r\n\r\n this._delegateService.getMarketingReportData(columnName).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.marketingReportList = result.data;\r\n\r\n // Step 1: Sort the array by date\r\n //this.marketingReportList.sort((a, b) => a.courseBooking - b.courseBooking);\r\n\r\n this.downloadMarketingReport();\r\n\r\n this.spinner.hide();\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n downloadMarketingReport() {\r\n setTimeout(() => {\r\n this.exportMarketingReportToExcel();\r\n\r\n //this.spinner.show();\r\n\r\n //$(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n //let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n //pdf.setFontSize(8);\r\n\r\n //pdf.html(this.el.nativeElement, {\r\n\r\n // callback: (pdf) => {\r\n // pdf.save('MarketingReport.pdf');\r\n // },\r\n // margin: [15, 15, 15, 15],\r\n // autoPaging: 'text', \r\n // x: 25,\r\n // y: 25,\r\n // width: 350, //target width in the PDF document\r\n // windowWidth: 675 //window width in CSS pixels\r\n //})\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n this.spinner.hide();\r\n }, 4000);\r\n }, 1000);\r\n }\r\n\r\n exportMarketingReportToExcel() {\r\n //debugger;\r\n // Get the HTML table element\r\n const table = document.getElementById('section-to-print'); // Replace with your table's ID\r\n\r\n if (!table) {\r\n console.error('Data not found!');\r\n return;\r\n }\r\n\r\n // Convert the HTML table to a worksheet\r\n const worksheet = XLSX.utils.table_to_sheet(table);\r\n\r\n // Create a new workbook and append the worksheet\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');\r\n\r\n // Convert the workbook to a binary Excel file\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n\r\n // Save the Excel file using FileSaver\r\n const blob = new Blob([excelBuffer], { type: 'application/octet-stream' });\r\n\r\n const formattedDate = this._date.toISOString().slice(0, 10).replace(/-/g, \"\"); // YYYYMMDD\r\n const formattedTime = this._date.toTimeString().slice(0, 5).replace(/:/g, \"\"); // HHMM\r\n\r\n saveAs(blob, 'MarketingData' + \"_\" + formattedDate + \"_\" + formattedTime + '.xlsx');\r\n }\r\n}\r\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

\n Marketing Report\n

\n
\n {{_date | date : 'dd-MM-yy'}}\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
BookingDelegateOrganisationEmailCourseAddressCityPostCodeContactType
{{data.bookingDate | date : 'dd-MM-yy' }}{{data.delgateName}}{{data.organisation}}\n {{data.delegateEmail}}\n {{data.courseTitle}}{{data.postalAddress}}{{data.postalCity}}{{data.postalPostCode}}{{data.contactType}}
\n
\n
\n\n\n\n
\n
\n

\n {{listTitle}}\n

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n\n\n \n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-credit-note',\r\n templateUrl: './add-edit-credit-note.component.html',\r\n styleUrls: ['./add-edit-credit-note.component.css']\r\n})\r\nexport class AddEditCreditNoteComponent implements OnInit {\r\n\r\n public _title = \"Add\";\r\n\r\n cn_EditForm: FormGroup;\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n //_params: any;\r\n _cnId: any = 0;\r\n currentCreditNote: any;\r\n isNew: any = true;\r\n invoiceDate: any = new FormControl(new Date());\r\n isEditMode: any = false;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private _delegateService: DelegateService,\r\n private _commonService: CommonServiceService,\r\n public activeModal: NgbActiveModal,) { }\r\n\r\n ngOnInit(): void {\r\n this.cn_EditForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n organization: [''],\r\n department: [''],\r\n address1: [''],\r\n location: [''],\r\n postcode: [''],\r\n telephone: [''],\r\n email: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n invoiceNumber: ['', Validators.required],\r\n subtotal: ['', Validators.required],\r\n invoiceDate: [this.invoiceDate.value],\r\n notes: [''],\r\n cn_number: [''],\r\n totalTax: [''],\r\n total: ['', Validators.required],\r\n });\r\n\r\n\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this._cnId = this.data.id;\r\n\r\n if (Number(this._cnId) > 0) {\r\n this.currentCreditNote = this.data;\r\n this.populateForm();\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n get f() { return this.cn_EditForm.controls; }\r\n\r\n populateForm() {\r\n\r\n if (this.currentCreditNote != null) {\r\n\r\n this.isEditMode = true;\r\n this._title = \"Edit\";\r\n\r\n this.cn_EditForm.controls.name.setValue(this.currentCreditNote.name);\r\n this.cn_EditForm.controls.organization.setValue(this.currentCreditNote.organization);\r\n this.cn_EditForm.controls.department.setValue(this.currentCreditNote.department);\r\n this.cn_EditForm.controls.address1.setValue(this.currentCreditNote.address);\r\n this.cn_EditForm.controls.postcode.setValue(this.currentCreditNote.postcode);\r\n this.cn_EditForm.controls.telephone.setValue(this.currentCreditNote.telephone);\r\n this.cn_EditForm.controls.email.setValue(this.currentCreditNote.email);\r\n this.cn_EditForm.controls.notes.setValue(this.currentCreditNote.description);\r\n this.cn_EditForm.controls.location.setValue(this.currentCreditNote.cityName);\r\n this.cn_EditForm.controls.invoiceNumber.setValue(this.currentCreditNote.invoiceNumber);\r\n this.cn_EditForm.controls.subtotal.setValue(this.currentCreditNote.amount);\r\n this.cn_EditForm.controls.cn_number.setValue(this.currentCreditNote.creditNoteNumber);\r\n this.cn_EditForm.controls.total.setValue(this.currentCreditNote.total);\r\n this.cn_EditForm.controls.totalTax.setValue(this.currentCreditNote.tax);\r\n this.invoiceDate = this.currentCreditNote.invoiceDate;\r\n\r\n this.applyTax(false);\r\n }\r\n }\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n\r\n if (event.value != null) {\r\n\r\n //this.invoiceDate = new Date(event.value);\r\n //this.invoiceDate.setDate(event.value.getDate());\r\n //this.invoiceDate.setMonth(event.value.getMonth());\r\n //this.invoiceDate.setFullYear(event.value.getFullYear());\r\n\r\n\r\n this.invoiceDate = this.adjustDateForTimeOffset(event.value);\r\n\r\n // console.log(event.value)\r\n }\r\n\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n\r\n request: {\r\n id: Number(this._cnId),\r\n creditNoteNumber: this.cn_EditForm.controls.cn_number.value,\r\n name: this.cn_EditForm.controls.name.value,\r\n organization: this.cn_EditForm.controls.organization.value,\r\n department: this.cn_EditForm.controls.department.value,\r\n address: this.cn_EditForm.controls.address1.value,\r\n cityName: this.cn_EditForm.controls.location.value,\r\n postcode: this.cn_EditForm.controls.postcode.value,\r\n telephone: this.cn_EditForm.controls.telephone.value,\r\n email: this.cn_EditForm.controls.email.value,\r\n description: this.cn_EditForm.controls.notes.value,\r\n invoiceNumber: this.cn_EditForm.controls.invoiceNumber.value,\r\n amount: Number(this.cn_EditForm.controls.subtotal.value),\r\n invoiceDate: this.invoiceDate,\r\n tax: Number(this.cn_EditForm.controls.totalTax.value),\r\n total: Number(this.cn_EditForm.controls.total.value)\r\n }\r\n };\r\n\r\n debugger;\r\n this._delegateService.insertCreditNote(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n applyTax(_applyTax) {\r\n\r\n var subtotal = Number(this.cn_EditForm.controls.subtotal.value);\r\n //var totalTax = Number(this.delegateProductForm.controls.totalTax.value);\r\n\r\n var tax = (subtotal * 20) / 100;\r\n\r\n\r\n\r\n //var total = (Number(this.delegateProductForm.controls.subtotal.value) +\r\n // Number(this.delegateProductForm.controls.shippingCost.value));\r\n\r\n //var tax = (total * 20) / 100;\r\n\r\n debugger;\r\n\r\n if (_applyTax) {\r\n this.cn_EditForm.controls.total.setValue((Number(subtotal) + Number(tax)).toFixed(2));\r\n this.cn_EditForm.controls.totalTax.setValue(tax.toFixed(2));\r\n\r\n }\r\n else {\r\n var totalTax = Number(this.cn_EditForm.controls.totalTax.value);\r\n if (totalTax > 0) {\r\n this.cn_EditForm.controls.total.setValue((Number(subtotal) + Number(totalTax)).toFixed(2));\r\n //this.delegateProductForm.controls.totalTax.setValue(totalTax.toFixed(2));\r\n }\r\n else\r\n this.cn_EditForm.controls.total.setValue(Number(subtotal));\r\n }\r\n //this.delegateProductForm.controls.total.setValue((Number(total) + Number(shippingCost)));\r\n\r\n }\r\n}\r\n","\n xxx\n\n\n\n\n\n\n\n
\n\n
{{_title}}
\n\n
\n\n\n\n\n\n
\n\n
\n\n
\n\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n \n
\n
\n \n\n \n
\n
{{errors.required}}
\n
\n
\n
\n \n \n
\n
{{errors.postcode}}
\n
\n
\n
\n \n \n
\n
\n\n \n \n
\n
{{errors.email}}
\n\n
\n\n
\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n\n
\n
\n \n Invoice date\n \n \n \n \n
\n
\n\n\n
\n\n
\n\n
\n \n
\n
\n \n
\n
\n\n
\n
\n\n
\n\n\n \n\n
\n \n
\n\n
\n\n
\n\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-invoice',\r\n templateUrl: './add-edit-invoice.component.html',\r\n styleUrls: ['./add-edit-invoice.component.css']\r\n})\r\nexport class AddEditInvoiceComponent implements OnInit {\r\n\r\n invoiceForm: FormGroup;\r\n paymentDate: any = new Date();\r\n _invoiceDate: any = new Date();\r\n _paymentDate: any = '';// new Date();\r\n _date: any = new Date();\r\n\r\n suppliersList: any;\r\n _invoiceId: any = 0;\r\n @Input() data;\r\n isNew: any = true;\r\n public _title = \"Add Invoice\";\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private modal: NgbModal,\r\n private _financeService: FinanceService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.invoiceForm = this.formBuilder.group({\r\n\r\n supplier: ['none'],\r\n invoiceNumber: ['', Validators.required],\r\n source: ['none'],\r\n subtotal: ['', Validators.required],\r\n totalTax: ['', Validators.required],\r\n total: ['', Validators.required],\r\n expense: [''],\r\n serviceDetails: [''],\r\n paymentRef: [''],\r\n p_paymentDate: [''], //[this.paymentDate.value],\r\n invoiceDate: [this.paymentDate.value],\r\n });\r\n\r\n \r\n this.getSuppliersList();\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n \r\n this.invoiceForm.controls.supplier.setValue(this.data);\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n \r\n }\r\n\r\n populateForm(__data) {\r\n\r\n this._title = \"Edit Invoice\";\r\n\r\n this._invoiceId = __data.invoiceId;\r\n //debugger;\r\n this.invoiceForm.controls.invoiceNumber.setValue(__data.invoiceNumber);\r\n this.invoiceForm.controls.invoiceDate.setValue(__data.invoiceDate);\r\n this.invoiceForm.controls.p_paymentDate.setValue(__data.datePaid);\r\n this.invoiceForm.controls.source.patchValue(__data.paymentMethod);\r\n this.invoiceForm.controls.subtotal.setValue(__data.netTotal);\r\n this.invoiceForm.controls.totalTax.setValue(__data.vat);\r\n this.invoiceForm.controls.total.setValue(__data.grossTotal);\r\n this.invoiceForm.controls.expense.setValue(__data.expenses);\r\n this.invoiceForm.controls.supplier.setValue(__data.supplierId);\r\n this.invoiceForm.controls.paymentRef.setValue(__data.paymentReference);\r\n this.invoiceForm.controls.serviceDetails.setValue(__data.servicesDetails);\r\n\r\n this._invoiceDate = __data.invoiceDate;\r\n this._paymentDate = __data.datePaid;\r\n\r\n }\r\n\r\n getSuppliersList() {\r\n\r\n this._financeService.getSuppliersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.suppliersList = result.data;\r\n \r\n } else {\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get i() { return this.invoiceForm.controls; }\r\n\r\n applyTax(d: any) {\r\n var tax = (d * 20) / 100;\r\n this.invoiceForm.controls.totalTax.setValue(tax.toFixed(2));\r\n this.invoiceForm.controls.total.setValue((Number(d) + Number(tax)).toFixed(2));\r\n }\r\n\r\n changeTax(d: number) {\r\n //var tax = (d * 20) / 100;\r\n debugger;\r\n //this.invoiceForm.controls.totalTax.setValue(Number(d).toFixed(2));\r\n this.invoiceForm.controls.total.setValue((Number(this.invoiceForm.controls.subtotal.value) + Number(d)).toFixed(2));\r\n }\r\n\r\n onPaymentSubmit() {\r\n\r\n var paymentDate = this.invoiceForm.controls.p_paymentDate.value == '' ? null : this.invoiceForm.controls.p_paymentDate.value;\r\n var req = {\r\n request : {\r\n invoiceId: this._invoiceId,\r\n invoiceNumber: this.invoiceForm.controls.invoiceNumber.value,\r\n invoiceDate: this.invoiceForm.controls.invoiceDate.value,\r\n datePaid: paymentDate, //this.invoiceForm.controls.p_paymentDate.value,\r\n paymentMethod: this.invoiceForm.controls.source.value,\r\n netTotal: \"\" + this.invoiceForm.controls.subtotal.value,\r\n vat: \"\" + this.invoiceForm.controls.totalTax.value,\r\n grossTotal: Number(this.invoiceForm.controls.total.value),\r\n expenses: \"\" + this.invoiceForm.controls.expense.value,\r\n supplierId: this.invoiceForm.controls.supplier.value,\r\n paymentReference: this.invoiceForm.controls.paymentRef.value,\r\n servicesDetails: this.invoiceForm.controls.serviceDetails.value,\r\n }\r\n };\r\n \r\n debugger;\r\n\r\n this._financeService.insertInvoiceReceived(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.invoiceForm.reset();\r\n\r\n this.invoiceForm.controls.source.patchValue(\"none\");\r\n this.invoiceForm.controls.supplier.patchValue(\"none\");\r\n\r\n this.modal.dismissAll();\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n close() {\r\n this.modal.dismissAll();\r\n }\r\n\r\n addEvent(date: string, event: MatDatepickerInputEvent) {\r\n\r\n if (event.value != null) {\r\n if (date == '_invoiceDate') {\r\n this._invoiceDate = this.adjustDateForTimeOffset(event.value);\r\n }\r\n else if (date == '_paymentDate') {\r\n this._paymentDate = this.adjustDateForTimeOffset(event.value);\r\n }\r\n }\r\n\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n}\r\n","\n xxx\n\n\n\n\n\n\n\n
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n \n \n Select supplier\n {{sup.name}}\n \n
\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n\n\n
\n \n\n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n \n\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n
\n \n Invoice date\n \n \n \n \n
\n
\n\n
\n
\n \n Payment date\n \n \n \n \n
\n
\n\n\n
\n\n\n\n\n
\n \n\n
\n \n\n
\n
\n\n
\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-supplier',\r\n templateUrl: './add-edit-supplier.component.html',\r\n styleUrls: ['./add-edit-supplier.component.css']\r\n})\r\nexport class AddEditSupplierComponent implements OnInit {\r\n\r\n currentDate: any = new FormControl(new Date());\r\n submitted = false;\r\n public _title = \"Add Supplier\";\r\n public locationsList: any;\r\n supplierEditForm: FormGroup;\r\n _params: any;\r\n _supplierId: any = 0;\r\n\r\n selectedCityName: any;\r\n\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n private _financeService: FinanceService,\r\n private _route: Router) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n \r\n this.loading = true;\r\n\r\n this.supplierEditForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n address1: [''],\r\n address2: [''],\r\n city: [''],\r\n postcode: [''],\r\n bankName: [''],\r\n sortCode: [''],\r\n accountNumber: [''],\r\n bankAddress: [''],\r\n VATNumber: [''],\r\n companyNumber: [''],\r\n telephone: [''],\r\n email: ['', [Validators.pattern(regExpressions.email)]]\r\n\r\n });\r\n\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n this.getLocationsList();\r\n\r\n this.loading = false;\r\n }\r\n\r\n getLocationsList() {\r\n\r\n this._coursesService.getLocationsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n \r\n this.locationsList = result.data\r\n debugger;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onCitySelected(event) {\r\n // get select option text\r\n this.selectedCityName = event.source.selected._element.nativeElement.innerText;\r\n \r\n }\r\n\r\n get f() { return this.supplierEditForm.controls; }\r\n\r\n populateForm(__data) {\r\n \r\n this._title = \"Edit Supplier\";\r\n\r\n this._supplierId = __data.supplierId;\r\n \r\n this.supplierEditForm.controls.name.setValue(__data.name);\r\n this.supplierEditForm.controls.address1.setValue(__data.address1);\r\n this.supplierEditForm.controls.address2.setValue(__data.address2);\r\n this.supplierEditForm.controls.city.setValue(__data.city);\r\n this.supplierEditForm.controls.postcode.setValue(__data.postCode);\r\n this.supplierEditForm.controls.bankName.setValue(__data.bankName);\r\n this.supplierEditForm.controls.sortCode.setValue(__data.sortCode);\r\n this.supplierEditForm.controls.accountNumber.setValue(__data.accountNumber);\r\n this.supplierEditForm.controls.bankAddress.setValue(__data.bankAddress);\r\n this.supplierEditForm.controls.VATNumber.setValue(__data.vatnumber);\r\n this.supplierEditForm.controls.companyNumber.setValue(__data.companyNumber);\r\n this.supplierEditForm.controls.telephone.setValue(__data.telephone);\r\n this.supplierEditForm.controls.email.setValue(__data.email);\r\n\r\n\r\n }\r\n\r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n request: {\r\n SupplierId: Number(this._supplierId),\r\n Name: this.supplierEditForm.controls.name.value,\r\n Address1: this.supplierEditForm.controls.address1.value,\r\n Address2: this.supplierEditForm.controls.address2.value,\r\n City: this.supplierEditForm.controls.city.value, //this.selectedCityName,\r\n PostCode: this.supplierEditForm.controls.postcode.value,\r\n BankName: this.supplierEditForm.controls.bankName.value,\r\n SortCode: this.supplierEditForm.controls.sortCode.value,\r\n AccountNumber: this.supplierEditForm.controls.accountNumber.value,\r\n BankAddress: this.supplierEditForm.controls.bankAddress.value,\r\n Vatnumber: this.supplierEditForm.controls.VATNumber.value,\r\n CompanyNumber: this.supplierEditForm.controls.companyNumber.value,\r\n Email: this.supplierEditForm.controls.email.value,\r\n CityId: 0, //this.supplierEditForm.controls.city.value,\r\n Telephone: this.supplierEditForm.controls.telephone.value\r\n\r\n }\r\n };\r\n\r\n\r\n this._financeService.insertSupplier(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n \r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n close() { }\r\n\r\n //delete(id) {\r\n\r\n // if (id > 0) {\r\n // this._delegateService.deleteDelegate(id).subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n\r\n\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n // }\r\n //}\r\n\r\n gotoMainMenu(tab) {\r\n if (tab.index == 0) {\r\n this._route.navigateByUrl(\"/courses/all-courses\");\r\n }\r\n else if (tab.index == 2) {\r\n this._route.navigateByUrl(\"/schedule\");\r\n }\r\n }\r\n\r\n}\r\n","\n xxx\n\n\n\n\n
\n
{{_title}}
\n
\n\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n
{{errors.name}}
\n
\n\n
\n\n
\n \n \n\n \n \n\n
\n
\n \n \n\n \n
\n
{{errors.required}}
\n
\n
\n
\n \n \n
\n
{{errors.postcode}}
\n
\n
\n\n
\n \n \n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n \n
\n\n
\n \n \n
\n
\n\n \n \n
\n
{{errors.email}}
\n
\n\n
\n \n
\n\n
\n\n\n \n\n
\n \n
\n \n
\n\n
\n\n\n
\n\n","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport jsPDF from 'jspdf';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { ClickableParentComponent } from '../../../shared/_components/edit/clickable-parent/clickable-parent.component';\r\nimport { AddEditCreditNoteComponent } from '../add-edit-credit-note/add-edit-credit-note.component';\r\n\r\n@Component({\r\n selector: 'app-credit-notes',\r\n templateUrl: './credit-notes.component.html',\r\n styleUrls: ['./credit-notes.component.css']\r\n})\r\nexport class CreditNotesComponent implements OnInit {\r\n\r\n //@Output() gotoMainMenu = new EventEmitter();\r\n //@Output() gotoAllCourses = new EventEmitter();\r\n\r\n _paramOut = {\r\n gotoAdmin: \"\"\r\n }\r\n\r\n @Output() gotoAdminTab = new EventEmitter();\r\n @Output() gotoDelegateDetails = new EventEmitter();\r\n\r\n @Output() gotoSuppliersList = new EventEmitter();\r\n @Output() gotoInvoicesIssued = new EventEmitter();\r\n @Output() gotoDebtCollection = new EventEmitter();\r\n @Output() gotoXeroInvoices = new EventEmitter();\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n\r\n CN_List: any;\r\n cnDownload: any = [];\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 50;\r\n\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n //private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n //private _route: Router\r\n ) {\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n \r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getCreditNotesList();\r\n }\r\n\r\n gotoAdmin(param) {\r\n this._paramOut.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramOut);\r\n }\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'dateAdded', headerName: 'Created Date', valueFormatter: this.convertStringToDate },\r\n { field: 'name', headerName: 'Name', valueFormatter: this.emptyFormatter },\r\n { field: 'organization', headerName: 'Organisation' },\r\n { field: 'email', headerName: 'Email', valueFormatter: this.emptyFormatter },\r\n { field: 'telephone', headerName: 'Telephone', valueFormatter: this.emptyFormatter },\r\n { field: 'creditNoteNumber', headerName: 'Credit Note Number' },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number' }, \r\n {\r\n field: 'Action', cellRendererFramework: ClickableParentComponent, cellRendererParams: { module: 'credit note' },\r\n sortable: false, filter: false, width: 120, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n\r\n emptyFormatter(params) {\r\n\r\n if (params.value == null || params.value == \"\")\r\n return '-';\r\n else return params.value;\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n \r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#cnGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#cnGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n debugger;\r\n\r\n //if (e.colDef.field != \"Action\") {\r\n // this._paramOut.gotoAdmin = \"speakerDetails\";\r\n // this._paramOut.id = e.data.speakerId;\r\n // this.gotoAdminTab.emit(this._paramOut);\r\n //}\r\n this.gotoDelegateDetails.emit({ id: e.data.speakerId });\r\n\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n \r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getCreditNotesList() {\r\n\r\n\r\n this._delegateService.getCreditNotesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.CN_List = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditCreditNoteComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n\r\n this.getCreditNotesList();\r\n }, (reason) => {\r\n\r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n const modalRef = this.modal.open(AddEditCreditNoteComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getCreditNotesList());\r\n }\r\n\r\n delete(id) {\r\n \r\n if (id > 0) {\r\n this._delegateService.deleteCreditNote(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getCreditNotesList()\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n gotoInvoicesReceivedList() {\r\n \r\n this.gotoInvoicesReceived.emit();\r\n }\r\n\r\n gotoInvoicesIssuedList() {\r\n this.gotoInvoicesIssued.emit();\r\n }\r\n\r\n gotoXeroInvoicesList() {\r\n\r\n this.gotoXeroInvoices.emit();\r\n }\r\n\r\n gotoDebtCollectionList() {\r\n this.gotoDebtCollection.emit();\r\n }\r\n\r\n gotoSuppliers() {\r\n this.gotoSuppliersList.emit();\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n download(param:any) {\r\n debugger;\r\n\r\n this.cnDownload = param;\r\n setTimeout(() => {\r\n\r\n\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save(param.invoiceNumber + '.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 4000);\r\n }, 1000);\r\n }\r\n}\r\n","
\n\n
\n
\n
\n
\n \n
\n\n
\n

\n Credit Note\n

\n
\n \n
\n
\n\n
\n
\n

\n Act Now Training Ltd\n

\n Annexe 2, Suite 45,\n
\n Batley Business Park,\n
\n Technology Drive, Batley\n
\n West Yorkshire, WF17 6ER\n
\n Tel: 01924 470252\n
\n Email: info@actnow.org.uk\n

\n

\n
\n \n
\n\n
\n\n
\n
\n

\n {{cnDownload.name}}\n

\n {{cnDownload.organization}}\n
\n {{cnDownload.address}}\n
\n {{cnDownload.cityName}}, {{cnDownload.postcode}}\n
\n\n

\n

\n
\n
\n\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n
Credit note number:{{cnDownload.creditNoteNumber}}
Date:{{cnDownload.dateAdded | date:'longDate'}}
Invoice number:{{cnDownload.invoiceNumber}}
Invoice date:{{cnDownload.invoiceDate | date:'longDate'}}
Total{{cnDownload.amount | currency: 'GBP'}}
VAT (20%){{cnDownload.tax | currency: 'GBP'}}
Total invoice amount{{cnDownload.total | currency: 'GBP'}}
\n
\n
\n\n\n \n \n\n\n\n
\n
\n\n\n\n
\n
\n\n

\n Credit Notes\n

\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n\n
\n\n
\n\n\n\n\n
\n Page size: \n \n
\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'suppliers-list', component: DashboardComponent },\r\n { path: 'xero-invoices', component: DashboardComponent },\r\n { path: 'supplier-details', component: DashboardComponent },\r\n { path: 'invoices-list', component: DashboardComponent },\r\n { path: 'received-invoices', component: DashboardComponent },\r\n { path: 'debt-collection', component: DashboardComponent },\r\n { path: 'credit-notes', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'suppliers-list',\r\n pathMatch: 'full'\r\n },];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class FinanceRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FinanceRoutingModule } from './finance-routing.module';\r\nimport { SuppliersComponent } from './suppliers/suppliers.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { AddEditSupplierComponent } from './add-edit-supplier/add-edit-supplier.component';\r\nimport { SupplierActionsComponent } from './suppliers/supplier-actions/supplier-actions.component';\r\nimport { SupplierClickableParentComponent } from './suppliers/supplier-clickable-parent/supplier-clickable-parent.component';\r\nimport { InvoicesReceivedComponent } from './invoices-received/invoices-received.component';\r\nimport { SupplierDetailsComponent } from './suppliers/supplier-details/supplier-details.component';\r\nimport { AddEditInvoiceComponent } from './add-edit-invoice/add-edit-invoice.component';\r\nimport { InvoiceReceivedActionsComponent } from './invoices-received/invoice-received-actions/invoice-received-actions.component';\r\nimport { InvoiceReceivedClickableParentComponent } from './invoices-received/invoice-received-clickable-parent/invoice-received-clickable-parent.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { XeroInvoicesComponent } from './xero-invoices/xero-invoices.component';\r\nimport { CreditNotesComponent } from './credit-notes/credit-notes.component';\nimport { AddEditCreditNoteComponent } from './add-edit-credit-note/add-edit-credit-note.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SuppliersComponent,\r\n AddEditSupplierComponent,\r\n SupplierActionsComponent,\r\n SupplierClickableParentComponent,\r\n InvoicesReceivedComponent,\r\n SupplierDetailsComponent,\r\n AddEditInvoiceComponent,\r\n InvoiceReceivedActionsComponent,\r\n InvoiceReceivedClickableParentComponent,\r\n //XeroComponent,\r\n XeroInvoicesComponent,\r\n CreditNotesComponent,\r\n AddEditCreditNoteComponent,\r\n \r\n ],\r\n imports: [\r\n CommonModule,\r\n FinanceRoutingModule,\r\n AgGridModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonToggleModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SuppliersComponent,\r\n InvoicesReceivedComponent,\r\n SupplierDetailsComponent,\r\n XeroInvoicesComponent,\r\n CreditNotesComponent\r\n ]\r\n})\r\nexport class FinanceModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-invoice-received-actions',\n template: `edit\n delete\n download`,\n styleUrls: ['./invoice-received-actions.component.css']\n})\nexport class InvoiceReceivedActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n sendInvoiceClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'sendInvoice' });\n}\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { FinanceService } from '../../../../common/_services/finance-services';\r\nimport { DeleteComponent } from '../../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-invoice-received-clickable-parent',\r\n template: ``,\r\n styleUrls: ['./invoice-received-clickable-parent.component.css']\r\n})\r\nexport class InvoiceReceivedClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n //\r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.courseId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(//private _router: Router,\r\n //private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _financeService: FinanceService\r\n ) {\r\n\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n //\r\n debugger;\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n this.params.context.componentParent.openModal(this.params.data);\r\n }\r\n \r\n if (data.Type == 'delete')\r\n this.params.context.componentParent.deleteSupplierInvoice(this.params.data);\r\n //this.delete(this.params.data.supplierId);\r\n\r\n if (data.Type == 'sendInvoice')\r\n this.params.context.componentParent.sendInvoice(this.params.data);\r\n }\r\n\r\n\r\n \r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport jsPDF from 'jspdf';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { AddEditInvoiceComponent } from '../add-edit-invoice/add-edit-invoice.component';\r\nimport { InvoiceReceivedClickableParentComponent } from './invoice-received-clickable-parent/invoice-received-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-invoices-received',\r\n templateUrl: './invoices-received.component.html',\r\n styleUrls: ['./invoices-received.component.css']\r\n})\r\nexport class InvoicesReceivedComponent implements OnInit {\r\n\r\n accountantReportsForm: FormGroup;\r\n _date = new Date();\r\n currentInvoice: any = [];\r\n invoicesList: any;\r\n unpaidInvoicesList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n public _refDialog: any;\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 10;\r\n _paramOut = {\r\n showReceivedInvoices: false,\r\n showSuppliers: false,\r\n id: 0\r\n }\r\n\r\n @ViewChild('modalAccountantReports', { static: true }) modalAccountantReports: TemplateRef;\r\n\r\n @Output() gotoSupplierDetails = new EventEmitter();\r\n @Output() gotoSuppliersList = new EventEmitter();\r\n @Output() gotoInvoicesIssued = new EventEmitter();\r\n @Output() gotoDebtCollection = new EventEmitter();\r\n @Output() gotoXeroInvoices = new EventEmitter();\r\n @Output() gotoCreditNotes = new EventEmitter();\r\n\r\n @ViewChild('printSection_accountantReport', { static: false }) printAccountantReport!: ElementRef\r\n\r\n @ViewChild('printSection_notPaidInvoices', { static: false }) notPaidInvoices!: ElementRef\r\n\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'invoiceDate', headerName: 'Issue Date', width: 325, valueFormatter: this.convertStringToDate },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number', width: 225 },\r\n { field: 'supplierName', headerName: 'From', width: 225 },\r\n {\r\n field: 'grossTotal', headerName: 'Total Amount', width: 225,\r\n cellRenderer: params => this.currencyFormatter(params.value),\r\n },\r\n {\r\n field: 'paymentMethod', headerName: 'Transaction Type', width: 225,\r\n cellRenderer: params => params.value == null ? \"-\" : params.value,\r\n },\r\n { field: 'datePaid', headerName: 'Paid On', width: 250, cellRenderer: this.reconcileCellRendererFunc, valueFormatter: this.convertStringToDate },\r\n {\r\n field: 'Action', cellRendererFramework: InvoiceReceivedClickableParentComponent,\r\n sortable: false, filter: false, width: 125, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n // DATA FORMATTING\r\n currencyFormatter(currency) {\r\n\r\n if (currency != null) {\r\n\r\n var sansDec = currency.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return '£' + `${formatted}`;\r\n }\r\n else return '-';\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private formBuilder: FormBuilder,\r\n private _financeService: FinanceService,\r\n private _commonService: CommonServiceService,\r\n private _dialog: MatDialog,\r\n ) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n rowClass: 'grid-row',\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n ngOnInit(): void {\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getReceivedInvoicesList();\r\n this.getUnpaidReceivedInvoicesList();\r\n\r\n this.accountantReportsForm = this.formBuilder.group({\r\n year: ['', Validators.required]\r\n\r\n });\r\n }\r\n\r\n get f() { return this.accountantReportsForm.controls; }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n var elm = document.querySelector(\"#invoicesReceivedGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n\r\n var elm = document.querySelector(\"#invoicesReceivedGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n if (e.colDef.field != \"Action\") {\r\n this.gotoSupplierDetails.emit(e.data);\r\n }\r\n\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n openModal(param) {\r\n const modalRef = this.modal.open(AddEditInvoiceComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getReceivedInvoicesList());\r\n\r\n }\r\n\r\n deleteSupplierInvoice(param) {\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n if (param.invoiceId > 0) {\r\n this._financeService.deleteSupplierInvoice(param.invoiceId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getReceivedInvoicesList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n\r\n sendInvoice(param) {\r\n //debugger;\r\n\r\n this.currentInvoice = param;\r\n setTimeout(() => {\r\n\r\n\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save(param.invoiceNumber + '.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 4000);\r\n }, 1000);\r\n }\r\n\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getReceivedInvoicesList() {\r\n\r\n //if (isArch == true) {\r\n // this.listTitle = \"Archived Delegates\";\r\n // this._methodToload = this.methodName.archive;\r\n //} else {\r\n // this.listTitle = \"Delegates\";\r\n // this._methodToload = this.methodName.nonArchive;\r\n //}\r\n\r\n var req = {\r\n type: \"\"\r\n };\r\n this._financeService.getReceivedInvoicesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.invoicesList = result.data;\r\n\r\n //this.unpaidInvoicesList = this.invoicesList.filter(i => i.datePaid === null);\r\n //debugger;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n displayUnpaidInvoice: any = [];\r\n\r\n getUnpaidReceivedInvoicesList() {\r\n\r\n\r\n this._financeService.getUnpaidReceivedInvoicesList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.unpaidInvoicesList = result.data;\r\n debugger;\r\n\r\n let data = new Set(this.unpaidInvoicesList.map(item => item.name))\r\n data.forEach((name) => {\r\n this.displayUnpaidInvoice.push({\r\n name: this.unpaidInvoicesList.filter(i => i.name === name)[0].name,\r\n invoices: this.unpaidInvoicesList.filter(i => i.name === name)\r\n })\r\n })\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n gotoSuppliers() {\r\n\r\n this.gotoSuppliersList.emit();\r\n }\r\n\r\n getTotal(data) {\r\n return data.reduce((acc, obj) => acc + Number(obj.grossTotal), 0);\r\n }\r\n\r\n\r\n\r\n addNewInvoice() {\r\n const modalRef = this.modal.open(AddEditInvoiceComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n\r\n this.getReceivedInvoicesList();\r\n }, (reason) => {\r\n\r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n gotoInvoicesIssuedList() {\r\n this.gotoInvoicesIssued.emit();\r\n }\r\n\r\n gotoXeroInvoicesList() {\r\n\r\n this.gotoXeroInvoices.emit();\r\n }\r\n\r\n gotoDebtCollectionList() {\r\n this.gotoDebtCollection.emit();\r\n }\r\n\r\n gotoCreditNotesList() {\r\n this.gotoCreditNotes.emit();\r\n }\r\n\r\n \r\n printUnpaid() {\r\n setTimeout(() => {\r\n\r\n\r\n $(\"#printSection_notPaidInvoices\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.notPaidInvoices.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save('Unpaid_invoices.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#printSection_notPaidInvoices\").css(\"display\", \"none\");\r\n }, 4000);\r\n }, 1000);\r\n }\r\n\r\n\r\n markAllPaid() {\r\n\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to mark all unpaid invoices as Paid?\", title: \"Payment\" }\r\n });\r\n debugger;\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n this._financeService.markUnpaidReceivedInvoices().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getReceivedInvoicesList();\r\n this.getUnpaidReceivedInvoicesList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n //START //ACCOUNTANT REPORTS\r\n\r\n toggleFilterValue: any = \"\";\r\n accountantReportsFormValidate: boolean = false;\r\n reportName: any = \"\";\r\n displayAccountantReport: any = [];\r\n invoicesListForReport: any = [];\r\n \r\n\r\n viewAccountantReportsPopup() {\r\n this.modal.open(this.modalAccountantReports, { size: 'lg' });\r\n }\r\n\r\n updateReportName(_reportName) {\r\n this.reportName = _reportName;\r\n this.validateAccountantReportsForm();\r\n }\r\n\r\n onAccountantReportsFormSubmit() {\r\n\r\n var req = {\r\n reportName: this.reportName,\r\n quarterNumber: this.toggleFilterValue,\r\n year: Number(this.accountantReportsForm.controls.year.value)\r\n };\r\n this._financeService.getAccountantReport(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.invoicesListForReport = result.data;\r\n\r\n this.displayAccountantReport = [];\r\n\r\n\r\n this.invoicesListForReport.sort(this.sortFunction);\r\n\r\n let data = new Set(this.invoicesListForReport.map(item => item.supplierName))\r\n data.forEach((supplierName) => {\r\n\r\n this.displayAccountantReport.push({\r\n supplier: this.invoicesListForReport.filter(i => i.supplierName === supplierName)[0].supplierName,\r\n invoices: this.invoicesListForReport.filter(i => i.supplierName === supplierName)\r\n })\r\n })\r\n\r\n this.displayAccountantReport.forEach((value) => {\r\n value.invoices.sort(this.sortDatesFunction);\r\n });\r\n debugger;\r\n\r\n \r\n \r\n\r\n //DOWNLOADING REPORT\r\n\r\n setTimeout(() => {\r\n $(\"#printSection_accountantReport\").css(\"display\", \"block\");\r\n window.print();\r\n $(\"#printSection_accountantReport\").css(\"display\", \"none\");\r\n \r\n // $(\"#printSection_accountantReport\").css(\"display\", \"block\");\r\n\r\n // let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n // pdf.setFontSize(8);\r\n\r\n // pdf.html(this.printAccountantReport.nativeElement, {\r\n\r\n // callback: (pdf) => {\r\n // pdf.save(this.reportName + '.pdf');\r\n // },\r\n // margin: [15, 15, 15, 15],\r\n // autoPaging: 'text',\r\n // x: 25,\r\n // y: 25,\r\n // width: 350, //target width in the PDF document\r\n // windowWidth: 675 //window width in CSS pixels\r\n // })\r\n\r\n // setTimeout(() => {\r\n // $(\"#printSection_accountantReport\").css(\"display\", \"none\");\r\n // }, 4000);\r\n }, 6000);\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n this.modal.dismissAll();\r\n\r\n this.resetAccountantReportsForm();\r\n }\r\n\r\n sortDatesFunction(a, b) {\r\n var dateA = new Date(a.invoiceDate).getTime();\r\n var dateB = new Date(b.invoiceDate).getTime();\r\n return dateA > dateB ? 1 : -1;\r\n };\r\n\r\n sortFunction(a, b) {\r\n var dataA = a.supplierName; // new Date(a.month).getTime();\r\n var dataB = b.supplierName; // new Date(b.month).getTime();\r\n return dataA > dataB ? 1 : -1;\r\n };\r\n\r\n resetAccountantReportsForm() {\r\n this.toggleFilterValue == \"\";\r\n this.reportName == \"\";\r\n }\r\n\r\n getFilterToggleValue(val: any) {\r\n this.toggleFilterValue = val;\r\n this.validateAccountantReportsForm();\r\n }\r\n\r\n validateAccountantReportsForm() {\r\n\r\n if (this.toggleFilterValue == \"\"\r\n || this.reportName == \"\")\r\n this.accountantReportsFormValidate = false;\r\n else\r\n this.accountantReportsFormValidate = true;\r\n\r\n }\r\n //END //ACCOUNTANT REPORTS\r\n}\r\n","\n
\n\n
\n
\n
\n
\n \n
\n\n
\n

\n Remittance Advice\n

\n
\n
\n

\n {{ currentInvoice.supplierName }}\n

\n
\n
\n
\n\n
\n
\n

\n Act Now Training Ltd\n

\n Annexe 2, Suite 45,\n
\n Batley Business Park,\n
\n Technology Drive, Batley\n
\n West Yorkshire, WF17 6ER\n
\n Tel: 01924 470252\n
\n Email: info@actnow.org.uk\n

\n

\n
\n \n
\n\n \n \n \n \n \n \n \n
Invoice number (Invoice date)Date paidPayment methodAmount
\n\n \n \n \n \n \n \n \n
{{currentInvoice.invoiceNumber}} ({{currentInvoice.invoiceDate | date:'dd-MM-yy'}}){{currentInvoice.datePaid | date:'dd-MM-yy'}}{{currentInvoice.paymentMethod}}£{{currentInvoice.grossTotal}}
\n\n \n \n \n \n
Total     £{{currentInvoice.grossTotal}}
\n\n
\n
\n\n\n
\n
\n
\n
\n
\n \n
\n\n
\n
\n\n
\n
\n

\n Unpaid Invoices\n

\n\n
\n {{_date | date : 'dd-MM-yy'}}\n
\n
\n
\n\n\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
{{_invoice.name}}
\n
\n\n \n \n \n \n \n \n\n
Invoice date: {{inv.invoiceDate | date:'dd-MM-yy'}}Invoice number: {{inv.invoiceNumber}}Amount: £{{inv.grossTotal}}
\n
Bank: {{_invoice.invoices[0].bankName}}Account number: {{_invoice.invoices[0].accountNumber}}Sort code: {{_invoice.invoices[0].sortCode}}Total: £{{getTotal(_invoice.invoices)}}
\n\n\n
\n\n
\n\n\n\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n

\n {{reportName}}\n

\n\n
\n {{_date | date : 'dd-MM-yy'}}\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n\n
\n
{{_invoice.supplier}}
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
Invoice dateInvoice No.NetVATAmountDate PaidPayment Method
{{inv.invoiceDate | date:'dd-MM-yy'}}{{inv.invoiceNumber}}£{{inv.netTotal}}£{{inv.vat}}£{{inv.grossTotal}}{{inv.datePaid | date : 'dd-MM-yy'}}{{inv.paymentMethod}}
\n\n
\n\n
\n
\n\n\n\n\n\n\n\n\n\n
\n
\n\n

\n Received Invoices\n

\n\n
\n
\n\n
\n\n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n
\n
Accountant Reports
\n
\n
\n
\n
\n \n \n Invoices Received\n \n
\n \n
\n\n \n\n \n Q1\n Q2\n Q3\n Q4\n \n \n
\n\n
\n \n\n
\n \n\n
\n
\n\n
\n\n\n\n
\n\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-supplier-actions',\n template: `edit\n delete`,\n styleUrls: ['./supplier-actions.component.css']\n})\nexport class SupplierActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { FinanceService } from '../../../../common/_services/finance-services';\r\nimport { DeleteComponent } from '../../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-supplier-clickable-parent',\r\n template: ``,\r\n styleUrls: ['./supplier-clickable-parent.component.css']\r\n})\r\nexport class SupplierClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n //\r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.courseId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(//private _router: Router,\r\n //private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _financeService: FinanceService\r\n ) {\r\n\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n //\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n this.params.context.componentParent.openModal(this.params.data);\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(this.params.data.supplierId);\r\n\r\n }\r\n\r\n\r\n delete(id: any) {\r\n\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (id > 0) {\r\n this._financeService.deleteSupplier(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.params.context.componentParent.getSuppliersList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport previousDay from 'date-fns/esm/previousDay/index';\r\nimport jsPDF from 'jspdf';\r\nimport { regExpressions } from '../../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../../common/_services/common-service.service';\r\nimport { CoursesService } from '../../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../../common/_services/delegate-services';\r\nimport { FinanceService } from '../../../../common/_services/finance-services';\r\nimport { DeleteComponent } from '../../../../shared/_components/delete/delete.component';\r\nimport { ButtonRendererComponent } from '../../../courses/course-actions/button-renderer/button-renderer.component';\r\nimport { AddEditInvoiceComponent } from '../../add-edit-invoice/add-edit-invoice.component';\r\nimport { AddEditSupplierComponent } from '../../add-edit-supplier/add-edit-supplier.component';\r\nimport { InvoiceReceivedClickableParentComponent } from '../../invoices-received/invoice-received-clickable-parent/invoice-received-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-supplier-details',\r\n templateUrl: './supplier-details.component.html',\r\n styleUrls: ['./supplier-details.component.css']\r\n})\r\nexport class SupplierDetailsComponent implements OnInit {\r\n\r\n loading = false;\r\n @Input() supplierId: any;\r\n\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n paginationPageSize: any = 10;\r\n public _refDialog: any;\r\n frameworkComponents: any;\r\n currentInvoice: any = [];\r\n _params: any;\r\n _supplierId: any = 0;\r\n currentSupplier: any;\r\n invoices: any;\r\n _totalValue: any;\r\n\r\n _paramOut = {\r\n showReceivedInvoices: false,\r\n showSuppliers: false,\r\n id: 0\r\n }\r\n\r\n @Output() backNavigation = new EventEmitter();\r\n @Output() gotoSuppliersList = new EventEmitter();\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n\r\n\r\n constructor(private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _financeService: FinanceService,\r\n private route: ActivatedRoute,\r\n private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _route: Router,\r\n private _commonService: CommonServiceService,\r\n private formBuilder: FormBuilder) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n rowClass: 'grid-row',\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n this._route.routeReuseStrategy.shouldReuseRoute = () => false;\r\n\r\n\r\n this.frameworkComponents = {\r\n buttonRenderer: ButtonRendererComponent,\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.supplierId) {\r\n this._supplierId = this.supplierId;\r\n\r\n if (Number(this._supplierId) > 0) {\r\n this.getSupplierData();\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'invoiceDate', headerName: 'Issue Date', valueFormatter: this.convertStringToDate },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number' },\r\n { field: 'supplierName', headerName: 'From' },\r\n {\r\n field: 'grossTotal', headerName: 'Total Amount',\r\n cellRenderer: params => this.currencyFormatter(params.value),\r\n },\r\n {\r\n field: 'paymentMethod', headerName: 'Transaction Type',\r\n cellRenderer: params => params.value == null ? \"-\" : params.value,\r\n },\r\n { field: 'datePaid', headerName: 'Paid On', cellRenderer: this.reconcileCellRendererFunc, valueFormatter: this.convertStringToDate },\r\n {\r\n field: 'Action', cellRendererFramework: InvoiceReceivedClickableParentComponent,\r\n sortable: false, filter: false, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n },\r\n //{\r\n // headerName: '',\r\n // cellRenderer: 'buttonRenderer',\r\n // cellRendererParams: {\r\n // onClick: this.openModal.bind(this),\r\n // label: 'edit'\r\n // },\r\n // width: 10\r\n\r\n //},\r\n //{\r\n // headerName: '',\r\n // cellRenderer: 'buttonRenderer',\r\n // cellRendererParams: {\r\n // onClick: this.deleteSupplierInvoice.bind(this),\r\n // label: 'delete'\r\n // },\r\n // width: 10\r\n\r\n //}, \r\n //{\r\n // headerName: '',\r\n // cellRenderer: 'buttonRenderer',\r\n // cellRendererParams: {\r\n // onClick: this.sendInvoice.bind(this),\r\n // label: 'download'\r\n // },\r\n // width: 10\r\n\r\n //}\r\n\r\n ];\r\n\r\n // DATA FORMATTING\r\n currencyFormatter(currency) {\r\n\r\n if (currency != null) {\r\n\r\n var sansDec = currency.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return '£' + `${formatted}`;\r\n }\r\n else return '-';\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n var elm = document.querySelector(\"#invoicesReceivedGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n\r\n var elm = document.querySelector(\"#invoicesReceivedGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n\r\n //this.gotoSupplierDetails.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n getSupplierData() {\r\n\r\n if (this._supplierId != null) {\r\n this._financeService.getSupplierData(Number(this._supplierId)).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n if (result.data != null) {\r\n this.currentSupplier = result.data.supplier;\r\n this.invoices = result.data.invoices;\r\n\r\n this._totalValue = this.invoices.filter(item => item.grossTotal != null)\r\n .reduce((sum, current) => sum + current.grossTotal, 0);\r\n\r\n\r\n var sansDec = this._totalValue.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n //return `${formatted}`;\r\n\r\n this._totalValue = formatted;\r\n }\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n gotoSuppliers() {\r\n //this._paramOut.showSuppliers = true;\r\n this.gotoSuppliersList.emit();\r\n }\r\n\r\n gotoInvoicedReceived() {\r\n //this._paramOut.showReceivedInvoices = true;\r\n //this.gotoSuppliersList.emit(this._paramOut);\r\n this.gotoInvoicesReceived.emit();\r\n }\r\n\r\n addInvoice() {\r\n const modalRef = this.modal.open(AddEditInvoiceComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = this._supplierId;\r\n\r\n modalRef.result.then((result) => {\r\n\r\n this.getSupplierData();\r\n }, (reason) => {\r\n\r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getSupplierData());\r\n }\r\n\r\n openModal(param) {\r\n \r\n const modalRef = this.modal.open(AddEditInvoiceComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getSupplierData());\r\n\r\n }\r\n \r\n deleteSupplierInvoice(param) {\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n //debugger;\r\n if (param.invoiceId > 0) {\r\n this._financeService.deleteSupplierInvoice(param.invoiceId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getSupplierData();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n sendInvoice(param) {\r\n \r\n this.currentInvoice = param;\r\n setTimeout(() => {\r\n\r\n\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n\r\n pdf.setFontSize(8);\r\n\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save(param.invoiceNumber + '.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 4000);\r\n }, 1000);\r\n }\r\n\r\n goBack() {\r\n //this.gotoSuppliers();\r\n\r\n var previousPath = localStorage.getItem(\"PREVIOUS_PATH\");\r\n\r\n if (previousPath != null && previousPath != \"\" && previousPath != undefined) {\r\n if (previousPath == \"/finance/suppliers-list\")\r\n this.gotoSuppliers();\r\n else if (previousPath == \"/finance/received-invoices\")\r\n this.gotoInvoicedReceived();\r\n }\r\n\r\n this.backNavigation.emit();\r\n }\r\n\r\n editDetials(param) {\r\n\r\n const modalRef = this.modal.open(AddEditSupplierComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getSupplierData());\r\n }\r\n}\r\n","
\n\n
\n
\n
\n
\n \n
\n\n
\n

\n Remittance Advice\n

\n
\n
\n

\n {{ currentInvoice.supplierName }}\n

\n
\n
\n
\n\n
\n
\n

\n Act Now Training Ltd\n

\n Annexe 2, Suite 45,\n
\n Batley Business Park,\n
\n Technology Drive, Batley\n
\n West Yorkshire, WF17 6ER\n
\n Tel: 01924 470252\n
\n Email: info@actnow.org.uk\n

\n

\n
\n \n
\n\n \n \n \n \n \n \n \n
Invoice number (Invoice date)Date paidPayment methodAmount
\n\n \n \n \n \n \n \n \n
{{currentInvoice.invoiceNumber}} ({{currentInvoice.invoiceDate | date:'dd-MM-yy'}}){{currentInvoice.datePaid | date:'dd-MM-yy'}}{{currentInvoice.paymentMethod}}£{{currentInvoice.grossTotal}}
\n\n \n \n \n \n
Total     £{{currentInvoice.grossTotal}}
\n\n \n\n
\n
\n\n\n\n\n\n
\n
\n\n

\n Supplier DETAILS\n

\n\n
\n
\n\n \n\n \n\n
\n\n
\n\n\n
\n
\n
\n
\n\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n \n
\n
\n
\n\n
\n\n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n
\n
\n
\n\n\n
\n\n\n
\n
\n\n \n\n\n \n\n
\n\n\n\n \n \n\n
\n
\n
\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\n//import { ProductClickableParentComponent } from '../../product/product-clickable-parent/product-clickable-parent.component';\r\nimport { AddEditSupplierComponent } from '../add-edit-supplier/add-edit-supplier.component';\r\nimport { SupplierClickableParentComponent } from './supplier-clickable-parent/supplier-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-suppliers',\r\n templateUrl: './suppliers.component.html',\r\n styleUrls: ['./suppliers.component.css']\r\n})\r\nexport class SuppliersComponent implements OnInit {\r\n\r\n suppliersList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n _params: any;\r\n _code: any;\r\n _state: any;\r\n\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"Suppliers\";\r\n paginationPageSize: any = 10;\r\n\r\n _paramOut = {\r\n showReceivedInvoices: false, id: 0\r\n }\r\n\r\n //@Output() gotoInvoicesReceived = new EventEmitter();\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n @Output() gotoSupplierDetails = new EventEmitter();\r\n @Output() gotoInvoicesIssued = new EventEmitter();\r\n @Output() gotoDebtCollection = new EventEmitter();\r\n @Output() gotoCreditNotes = new EventEmitter();\r\n @Output() gotoXeroInvoices = new EventEmitter();\r\n\r\n public columnDefs: ColDef[] = [\r\n //{ field: 'dateAdded', headerName: 'Added Date', width: 200, valueFormatter: this.convertStringToDate },\r\n { field: 'name', headerName: 'Supplier Name', width: 200 },\r\n { field: 'email', headerName: 'Email', width: 225, cellRenderer: this.emptyReplacement },\r\n { field: 'city', headerName: 'City', cellRenderer: this.emptyReplacement },\r\n { field: 'postCode', headerName: 'Postcode', cellRenderer: this.emptyReplacement },\r\n { field: 'bankName', headerName: 'Bank Name', cellRenderer: this.emptyReplacement },\r\n {\r\n field: 'Action', cellRendererFramework: SupplierClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n emptyReplacement(params) {\r\n\r\n if (params.value != null && params.value != \"\") {\r\n return params.value;\r\n }\r\n else return \"-\";\r\n }\r\n\r\n\r\n public rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private route: ActivatedRoute,\r\n private _commonService: CommonServiceService,\r\n private _financeService: FinanceService\r\n ) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n rowClass: 'grid-row',\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#supplierGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#supplierGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n if (e.colDef.field != \"Action\") {\r\n this.gotoSupplierDetails.emit(e.data);\r\n }\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n \r\n\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getSuppliersList();\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n\r\n getSuppliersList() {\r\n\r\n this._financeService.getSuppliersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.suppliersList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNewSupplier() {\r\n const modalRef = this.modal.open(AddEditSupplierComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n \r\n this.getSuppliersList();\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n\r\n const modalRef = this.modal.open(AddEditSupplierComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getSuppliersList());\r\n }\r\n\r\n gotoInvoicesReceivedList() {\r\n //this._paramOut.showReceivedInvoices = true;\r\n //this._paramOut.id = 0\r\n //this.gotoInvoicesReceived.emit(this._paramOut);\r\n\r\n this.gotoInvoicesReceived.emit();\r\n }\r\n\r\n gotoXeroInvoicesList() {\r\n \r\n this.gotoXeroInvoices.emit();\r\n }\r\n\r\n gotoInvoicesIssuedList() {\r\n this.gotoInvoicesIssued.emit();\r\n }\r\n\r\n gotoDebtCollectionList() {\r\n this.gotoDebtCollection.emit();\r\n }\r\n\r\n gotoCreditNotesList() {\r\n this.gotoCreditNotes.emit();\r\n }\r\n\r\n}\r\n","\n\n\n
\n
\n\n

\n {{listTitle}}\n

\n\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n\n \n \n\n\n\n\n\n\n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { XeroInvoiceStatus } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { ButtonRendererComponent } from '../../courses/course-actions/button-renderer/button-renderer.component';\r\nimport { CheckboxRendererComponent } from '../../courses/course-actions/checkbox-renderer/checkbox-renderer.component';\r\n\r\n@Component({\r\n selector: 'app-xero-invoices',\r\n templateUrl: './xero-invoices.component.html',\r\n styleUrls: ['./xero-invoices.component.css']\r\n})\r\nexport class XeroInvoicesComponent implements OnInit {\r\n\r\n public _refDialog: any;\r\n\r\n invoicesList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n _params: any;\r\n _code: any;\r\n _state: any;\r\n currentDate = new Date();\r\n start_date: any = new Date(new Date().setDate(this.currentDate.getDate() - 30));\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"Xero Invoices\";\r\n paginationPageSize: any = 10;\r\n\r\n toggleFilterValue: any = 0;\r\n filterToggleAll: boolean = true;\r\n filterToggleDraft: boolean = false;\r\n\r\n isSelectAll: boolean = false;\r\n selectAllText: any = \"Select All\";\r\n\r\n invoiceNumbers: any[] = [];\r\n\r\n frameworkComponents: any;\r\n\r\n _paramOut = {\r\n showReceivedInvoices: false,\r\n showSuppliers: false,\r\n id: 0\r\n }\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n @Output() gotoCreditNotes = new EventEmitter();\r\n @Output() gotoInvoicesIssued = new EventEmitter();\r\n\r\n\r\n constructor(private _dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private _financeService: FinanceService,\r\n private _commonService: CommonServiceService) {\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n rowClass: 'grid-row',\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n\r\n this.frameworkComponents = {\r\n checkboxRenderer: CheckboxRendererComponent,\r\n buttonRenderer: ButtonRendererComponent,\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n this._params = { ...params.keys, ...params };\r\n this._code = this._params.params.code;\r\n this._state = this._params.params.state;\r\n });\r\n\r\n if (this._code != null && this._code != undefined\r\n && this._code != \"null\" != Number.isNaN(this._code)) {\r\n\r\n }\r\n\r\n this.getXeroInvoices();\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n }\r\n\r\n public columnDefs: ColDef[] = [\r\n //{ field: 'dateAdded', headerName: 'Added Date', width: 200, valueFormatter: this.convertStringToDate },\r\n {\r\n field: '',\r\n headerName: \"\",\r\n cellRenderer: 'checkboxRenderer',\r\n cellRendererParams: {\r\n onClick: this.selectInvoiceToUpdate.bind(this)\r\n },\r\n headerClass: \"pull-center\",\r\n width: 75\r\n\r\n },\r\n { field: 'contact.name', headerName: 'To', cellRenderer: this.emptyReplacement, resizable: true },\r\n { field: 'date', headerName: 'Date', width: 225, valueFormatter: this.convertStringToDate, resizable: true },\r\n { field: 'dueDate', headerName: 'Due Date', valueFormatter: this.convertStringToDate, resizable: true },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number', width: 200, resizable: true },\r\n { field: 'reference', headerName: 'PO Number', cellRenderer: this.emptyReplacement, resizable: true },\r\n { field: 'subTotal', headerName: 'Sub Total', cellRenderer: params => this.currencyFormatter(params.value), resizable: true },\r\n { field: 'totalTax', headerName: 'VAT', cellRenderer: params => this.currencyFormatter(params.value), resizable: true },\r\n { field: 'amountDue', headerName: 'Due', cellRenderer: params => this.currencyFormatter(params.value), resizable: true },\r\n { field: 'status', headerName: 'Status', valueFormatter: this.getStatus, resizable: true },\r\n { field: 'fullyPaidOnDate', headerName: 'Payment Date', valueFormatter: this.convertStringToDate, resizable: true },\r\n { field: 'sentToContact', headerName: 'Sent', cellRenderer: this.boolReplacement, resizable: true },\r\n {\r\n field: 'Action', cellRenderer: 'buttonRenderer',\r\n cellRendererParams: {\r\n onClick: this.syncIndividualInvoice.bind(this),\r\n label: 'sync'\r\n }\r\n },\r\n //{\r\n // field: 'Action', cellRendererFramework: SupplierClickableParentComponent,\r\n // sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n //}\r\n ];\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n }\r\n else return \"\";\r\n }\r\n\r\n getStatus(params) {\r\n return XeroInvoiceStatus[params.value];\r\n }\r\n\r\n // CURRENCY FORMATTING\r\n currencyFormatter(currency) {\r\n if (currency != null) {\r\n var sansDec = currency.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return '£' + `${formatted}`;\r\n }\r\n else return '-';\r\n }\r\n\r\n emptyReplacement(params) {\r\n\r\n if (params.value != null && params.value != \"\") {\r\n return params.value;\r\n }\r\n else return \"-\";\r\n }\r\n\r\n boolReplacement(params) {\r\n\r\n if (params.value == true) {\r\n return \"Sent\";\r\n }\r\n else return \"-\";\r\n }\r\n\r\n\r\n public rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n selectInvoiceToUpdate(param) {\r\n //debugger;\r\n if (param.action == true) {\r\n var req = {};\r\n\r\n req = {\r\n InvoiceNumber: param.rowData.invoiceNumber,\r\n Status: \"\" + param.rowData.status,\r\n InvoicePaidDate: param.rowData.fullyPaidOnDate\r\n };\r\n\r\n this.invoiceNumbers.push(req);\r\n }\r\n else {\r\n var key = param.rowData.invoiceNumber;\r\n\r\n var __key = this.invoiceNumbers.find(({ InvoiceNumber }) => InvoiceNumber === key);\r\n\r\n const index = this.invoiceNumbers.indexOf(__key, 0);\r\n if (index > -1) {\r\n this.invoiceNumbers.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n syncInvoices() {\r\n\r\n }\r\n\r\n syncIndividualInvoice(param) {\r\n \r\n if (this.invoiceNumbers.length > 0)\r\n this.invoiceNumbers.forEach((item, index) => {\r\n $(\"#\" + item.InvoiceNumber).prop(\"checked\", false);\r\n });\r\n\r\n this.invoiceNumbers = [];\r\n\r\n var req = {};\r\n\r\n req = {\r\n InvoiceNumber: param.data.invoiceNumber,\r\n Status: \"\" + param.data.status,\r\n InvoicePaidDate: this.adjustDateForTimeOffset(new Date(param.data.fullyPaidOnDate))\r\n };\r\n //debugger;\r\n this.invoiceNumbers.push(req);\r\n\r\n this.syncData();\r\n }\r\n\r\n \r\n\r\n syncData() {\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to reconcile this invoice?\", title: \"Reconcile\" }\r\n });\r\n \r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n this._financeService.updateInvoiceFromXero(this.invoiceNumbers).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this._commonService.success(result.message);\r\n\r\n this.getXeroInvoices();\r\n\r\n } else {\r\n //show error popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n\r\n \r\n \r\n\r\n }\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#supplierGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#supplierGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: '', model: '', price: 0 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n if (e.colDef.field != \"Action\") {\r\n //this.gotoSupplierDetails.emit(e.data);\r\n }\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n \r\n if (event.value != null) {\r\n //this.start_date = new Date(event.value);\r\n //this.start_date.setDate(event.value.getDate());\r\n //this.start_date.setMonth(event.value.getMonth());\r\n //this.start_date.setFullYear(event.value.getFullYear());\r\n //this.start_date.setHours(0, 0, 0, 0);\r\n\r\n this.start_date = this.adjustDateForTimeOffset(event.value);\r\n\r\n // call filter\r\n this.onSubmit();\r\n }\r\n\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n getXeroInvoices() {\r\n\r\n var req = {\r\n code: this._code,\r\n state: this._state,\r\n filter: Number(this.toggleFilterValue),\r\n filterDate: this.start_date\r\n }\r\n\r\n this._financeService.GetXeroInvoices(req).subscribe((result: any) => {\r\n //debugger;\r\n if (result.success == true) {\r\n if (result.message != \"\" && result.message != null) {\r\n // open the xero login window\r\n //this._route.navigate(result.message);\r\n window.open(result.message, \"_self\");\r\n //window.location.replace(result.message);\r\n }\r\n else if (result.data != null) {\r\n this.invoicesList = result.data;\r\n }\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n toggleSelectAll(): void {\r\n this.isSelectAll = !this.isSelectAll;\r\n this.selectAllText = this.isSelectAll ? 'Deselect all' : 'Select all';\r\n\r\n this.selectAll(this.isSelectAll);\r\n \r\n }\r\n \r\n\r\n \r\n\r\n getFilterToggleValue(val: any) {\r\n \r\n this.filterToggleAll = false;\r\n //this.toggleFilterValue = val;\r\n\r\n if (val == 'all')\r\n this.toggleFilterValue = XeroInvoiceStatus.ALL;\r\n else if (val == 'Draft')\r\n this.toggleFilterValue = XeroInvoiceStatus.DRAFT;\r\n else if (val == 'Awaiting Approval')\r\n this.toggleFilterValue = XeroInvoiceStatus.SUBMITTED;\r\n else if (val == 'Awaiting Payment')\r\n this.toggleFilterValue = XeroInvoiceStatus.AUTHORISED;\r\n else if (val == 'Paid')\r\n this.toggleFilterValue = XeroInvoiceStatus.PAID;\r\n\r\n\r\n // call filter\r\n this.onSubmit();\r\n }\r\n\r\n onSubmit() {\r\n if (this.start_date != null)\r\n this.getXeroInvoices();\r\n }\r\n\r\n \r\n\r\n gotoSuppliersList() {\r\n this._paramOut.showReceivedInvoices = false;\r\n this._paramOut.id = 0;\r\n this._paramOut.showSuppliers = true;\r\n this.gotoInvoicesReceived.emit(this._paramOut);\r\n }\r\n\r\n gotoInvoicesIssuedList() {\r\n this.gotoInvoicesIssued.emit();\r\n }\r\n\r\n gotoInvoicesReceivedList() {\r\n this._paramOut.showReceivedInvoices = true;\r\n this._paramOut.id = 0;\r\n this._paramOut.showSuppliers = false;\r\n this.gotoInvoicesReceived.emit(this._paramOut);\r\n }\r\n\r\n gotoCreditNotesList() {\r\n this.gotoCreditNotes.emit();\r\n }\r\n\r\n selectAll(action) {\r\n\r\n\r\n if (action) {\r\n if (this.invoicesList.length > 0)\r\n this.invoicesList.forEach((item, index) => {\r\n $(\"#\" + item.invoiceNumber).prop(\"checked\", true);\r\n this.selectInvoiceToUpdate(\r\n { action: true, rowData: item }\r\n );\r\n });\r\n }\r\n else {\r\n this.invoiceNumbers = [];\r\n\r\n if (this.invoicesList.length > 0)\r\n this.invoicesList.forEach((item, index) => {\r\n $(\"#\" + item.invoiceNumber).prop(\"checked\", false);\r\n });\r\n }\r\n\r\n }\r\n}\r\n","\n\n\n
\n
\n\n

\n {{listTitle}}\n

\n\n
\n
\n\n \n\n
\n\n \n Start from\n \n \n \n \n\n \n Paid\n \n \n\n\n\n \n\n \n \n\n \n \n \n \n \n \n \n
\n\n\n \n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\n//import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n//import { ActivatedRoute, Router } from '@angular/router';\r\n//import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n//import { regExpressions } from '../../../common/validation/messages';\r\n//import { CoursesService } from '../../../common/_services/courses-services';\r\n//import { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-inhouse',\r\n templateUrl: './add-edit-inhouse.component.html',\r\n styleUrls: ['./add-edit-inhouse.component.css']\r\n})\r\nexport class AddEditInhouseComponent implements OnInit {\r\n\r\n start_d1: any = new Date();\r\n submitted = false;\r\n public _title = \"Add Training\";\r\n public locationsList: any;\r\n inhouseEditForm: FormGroup;\r\n _params: any;\r\n _inhouseId: any = 0;\r\n currentInhouse: any;\r\n organisationId: any = 0;\r\n\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _route: Router,\r\n private route: ActivatedRoute) {\r\n\r\n\r\n this.organisationId = 0;\r\n\r\n //this.route.queryParamMap\r\n // .subscribe((params) => {\r\n // this._params = { ...params.keys, ...params };\r\n // this.organisationId = this._params.params.organisationId\r\n // });\r\n\r\n\r\n //if (this.organisationId == null || this.organisationId == undefined\r\n // || this.organisationId == \"null\" || Number.isNaN(this.organisationId)) {\r\n // this.organisationId = 0; // user will add new delegate\r\n //}\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = true;\r\n\r\n this.inhouseEditForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n postcode: [''],\r\n telephone: [''],\r\n email: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n\r\n invoiceName: ['', Validators.required],\r\n invoiceAddress: ['', Validators.required],\r\n invoiceTelephone: [''],\r\n purchaseOrder: [''],\r\n invoiceEmail: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n invoice_date: [this.start_d1.value, Validators.required],\r\n });\r\n\r\n\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n this.organisationId = this.data.organisationId;\r\n }\r\n else {\r\n this.isNew = false;\r\n \r\n\r\n this._inhouseId = this.data.inHouseId;\r\n\r\n\r\n if (Number(this._inhouseId) > 0) {\r\n \r\n this.currentInhouse = this.data;\r\n this.populateForm();\r\n\r\n this.organisationId = this.currentInhouse.organisationId;\r\n \r\n }\r\n\r\n\r\n if (this.data.inHouseId == undefined) {\r\n this.organisationId = this.data.organisationId;\r\n this._inhouseId = 0;\r\n }\r\n\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n \r\n if (event.value != null) {\r\n\r\n this.start_d1 = new Date(event.value);\r\n this.start_d1.setDate(event.value.getDate());\r\n this.start_d1.setMonth(event.value.getMonth());\r\n this.start_d1.setFullYear(event.value.getFullYear());\r\n\r\n }\r\n\r\n }\r\n\r\n get f() { return this.inhouseEditForm.controls; }\r\n\r\n populateForm() {\r\n if (this.currentInhouse != null) {\r\n\r\n this._title = \"Edit Training\";\r\n\r\n this.inhouseEditForm.controls.name.setValue(this.currentInhouse.contactName);\r\n //this.inhouseEditForm.controls.organization.setValue(this.currentInhouse.organisation); \r\n this.inhouseEditForm.controls.address1.setValue(this.currentInhouse.contactAddress);\r\n this.inhouseEditForm.controls.postcode.setValue(this.currentInhouse.postcode);\r\n this.inhouseEditForm.controls.telephone.setValue(this.currentInhouse.telephone);\r\n this.inhouseEditForm.controls.email.setValue(this.currentInhouse.email);\r\n\r\n this.inhouseEditForm.controls.invoiceName.setValue(this.currentInhouse.invoiceName);\r\n this.inhouseEditForm.controls.invoiceAddress.setValue(this.currentInhouse.invoiceAddress);\r\n this.inhouseEditForm.controls.invoiceTelephone.setValue(this.currentInhouse.invoiceTelephone);\r\n this.inhouseEditForm.controls.purchaseOrder.setValue(this.currentInhouse.purchaseOrder);\r\n this.inhouseEditForm.controls.invoiceEmail.setValue(this.currentInhouse.invoiceEmail);\r\n //this.inhouseEditForm.controls.invoice_date.setValue(this.currentInhouse.InvoiceDate);\r\n \r\n this.start_d1 = new Date(this.currentInhouse.invoiceDate);\r\n }\r\n }\r\n\r\n\r\n\r\n onSubmit() {\r\n\r\n //if (Number(this.organisationId) > 0) {\r\n var req = {\r\n\r\n request: {\r\n InHouseId: Number(this._inhouseId),\r\n ContactName: this.inhouseEditForm.controls.name.value,\r\n OrganisationId: Number(this.organisationId),// this.inhouseEditForm.controls.organization.value,\r\n ContactAddress: this.inhouseEditForm.controls.address1.value,\r\n //address2: this.inhouseEditForm.controls.address2.value,\r\n Postcode: this.inhouseEditForm.controls.postcode.value,\r\n Telephone: this.inhouseEditForm.controls.telephone.value,\r\n Email: this.inhouseEditForm.controls.email.value,\r\n //ExpectedTrainingDate: this.inhouseEditForm.controls.startDate_day1.value\r\n InvoiceName: this.inhouseEditForm.controls.invoiceName.value,\r\n InvoiceAddress: this.inhouseEditForm.controls.invoiceAddress.value,\r\n InvoiceTelephone: this.inhouseEditForm.controls.invoiceTelephone.value,\r\n PurchaseOrder: this.inhouseEditForm.controls.purchaseOrder.value,\r\n InvoiceEmail: this.inhouseEditForm.controls.invoiceEmail.value,\r\n InvoiceDate: this.start_d1 //this.inhouseEditForm.controls.invoice_date.value\r\n\r\n\r\n }\r\n };\r\n\r\n this._delegateService.insertInhouse(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n //}\r\n //else {\r\n // alert(\"Invalid organisation\");\r\n //}\r\n\r\n }\r\n\r\n close() { }\r\n\r\n //delete(id) {\r\n\r\n // if (id > 0) {\r\n // this._delegateService.deleteDelegate(id).subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n\r\n\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n // }\r\n //}\r\n\r\n //gotoMainMenu(tab) {\r\n // if (tab.index == 0) {\r\n // this._route.navigateByUrl(\"/courses/all-courses\");\r\n // }\r\n // else if (tab.index == 2) {\r\n // this._route.navigateByUrl(\"/schedule\");\r\n // }\r\n //}\r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n\n\n
\n \n \n \n\n
\n\n
\n\n \n\n\n \n \n
\n\n
\n\n \n \n
\n
{{errors.postcode}}
\n
\n
\n\n
\n \n \n\n
\n\n\n\n\n\n\n \n\n
\n
\n

Invoice Details

\n
\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n\n
\n \n \n
\n
{{errors.email}}
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n Invoice Date\n \n \n \n \n
\n
\n\n\n
\n \n\n
\n \n
\n
\n\n
\n\n \n
\n\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { AddEditInhouseComponent } from '../add-edit-inhouse/add-edit-inhouse.component';\r\nimport { AddEditOrganisationComponent } from '../organisations/add-edit-organisation/add-edit-organisation.component';\r\n\r\n@Component({\r\n selector: 'app-inhouse-detail',\r\n templateUrl: './inhouse-detail.component.html',\r\n styleUrls: ['./inhouse-detail.component.css']\r\n})\r\nexport class InhouseDetailComponent implements OnInit {\r\n\r\n\r\n\r\n @Input() inhouseDetail: any;\r\n\r\n invoiceEditForm: FormGroup;\r\n //organisationForm: FormGroup;\r\n trainerForm: FormGroup;\r\n itemForm: FormGroup;\r\n paymentForm: FormGroup;\r\n\r\n\r\n selectedPaymentMethod: any = \"none\";\r\n\r\n currentDate: any = new FormControl(new Date());\r\n paymentDate_: any = new FormControl(new Date());\r\n reconcileDate: any = new FormControl(new Date());\r\n\r\n _reconcile: boolean = false;\r\n _xero: any;\r\n _inhouseTrainingDateId: any = 0;\r\n _inhouseItemId: any = 0;\r\n loading = false;\r\n locationsList: any;\r\n _params: any;\r\n _addEditTrainer: any = \"Add Trainer\";\r\n _organisationId: any = 0;\r\n _inhouseId: any = 0;\r\n speakersList: any;\r\n subjectsList: any;\r\n selectedTrainerId: any = 0;\r\n selectedTrainer: any = \"\";\r\n selectedSubjectId: any = 0;\r\n selectedSubject: any = \"\";\r\n submitted = false;\r\n _refDialog: any;\r\n __inhouse: any = [];\r\n tainingInhouse: any = [];\r\n currentInhouse: any = [];\r\n currentInhouseInvoiceDetails: any = [];\r\n currentInhouseTrainingDates: any = {};\r\n currentInhouseItems: any = [];\r\n inhouseCourseFeeItems: any = [];\r\n inhouseCourseCostItems: any = [];\r\n courseTotalFee: any = 0;\r\n lifeTimeValue: any = 0;\r\n courseCost: any = 0;\r\n courseExpense: any = 0;\r\n\r\n _addEditInhouseItemTitle: any = \"Add Inhouse Item\";\r\n\r\n\r\n //currentDelegate: any;\r\n\r\n @Output() backNavigation = new EventEmitter();\r\n @Output() gotoAllInhouse = new EventEmitter();\r\n @ViewChild('modalEditInvoice', { static: true }) modalContentEdit: TemplateRef;\r\n //@ViewChild('modalEditInhouse', { static: true }) modalEditInhouse: TemplateRef;\r\n @ViewChild('modalAddEditTrainer', { static: true }) modalAddEditTrainer: TemplateRef;\r\n @ViewChild('modalAddEditInhouseItem', { static: true }) modalAddEditInhouseItem: TemplateRef;\r\n @ViewChild('modalPaymentDetails', { static: true }) modalPaymentDetails: TemplateRef;\r\n\r\n\r\n constructor(private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _commonService: CommonServiceService,\r\n private route: ActivatedRoute,\r\n private modal: NgbModal,\r\n private formBuilder: FormBuilder,\r\n private _dialog: MatDialog) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n this._params = { ...params.keys, ...params };\r\n this._organisationId = this._params.params.organisationId\r\n });\r\n\r\n\r\n if (this._organisationId == null || this._organisationId == undefined\r\n || this._organisationId == \"null\" || Number.isNaN(this._organisationId)) {\r\n this._organisationId = 0; // user will add new delegate\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.inhouseDetail) {\r\n this._organisationId = this.inhouseDetail;\r\n }\r\n\r\n if (Number(this._organisationId) > 0) {\r\n this.getInhouseData();\r\n }\r\n\r\n this.invoiceEditForm = this.formBuilder.group({\r\n invoiceName: ['', Validators.required],\r\n invoiceAddress: ['', Validators.required],\r\n invoiceEmail: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n invoiceDepartment: [''],\r\n invoiceOrganisation: [''],\r\n invoiceTelephone: [''],\r\n invoiceDate: [' '],\r\n source: ['none'],\r\n });\r\n\r\n //this.organisationForm = this.formBuilder.group({\r\n // contactName: ['', Validators.required],\r\n // contactOrganisation: ['', Validators.required],\r\n // contactDepartment: [''],\r\n // contactAddress: ['', Validators.required],\r\n // contactTelephone: [''],\r\n // contactEmail: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n // contactPostcode: ['', Validators.required],\r\n // notes: ['']\r\n\r\n //});\r\n\r\n this.trainerForm = this.formBuilder.group({\r\n subject: ['none', Validators.required],\r\n trainingDate: [this.currentDate.value, Validators.required],\r\n trainer: ['none', Validators.required],\r\n fees: ['', Validators.required],\r\n expense: [''],\r\n\r\n });\r\n\r\n this.itemForm = this.formBuilder.group({\r\n itemType: ['none', Validators.required],\r\n itemDate: [this.currentDate.value, Validators.required],\r\n description: ['', Validators.required],\r\n quantity: ['', Validators.required],\r\n amount: ['', Validators.required],\r\n\r\n });\r\n\r\n this.paymentForm = this.formBuilder.group({\r\n invoiceNumber: ['', Validators.required],\r\n p_paymentDate: [this.paymentDate_.value],\r\n p_reconcileDate: [this.reconcileDate.value],\r\n source: [''],\r\n subtotal: ['', Validators.required],\r\n totalTax: ['', Validators.required],\r\n total: ['', Validators.required],\r\n chkReconcile: [false]\r\n });\r\n\r\n this.getSpeakersList();\r\n this.getSubjectsList();\r\n }\r\n\r\n goBack() {\r\n\r\n //\r\n var previousPath = localStorage.getItem(\"PREVIOUS_PATH\");\r\n\r\n if (previousPath != null && previousPath != \"\" && previousPath != undefined) {\r\n if (previousPath == \"/finance/invoices-list\") {\r\n //this._route.navigateByUrl('/finance/invoices-list?rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n this.backNavigation.emit();\r\n }\r\n else if (previousPath == \"/product/bookings?type=true\" || previousPath == \"/product/bookings?type=false\") {\r\n this.backNavigation.emit();\r\n }\r\n else {\r\n //this.gotoAllInhouse.emit();\r\n this.backNavigation.emit();\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n getSpeakersList() {\r\n this.loading = true;\r\n this._coursesService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n\r\n this.loading = false;\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.subjectsList = result.data;\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n populateInvoiceAddressForm() {\r\n if (this.currentInhouse != null) {\r\n\r\n this.invoiceEditForm.controls.invoiceName.setValue(this.currentInhouse.invoiceName);\r\n this.invoiceEditForm.controls.invoiceAddress.setValue(this.currentInhouse.invoiceAddress);\r\n this.invoiceEditForm.controls.invoiceEmail.setValue(this.currentInhouse.invoiceEmail);\r\n this.invoiceEditForm.controls.invoiceDepartment.setValue(this.currentInhouse.invoiceDepartment);\r\n this.invoiceEditForm.controls.invoiceOrganisation.setValue(this.currentInhouse.organisation);\r\n this.invoiceEditForm.controls.invoiceTelephone.setValue(this.currentInhouse.invoiceTelephone);\r\n //this.invoiceEditForm.controls.source.patchValue(this.currentInhouse.invoicePaidBy);\r\n this.selectedPaymentMethod = this.currentInhouse.invoicePaidBy;\r\n\r\n if (this.currentInhouse.invoicePaidOn != null)\r\n this.currentDate = new Date(this.currentInhouse.invoicePaidOn);\r\n }\r\n }\r\n\r\n\r\n //populateOrganisationForm() {\r\n // \r\n // if (this._organisationId != null) {\r\n\r\n // this.organisationForm.controls.contactName.setValue(this.currentInhouse.contactName);\r\n // this.organisationForm.controls.contactOrganisation.setValue(this.currentInhouse.organisationName);\r\n // this.organisationForm.controls.contactDepartment.setValue(this.currentInhouse.department);\r\n // this.organisationForm.controls.contactPostcode.setValue(this.currentInhouse.postcode);\r\n // this.organisationForm.controls.contactTelephone.setValue(this.currentInhouse.telephone);\r\n // this.organisationForm.controls.contactEmail.setValue(this.currentInhouse.contactEmail);\r\n // this.organisationForm.controls.contactAddress.setValue(this.currentInhouse.address);\r\n // this.organisationForm.controls.notes.setValue(this.currentInhouse.notes);\r\n // }\r\n //}\r\n\r\n\r\n get f() { return this.invoiceEditForm.controls; }\r\n\r\n //get p() { return this.organisationForm.controls; }\r\n\r\n get t() { return this.trainerForm.controls; }\r\n\r\n get i() { return this.itemForm.controls; }\r\n\r\n get pd() { return this.paymentForm.controls; }\r\n\r\n\r\n onInvoiceEditSubmit() {\r\n\r\n var req = {\r\n\r\n id: Number(this._inhouseId),\r\n invoiceName: this.invoiceEditForm.controls.invoiceName.value,\r\n invoiceAddress: this.invoiceEditForm.controls.invoiceAddress.value,\r\n invoiceEmail: this.invoiceEditForm.controls.invoiceEmail.value,\r\n invoiceDepartment: this.invoiceEditForm.controls.invoiceDepartment.value,\r\n invoiceOrganization: this.invoiceEditForm.controls.invoiceOrganisation.value,\r\n invoiceTelephone: this.invoiceEditForm.controls.invoiceTelephone.value,\r\n invoicePaidOn: this.invoiceEditForm.controls.invoiceDate.value,\r\n invoicePaidBy: this.invoiceEditForm.controls.source.value,\r\n };\r\n\r\n\r\n this._delegateService.updateInhouseInvoiceAddress(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.modal.dismissAll();\r\n this.getInhouseData();\r\n\r\n } else {\r\n //show error popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n //onIOrganisationEditSubmit() {\r\n\r\n // var req = {\r\n\r\n // request: {\r\n // InHouseId: Number(this._inhouseId),\r\n // ContactName: this.organisationForm.controls.contactName.value,\r\n // Organisation: this.organisationForm.controls.contactOrganisation.value,\r\n // ContactAddress: this.organisationForm.controls.contactAddress.value,\r\n // Department: this.organisationForm.controls.contactDepartment.value,\r\n // Postcode: this.organisationForm.controls.contactPostcode.value,\r\n // Telephone: this.organisationForm.controls.contactTelephone.value,\r\n // Email: this.organisationForm.controls.contactEmail.value,\r\n // notes: this.organisationForm.controls.notes.value\r\n // }\r\n // };\r\n\r\n // this._delegateService.updateInhouse(req).subscribe((result: any) => {\r\n\r\n\r\n // if (result.success == true) {\r\n\r\n // this.modal.dismissAll();\r\n // this.getInhouseData();\r\n\r\n // } else {\r\n // //show errror popup\r\n\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n\r\n //}\r\n\r\n //applyTax(d: any) {\r\n // var tax = (d * 20) / 100;\r\n // this.trainerForm.controls.totalTax.setValue(tax);\r\n // this.trainerForm.controls.total.setValue(Number(d) + Number(tax));\r\n //}\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n\r\n if (event.value != null) {\r\n //\r\n //this.paymentDate_ = new Date(event.value);\r\n //this.paymentDate_.setFullYear(event.value.getFullYear());\r\n //this.paymentDate_.setDate(event.value.getDate());\r\n //this.paymentDate_.setMonth(event.value.getMonth());\r\n //this.paymentDate_.setHours(0, 0, 0, 0);\r\n\r\n //this.paymentDate = event.value\r\n //this.paymentDate.setDate(event.value.getDate());\r\n // console.log(event.value)\r\n\r\n this.paymentDate_ = this.adjustDateForTimeOffset(event.value);\r\n }\r\n }\r\n\r\n dateEvent(event: MatDatepickerInputEvent) {\r\n\r\n if (event.value != null) {\r\n\r\n this.currentDate = this.adjustDateForTimeOffset(event.value);\r\n }\r\n }\r\n\r\n adjustDateForTimeOffset(dateToAdjust) {\r\n \r\n var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;\r\n return new Date(dateToAdjust.getTime() - offsetMs);\r\n }\r\n\r\n reconcileDateEvent(event: MatDatepickerInputEvent) {\r\n if (event.value != null) {\r\n //\r\n //this.reconcileDate = new Date(event.value);\r\n //this.reconcileDate.setDate(event.value.getDate());\r\n //this.reconcileDate.setMonth(event.value.getMonth());\r\n //this.reconcileDate.setFullYear(event.value.getFullYear());\r\n\r\n //this.reconcileDate.setDate(event.value.getDate());\r\n // console.log(event.value)\r\n\r\n this.reconcileDate = this.adjustDateForTimeOffset(event.value);\r\n }\r\n }\r\n\r\n onPaymentSubmit() {\r\n\r\n \r\n var req = {\r\n\r\n request: {\r\n InHouseId: Number(this._inhouseId),\r\n InvoiceNumber: this.paymentForm.controls.invoiceNumber.value,\r\n InvoicePaidBy: this.paymentForm.controls.source.value,\r\n NetTotal: \"\" + this.paymentForm.controls.subtotal.value,\r\n Vatrate: \"\" + this.paymentForm.controls.totalTax.value,\r\n GrossTotal: \"\" + this.paymentForm.controls.total.value,\r\n InvoicePaidOn: this.paymentDate_,// this.paymentForm.controls.p_paymentDate.value,\r\n ReconcileDate: this.reconcileDate, // this.paymentForm.controls.p_paymentDate.value,\r\n Paid: this.paymentForm.controls.chkReconcile.value,\r\n\r\n }\r\n };\r\n\r\n this._delegateService.updateInhousePaid(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.paymentForm.reset();\r\n\r\n this.modal.dismissAll();\r\n this.getInhouseData();\r\n\r\n } else {\r\n //show errror popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n\r\n\r\n\r\n\r\n //req = {\r\n // courseId: this._courseId,\r\n // delegateId: this._delegateId,\r\n // InvoiceNumber: this.paymentForm.controls.invoiceNumber.value,\r\n // InvoicePaidDate: this.paymentForm.controls.p_paymentDate.value,\r\n // InvoicePaidBy: this.paymentForm.controls.source.value,\r\n // SubTotal: \"\" + this.paymentForm.controls.subtotal.value,\r\n // TotalTax: \"\" + this.paymentForm.controls.totalTax.value,\r\n // //IsInvoicePaid: this._xero.target.checked,\r\n // IsReconcile: this.paymentForm.controls.reconcile.value,\r\n // CurrencyCode: \"GBP\",\r\n // bookingId: this._bookingId,\r\n // isFoundationCert: this._isFoundationCert,\r\n // FC_bookingIds: this._FC_bookingId\r\n //};\r\n\r\n\r\n\r\n\r\n //this._coursesService.updateDelegatePayment(req).subscribe((result: any) => {\r\n\r\n\r\n // if (result.success == true) {\r\n\r\n // this.paymentForm.reset();\r\n\r\n // this.paymentForm.controls.source.patchValue(\"none\");\r\n // this.modal.dismissAll();\r\n // this.getInhouseData();\r\n\r\n // } else {\r\n // //show errror popup\r\n\r\n // }\r\n\r\n //}, (_error: any) => {\r\n // //this.loading = false;\r\n //})\r\n }\r\n\r\n\r\n\r\n printNo(num) {\r\n return Number(num).toLocaleString('en-GB');\r\n }\r\n\r\n updateInvoiceAddress() {\r\n\r\n this.populateInvoiceAddressForm();\r\n\r\n this.modal.open(this.modalContentEdit, { size: 'lg' });\r\n }\r\n\r\n\r\n\r\n updateOrganisation() {\r\n //this.populateOrganisationForm();\r\n\r\n //this.modal.open(this.modalEditInhouse, { size: 'lg' });\r\n\r\n const modalRef = this.modal.open(AddEditOrganisationComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = this.currentInhouse;\r\n\r\n modalRef.result.then((result) => {\r\n this.getInhouseData();\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n getInhouseData() {\r\n\r\n\r\n if (this._organisationId != null) {\r\n this._delegateService.getInhouseData(Number(this._organisationId)).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n if (result.data.length > 0) {\r\n\r\n this.__inhouse = result.data.reverse();\r\n this.getLifetimeValue();\r\n\r\n if (this.__inhouse.length > 0) {\r\n this.currentInhouse = result.data[0][3];\r\n this.currentInhouseInvoiceDetails = result.data[0][0];\r\n //\r\n \r\n }\r\n \r\n //this.currentInhouseTrainingDates = result.data[1];\r\n //this.currentInhouseItems = result.data[2];\r\n }\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n setInhouse(data) {\r\n this.tainingInhouse = data;\r\n }\r\n\r\n setCurrentInhouseTrainingDates(data) {\r\n\r\n this.currentInhouseTrainingDates = data;\r\n }\r\n\r\n setCurrentInhouseItems(data) {\r\n \r\n this.currentInhouseItems = data;\r\n\r\n this.inhouseCourseFeeItems = this.currentInhouseItems.filter(obj => obj.itemType === \"Fee\");\r\n\r\n //var other = this.currentInhouseItems.splice(0, this.currentInhouseItems.length, ...fee);\r\n this.inhouseCourseCostItems = this.currentInhouseItems.filter(obj => obj.itemType != \"Fee\");\r\n \r\n this.courseTotalFee = this.inhouseCourseFeeItems.reduce((sum, item) => sum + (item.amount * item.quantity), 0);\r\n this.courseCost = this.courseTotalFee + (this.courseTotalFee * 20 / 100);\r\n\r\n //this.lifeTimeValue = this.courseTotalFee; //this.lifeTimeValue + this.courseTotalFee;\r\n\r\n this.courseExpense = this.inhouseCourseCostItems.reduce((sum, item) => sum + (item.amount * item.quantity), 0);\r\n }\r\n\r\n getLifetimeValue() {\r\n //_inhouse.forEach(function (value) {\r\n \r\n // this.lifeTimeValue = value[2].filter(obj => obj.itemType === \"Fee\").reduce((sum, item) => sum + item.amount, 0);\r\n \r\n //});\r\n\r\n //this.speakersListByCourse.forEach((item: any) => {\r\n\r\n this.__inhouse.forEach((value, index) => {\r\n \r\n this.lifeTimeValue = this.lifeTimeValue + (value[2].filter(obj => obj.itemType === \"Fee\").reduce((sum, item) => sum + (item.amount * item.quantity), 0));\r\n\r\n });\r\n }\r\n\r\n getStatus(inhouse) {\r\n // invoice is paid\r\n if (inhouse.paid == true) {\r\n return 'green';\r\n }\r\n else {\r\n return this.getColor(this.getDaysCount(inhouse.invoiceDate));\r\n }\r\n }\r\n\r\n onPaidClick(data) {\r\n\r\n \r\n this._inhouseId = data.inHouseId;\r\n\r\n this.paymentForm.controls.invoiceNumber.setValue(data.invoiceNumber);\r\n\r\n if (data.reconcileDate != null)\r\n this.reconcileDate = new Date(data.reconcileDate);\r\n else this.reconcileDate = null;\r\n\r\n if (data.invoicePaidOn != null)\r\n this.paymentDate_ = new Date(data.invoicePaidOn);\r\n else this.paymentDate_ = null;\r\n\r\n this._reconcile = data.paid;\r\n this.selectedPaymentMethod = data.invoicePaidBy;\r\n this.paymentForm.controls.subtotal.setValue(data.netTotal);\r\n this.applyTax(data.netTotal);\r\n\r\n this.paymentForm.controls.totalTax.setValue(data.vatrate);\r\n this.paymentForm.controls.total.setValue(data.grossTotal);\r\n\r\n this.modal.open(this.modalPaymentDetails, { size: 'lg' });\r\n\r\n\r\n }\r\n\r\n applyTax(d: any) {\r\n var tax = (d * 20) / 100;\r\n this.paymentForm.controls.totalTax.setValue(tax.toFixed(2));\r\n this.paymentForm.controls.total.setValue((Number(d) + Number(tax)).toFixed(2));\r\n }\r\n\r\n changeTax(val) {\r\n \r\n var subtotal = Number(this.paymentForm.controls.subtotal.value);\r\n this.paymentForm.controls.total.setValue((Number(subtotal) + Number(val)).toFixed(2));\r\n //if (val == \"0\" || val == \"\") { \r\n // this.paymentForm.controls.totalTax.setValue(0);\r\n // this.paymentForm.controls.total.setValue(subtotal.toFixed(2));\r\n //}\r\n //else {\r\n // this.paymentForm.controls.total.setValue((Number(subtotal) + Number(val)).toFixed(2));\r\n //}\r\n }\r\n\r\n close2(e: any) {\r\n \r\n $(\"#\" + this._inhouseId + \"_chk\").prop(\"checked\", !$(\"#\" + this._inhouseId + \"_chk\").prop('checked'));\r\n }\r\n\r\n close() {\r\n this.modal.dismissAll();\r\n }\r\n\r\n\r\n //DAYS COUNT\r\n getDaysCount(dateString): string {\r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n return daysDiff.toString();\r\n }\r\n\r\n getColor(value) {\r\n \r\n if (value < 28) {\r\n return 'green';\r\n } else if (value > 28 && value <= 49) {\r\n return 'amber';\r\n } else if (value > 63) {\r\n return 'red';\r\n } else if (value > 49) {\r\n return 'redborder-simple';\r\n }\r\n }\r\n\r\n //showInhouseDetails(data) {\r\n // \r\n //}\r\n\r\n //******* START INHOUSE EXPENSES *********/\r\n\r\n addInhouseItems(id) {\r\n\r\n this._inhouseId = id;\r\n this._inhouseItemId = 0;\r\n\r\n this._addEditInhouseItemTitle = \"Add Inhouse Item\";\r\n this.itemForm.reset();\r\n this.itemForm.controls.itemType.patchValue(\"none\");\r\n this.currentDate = new Date();\r\n\r\n this.modal.open(this.modalAddEditInhouseItem, { size: 'lg' });\r\n }\r\n\r\n onItemFormSubmit() {\r\n\r\n var req = {\r\n\r\n request: {\r\n ItemId: this._inhouseItemId,\r\n InhouseId: this._inhouseId,\r\n DateAdded: this.itemForm.controls.itemDate.value,\r\n ItemType: this.itemForm.controls.itemType.value,\r\n ItemDescription: this.itemForm.controls.description.value,\r\n Quantity: parseInt(this.itemForm.controls.quantity.value),\r\n Amount: parseInt(this.itemForm.controls.amount.value),\r\n OrganisationId: Number(this._organisationId)\r\n }\r\n };\r\n \r\n\r\n this._delegateService.updateInhouseItems(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.itemForm.reset();\r\n\r\n this.itemForm.controls.itemType.patchValue(\"none\");\r\n\r\n this.modal.dismissAll();\r\n this.getInhouseData();\r\n\r\n } else {\r\n //show errror popup\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n editInhouseItemClick(data) {\r\n this.populateInhouseItemForm(data);\r\n this.modal.open(this.modalAddEditInhouseItem, { size: 'lg' });\r\n }\r\n\r\n deleteTraining(training) {\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this training?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (training.inHouseId > 0) {\r\n this._delegateService.deleteInhouse(training.inHouseId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getInhouseData();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n populateInhouseItemForm(data) {\r\n if (data != null) {\r\n\r\n this._inhouseId = data.inhouseId;\r\n this._inhouseItemId = data.itemId;\r\n this.itemForm.controls.itemType.setValue(data.itemType);\r\n this.currentDate = data.dateAdded;\r\n this.itemForm.controls.description.setValue(data.itemDescription);\r\n this.itemForm.controls.quantity.setValue(data.quantity);\r\n this.itemForm.controls.amount.setValue(data.amount);\r\n\r\n this._addEditInhouseItemTitle = \"Edit Inhouse Item\";\r\n }\r\n }\r\n\r\n deleteInhouseItemClick(_data) {\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n if (_data.itemId > 0) {\r\n this._delegateService.deleteInhouseExpense(_data.itemId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getInhouseData();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n //******* END OF INHOUSE EXPENSES *********/\r\n\r\n\r\n\r\n //******* START INHOUSE TRAINER *********/\r\n\r\n addTrainer(id) {\r\n\r\n\r\n this._inhouseId = id;\r\n this._inhouseTrainingDateId = 0;\r\n\r\n this.trainerForm.reset();\r\n this.trainerForm.controls.trainer.patchValue(\"none\");\r\n this.trainerForm.controls.subject.patchValue(\"none\");\r\n this.currentDate = new Date();\r\n this._addEditTrainer = \"Add Training Dates / Trainer\";\r\n\r\n this.modal.open(this.modalAddEditTrainer, { size: 'lg' });\r\n }\r\n\r\n onTrainerSelected(event) {\r\n this.selectedTrainerId = event.value;\r\n this.selectedTrainer = event.source.selected._element.nativeElement.innerText;\r\n }\r\n\r\n onSubjectSelected(event) {\r\n this.selectedSubjectId = event.value;\r\n this.selectedSubject = event.source.selected._element.nativeElement.innerText;\r\n }\r\n\r\n onTrainerFormSubmit() {\r\n \r\n var req = {\r\n\r\n request: {\r\n Id: this._inhouseTrainingDateId,\r\n InHouseId: this._inhouseId,\r\n TrainingDate: this.trainerForm.controls.trainingDate.value,\r\n TrainerName: this.selectedTrainer, //this.trainerForm.controls.trainer.value,\r\n SpeakerId: this.selectedTrainerId,\r\n TrainerFee: parseInt(this.trainerForm.controls.fees.value),\r\n TrainerExpense: parseInt(this.trainerForm.controls.expense.value),\r\n Subject: this.selectedSubject,\r\n SubjectId: this.selectedSubjectId//this.trainerForm.controls.subject.value,\r\n }\r\n };\r\n\r\n this._delegateService.updateInhouseTrainer(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.trainerForm.reset();\r\n\r\n this.trainerForm.controls.trainer.patchValue(\"none\");\r\n this.trainerForm.controls.subject.patchValue(\"none\");\r\n\r\n this.modal.dismissAll();\r\n this.getInhouseData();\r\n\r\n } else {\r\n //show errror popup\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n editTrainingDatesClick(data) {\r\n this.populateTrainingDatesForm(data);\r\n this.modal.open(this.modalAddEditTrainer, { size: 'lg' });\r\n }\r\n\r\n populateTrainingDatesForm(data) {\r\n if (data != null) {\r\n\r\n \r\n\r\n this._inhouseId = data.inHouseId;\r\n this._inhouseTrainingDateId = data.id;\r\n this.trainerForm.controls.subject.setValue(data.subjectId);\r\n this.currentDate = data.trainingDate;\r\n //this.trainerForm.controls.trainingDate.setValue(data.trainingDate);\r\n this.trainerForm.controls.trainer.setValue(data.speakerId);\r\n this.trainerForm.controls.fees.setValue(data.trainerFee);\r\n this.trainerForm.controls.expense.setValue(data.trainerExpense);\r\n\r\n this.selectedTrainerId = data.speakerId;\r\n this.selectedTrainer = data.trainerName;\r\n\r\n this.selectedSubjectId = data.subjectId;\r\n\r\n this._addEditTrainer = \"Edit Training Dates / Trainer\"\r\n }\r\n }\r\n\r\n deleteTrainingDatesClick(_data) {\r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n\r\n if (_data.id > 0) {\r\n this._delegateService.deleteInhouseTrainer(_data.id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getInhouseData();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n }\r\n\r\n //******* END OF INHOUSE TRAINER *********/\r\n\r\n allInhouse() {\r\n this.gotoAllInhouse.emit();\r\n }\r\n\r\n upcomingCourses(param) {\r\n this.gotoAllInhouse.emit(param);\r\n }\r\n\r\n\r\n addNewTraining() {\r\n const modalRef = this.modal.open(AddEditInhouseComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = { organisationId: this._organisationId }\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getInhouseData());\r\n }\r\n\r\n editTraining(param) {\r\n const modalRef = this.modal.open(AddEditInhouseComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getInhouseData());\r\n }\r\n}\r\n","\n xxx\n\n\n\n\n\n\n
\n
\n\n

\n Inhouse DETAILS\n\n

\n\n
\n
\n\n \n\n\n\n
\n\n \n \n \n \n \n \n
\n\n \n
\n\n
\n\n\n
\n
\n
\n
\n\n \n\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n\n
\n \n
\n
\n
\n\n
\n\n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n \n \n\n
\n
\n\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n \n
\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n\n\n \n\n \n\n
\n
\n\n\n\n\n\n
\n
\n
\n\n\n
\n
\n {{setInhouse(inhouse[0])}}\n {{setCurrentInhouseTrainingDates(inhouse[1])}}\n {{setCurrentInhouseItems(inhouse[2])}}\n
\n
\n\n \n\n\n \n \n\n
0\" class=\"u-line\" />\n\n\n\n
0\" class=\"row\">\n
\n \n
\n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n edit\n delete\n
\n
\n
\n
\n\n\n
\n
\n \n \n
\n\n\n\n
\n
\n\n \n\n \n \n\n\n
0\" class=\"u-line\" />\n\n
0\" class=\"row\">\n
\n \n
\n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
\n
\n\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n edit\n delete\n
\n
\n
\n
\n\n
\n\n
0\">\n
\n\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n\n\n \n\n \n\n
0\" class=\"u-line\" />\n\n
0\" class=\"row\">\n
\n \n
\n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
= 1\" class=\"col-md-2 ml-1\">\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n edit\n delete\n
\n
\n
\n
\n\n
\n\n
0\">\n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n\n
\n \n\n
\n\n\n\n
\n
\n\n \n\n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n \n \n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n
\n
\n\n
\n
\n \n
\n
\n
\n\n\n\n
\n\n
\n\n \n
\n\n
\n \n\n
\n \n\n \n\n \n\n \n
\n
\n\n
\n
\n\n\n
\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n
Invoice Details
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n \n\n \n \n\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n \n
\n
\n \n Invoice date:\n \n \n \n \n\n
\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n \n
\n \n
\n
\n\n
\n
\n\n
\n\n\n\n\n\n\n\n\n
\n
{{_addEditTrainer}}
\n
\n
\n\n\n
\n\n\n
\n
\n\n \n \n Select Trainer\n\n {{spkr.speakerName}}\n \n
\n
\n \n \n Select Subject\n\n {{sub.title}}\n \n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n\n
\n
\n \n Training date\n \n \n \n \n
\n\n
\n\n
\n\n
\n\n \n\n
\n \n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n
\n
{{_addEditInhouseItemTitle}}
\n
\n
\n\n\n
\n\n\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n\n Select option\n\n \n Fee\n \n\n \n Expense\n \n\n \n Other\n \n\n \n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n
\n \n Date\n \n \n \n \n
\n\n
\n\n
\n\n
\n\n\n\n \n\n
\n \n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n
\n
Payment Details
\n
\n
\n\n\n
\n\n\n
\n
\n\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n\n \n\n Select source\n\n \n BACS\n \n\n \n Cash\n \n\n \n Cheque\n \n\n \n Credit Note\n \n\n \n Direct Debit\n \n\n \n AMEX\n \n\n \n Paypal\n \n\n \n Phone\n \n\n \n Shopify\n \n\n \n Written Off\n \n\n \n Other\n \n\n \n Cancelled\n \n\n \n\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n
\n \n Payment date\n \n \n \n \n
\n \n
\n\n
\n
\n \n Reconcile date\n \n \n \n \n
\n
\n\n\n
\n Reconcile\n
\n\n
\n\n\n
\n \n\n
\n \n
\n
\n\n
\n\n
\n\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { AddEditInhouseComponent } from '../add-edit-inhouse/add-edit-inhouse.component';\r\n\r\n@Component({\r\n selector: 'app-inhouse-list',\r\n templateUrl: './inhouse-list.component.html',\r\n styleUrls: ['./inhouse-list.component.css']\r\n})\r\nexport class InhouseListComponent implements OnInit {\r\n\r\n inhouseList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 10;\r\n\r\n\r\n\r\n @Output() gotoInhouseDetails = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'trainingDate', headerName: 'Training Date', width: 200, valueFormatter: this.convertStringToDate },\r\n { field: 'organisation', headerName: 'Organisation', width: 325 },\r\n { field: 'contactName', width: 200 },\r\n { field: 'email', width: 350 },\r\n { field: 'telephone', width: 225 },\r\n { field: 'paid', headerName: 'Paid', width: 100, cellRenderer: this.reconcileCellRendererFunc },\r\n \r\n ];\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n private _route: Router) {\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.domLayout = \"autoHeight\";\r\n\r\n \r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#inhouseGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#inhouseGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n \r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n if (e.colDef.field != \"Action\")\r\n this.gotoInhouseDetails.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n \r\n localStorage.setItem('projectPageSize', '10');\r\n this.getInhouseList(true);\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getInhouseList(isUpcoming) {\r\n\r\n if (isUpcoming == true) {\r\n this.listTitle = \"Upcoming Inhouse\";\r\n this._methodToload = this.methodName.archive;\r\n } else {\r\n this.listTitle = \"All Inhouse\";\r\n this._methodToload = this.methodName.nonArchive;\r\n }\r\n\r\n var req = {\r\n isUpcoming: isUpcoming\r\n };\r\n this._delegateService.getInhouseList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.inhouseList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditInhouseComponent, {\r\n size: 'lg'\r\n });\r\n }\r\n\r\n}\r\n","\n\n\n
\n
\n\n

\n {{listTitle}} TRAININGS\n \n

\n\n
\n
\n\n \n\n \n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'list:param', component: DashboardComponent },\r\n { path: 'new-delegate', component: DashboardComponent },\r\n { path: 'details', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'list',\r\n pathMatch: 'full'\r\n },];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class InhouseRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InhouseRoutingModule } from './inhouse-routing.module';\r\nimport { InhouseListComponent } from './inhouse-list/inhouse-list.component';\r\nimport { InhouseDetailComponent } from './inhouse-detail/inhouse-detail.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { AddEditInhouseComponent } from './add-edit-inhouse/add-edit-inhouse.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { OrganisationsComponent } from './organisations/organisations.component';\r\nimport { AddEditOrganisationComponent } from './organisations/add-edit-organisation/add-edit-organisation.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n InhouseListComponent,\r\n InhouseDetailComponent,\r\n AddEditInhouseComponent,\r\n OrganisationsComponent,\r\n AddEditOrganisationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n InhouseRoutingModule,\r\n AgGridModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatCheckboxModule,\r\n MatMenuModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n InhouseListComponent,\r\n InhouseDetailComponent,\r\n AddEditInhouseComponent,\r\n OrganisationsComponent\r\n ]\r\n})\r\nexport class InhouseModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../../common/validation/messages';\r\nimport { CommonServiceService } from '../../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-organisation',\r\n templateUrl: './add-edit-organisation.component.html',\r\n styleUrls: ['./add-edit-organisation.component.css']\r\n})\r\nexport class AddEditOrganisationComponent implements OnInit {\r\n\r\n start_d1: any = new Date();\r\n submitted = false;\r\n public _title = \"Add Organisation\";\r\n public locationsList: any;\r\n inhouseEditForm: FormGroup;\r\n _params: any;\r\n _organisationId: any = 0;\r\n currentOrganisation: any;\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _delegateService: DelegateService,\r\n private _commonService: CommonServiceService,\r\n private _route: Router) {\r\n\r\n //this.getLocationsList();\r\n\r\n //this.route.queryParamMap\r\n // .subscribe((params) => {\r\n // this._params = { ...params.keys, ...params };\r\n // this._delegateId = this._params.params.delegateId\r\n // });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = true;\r\n\r\n this.inhouseEditForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n organization: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n postcode: [''],\r\n telephone: [''],\r\n email: ['', [Validators.required, Validators.pattern(regExpressions.email)]],\r\n notes: ['']\r\n //startDate_day1: [this.start_d1.value, Validators.required],\r\n });\r\n\r\n\r\n\r\n //if (Object.keys(this.data).length === 0) {\r\n // // this is add case\r\n //}\r\n //else {\r\n // this.isNew = false;\r\n // this._inhouseId = this.data.id;\r\n\r\n // if (Number(this._inhouseId) > 0) {\r\n // //this.getDelegateData();\r\n // this.currentInhouse = this.data;\r\n // this.populateForm();\r\n // //setTimeout(() => {\r\n // // this.populateForm();\r\n // //}, 1000)\r\n // }\r\n\r\n //}\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.currentOrganisation = this.data;\r\n this.populateForm();\r\n }\r\n\r\n\r\n\r\n this.loading = false;\r\n }\r\n\r\n //getDelegateData() {\r\n // this._delegateService.getDelegateData(Number(this._organisationId)).subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n\r\n // if (result.data.length > 0) {\r\n // this.currentOrganisation = result.data[0];\r\n // this.populateForm();\r\n // }\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n //}\r\n\r\n get f() { return this.inhouseEditForm.controls; }\r\n\r\n populateForm() {\r\n if (this.currentOrganisation != null) {\r\n\r\n this._title = \"Edit Organisation\";\r\n\r\n this._organisationId = this.currentOrganisation.id;\r\n\r\n this.inhouseEditForm.controls.name.setValue(this.currentOrganisation.contactName);\r\n this.inhouseEditForm.controls.organization.setValue(this.currentOrganisation.organisationName);\r\n this.inhouseEditForm.controls.address1.setValue(this.currentOrganisation.address);\r\n this.inhouseEditForm.controls.postcode.setValue(this.currentOrganisation.postcode);\r\n this.inhouseEditForm.controls.telephone.setValue(this.currentOrganisation.telephone);\r\n this.inhouseEditForm.controls.email.setValue(this.currentOrganisation.contactEmail);\r\n this.inhouseEditForm.controls.notes.setValue(this.currentOrganisation.notes);\r\n\r\n }\r\n }\r\n\r\n \r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n\r\n request: {\r\n Id: Number(this._organisationId),\r\n ContactName: this.inhouseEditForm.controls.name.value,\r\n OrganisationName: this.inhouseEditForm.controls.organization.value,\r\n Address: this.inhouseEditForm.controls.address1.value,\r\n Postcode: this.inhouseEditForm.controls.postcode.value,\r\n Telephone: this.inhouseEditForm.controls.telephone.value,\r\n ContactEmail: this.inhouseEditForm.controls.email.value,\r\n notes: this.inhouseEditForm.controls.notes.value\r\n }\r\n\r\n\r\n };\r\n\r\n this._delegateService.insertOrganisation(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n this._commonService.error(result.message);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n close() { }\r\n\r\n delete(id) {\r\n\r\n if (id > 0) {\r\n this._delegateService.deleteDelegate(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n gotoMainMenu(tab) {\r\n if (tab.index == 0) {\r\n this._route.navigateByUrl(\"/courses/all-courses\");\r\n }\r\n else if (tab.index == 2) {\r\n this._route.navigateByUrl(\"/schedule\");\r\n }\r\n }\r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n\n
\n \n \n
\n
{{errors.name}}
\n
\n
\n\n
\n \n \n
\n\n
\n\n \n \n
\n
{{errors.postcode}}
\n
\n
\n\n
\n \n \n\n
\n\n
\n \n \n
\n
{{errors.email}}
\n
\n
\n\n \n\n \n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n
\n\n\n \n\n
\n \n
\n
\n\n
\n\n \n
\n\n","//import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n//import { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, ColumnApi, ColumnResizedEvent, Grid, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { ClickableParentComponent } from '../../../shared/_components/edit/clickable-parent/clickable-parent.component';\r\nimport { AddEditOrganisationComponent } from './add-edit-organisation/add-edit-organisation.component';\r\n//import { AddEditInhouseComponent } from '../add-edit-inhouse/add-edit-inhouse.component';\r\n//import { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-organisations',\r\n templateUrl: './organisations.component.html',\r\n styleUrls: ['./organisations.component.css']\r\n})\r\nexport class OrganisationsComponent implements OnInit {\r\n\r\n organisationList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n title: any = \"Organisations\";\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 50;\r\n\r\n @Input() showUpcomingCourses: any;\r\n\r\n @Output() gotoInhouseDetails = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n //public columnDefs: ColDef[];\r\n public columnDefs: ColDef[] = [\r\n { field: 'organisationName', headerName: 'Organisation' },\r\n { field: 'contactName', headerName: 'Contact Name' },\r\n { field: 'contactEmail', headerName: 'Contact Email' },\r\n //{ field: 'telephone', headerName: 'Telephone' },\r\n { field: 'postcode', headerName: 'Postcode' },\r\n //{ field: 'paid', headerName: 'Paid', width: 100, cellRenderer: this.reconcileCellRendererFunc },\r\n {\r\n field: 'Action', cellRendererFramework: ClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n\r\n ];\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n //private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n private _commonService: CommonServiceService,\r\n private location: Location,\r\n ) {\r\n debugger;\r\n _commonService.setBackNavigation();\r\n //this.location.go('/inhouse/list');\r\n\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n //defaultColDef: {\r\n // resizable: true,\r\n //},\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true,\r\n\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#organisationGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#organisationGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n //elm.style.width = '100%';\r\n \r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n \r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n if (e.colDef.field != \"Action\")\r\n this.gotoInhouseDetails.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n upcomingCourses() {\r\n this.title = \"Upcoming Courses\";\r\n this.location.go('/inhouse/list/u');\r\n\r\n\r\n this._commonService.setBackNavigation();\r\n\r\n var req = {\r\n isUpcoming: true\r\n }\r\n\r\n this._delegateService.getOrganisationList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.organisationList = result.data;\r\n\r\n\r\n\r\n // Each Column Definition results in one Column.\r\n this.columnDefs = [\r\n { field: 'trainingDate', headerName: 'Training Date', valueFormatter: this.convertStringToDate },\r\n { field: 'organisationName', headerName: 'Organisation' },\r\n { field: 'trainerName', headerName: 'Trainer' },\r\n { field: 'contactName', headerName: 'Contact Name' },\r\n //{ field: 'telephone', headerName: 'Telephone' },\r\n { field: 'subject', headerName: 'Subject' },\r\n\r\n {\r\n field: 'Action', cellRendererFramework: ClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n\r\n ];\r\n\r\n //this.gridOptions.columnDefs = this.columnDefs;\r\n\r\n\r\n\r\n this.gridOptions.onColumnResized = (params: ColumnResizedEvent) => {\r\n \r\n this.gridOptions.api!.sizeColumnsToFit();\r\n console.log(params);\r\n };\r\n\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n\r\n //this.setFixedHeight();\r\n //this.gridOptions.api!.sizeColumnsToFit();\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n localStorage.setItem('projectPageSize', '50');\r\n \r\n if (this.showUpcomingCourses) {\r\n this.upcomingCourses();\r\n }\r\n else\r\n this.getOrganisationList(false);\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getOrganisationList(isUpcoming) {\r\n\r\n this.location.go('/inhouse/list/o');\r\n this._commonService.setBackNavigation();\r\n \r\n this.title = \"Organisations\";\r\n\r\n var req = {\r\n isUpcoming: false\r\n }\r\n\r\n this._delegateService.getOrganisationList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.organisationList = result.data;\r\n\r\n this.columnDefs = [\r\n { field: 'organisationName', headerName: 'Organisation' },\r\n { field: 'contactName', headerName: 'Contact Name' },\r\n { field: 'contactEmail', headerName: 'Contact Email' },\r\n { field: 'telephone', headerName: 'Telephone' },\r\n { field: 'postcode', headerName: 'Postcode' },\r\n //{ field: 'paid', headerName: 'Paid', width: 100, cellRenderer: this.reconcileCellRendererFunc },\r\n {\r\n field: 'Action', cellRendererFramework: ClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n\r\n ];\r\n\r\n\r\n\r\n\r\n //this.gridOptions.api!.sizeColumnsToFit();\r\n\r\n\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditOrganisationComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n this.getOrganisationList(false);\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n\r\n const modalRef = this.modal.open(AddEditOrganisationComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getOrganisationList(false));\r\n }\r\n\r\n\r\n delete(id) {\r\n if (id > 0) {\r\n this._delegateService.deleteOrganisation(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.getOrganisationList(false)\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n}\r\n","\n\n\n
\n
\n\n

\n {{title}}\n\n

\n\n
\n
\n\n \n\n
\n \n \n \n \n \n\n\n \n \n
\n\n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard } from '../../common/guards/auth.guard';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404',\r\n canActivate: [AuthGuard],\r\n },\r\n { path: 'all-invoices', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'all-invoices',\r\n pathMatch: 'full'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class InvoicesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { InvoicesRoutingModule } from './invoices-routing.module';\r\nimport { InvoicesComponent } from './invoices/invoices.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n InvoicesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n InvoicesRoutingModule,\r\n AgGridModule,\r\n MatMenuModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n InvoicesComponent\r\n ]\r\n})\r\nexport class InvoicesModule { }\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-invoices',\r\n templateUrl: './invoices.component.html',\r\n styleUrls: ['./invoices.component.css']\r\n})\r\nexport class InvoicesComponent implements OnInit {\r\n\r\n invoicesList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 10;\r\n\r\n _paramOut = {\r\n showReceivedInvoices: false,\r\n showSuppliers: false,\r\n id: 0\r\n }\r\n\r\n @Output() gotoSuppliersList = new EventEmitter();\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n @Output() gotoDebtCollection = new EventEmitter();\r\n @Output() gotoXeroInvoices = new EventEmitter();\r\n @Output() gotoDelegateDetails = new EventEmitter();\r\n @Output() gotoCreditNotes = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'dateAdded', headerName: 'Date', width: 325, valueFormatter: this.convertStringToDate },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number', width: 225 },\r\n { field: 'delegateName', headerName: 'Issued To', width: 225, valueFormatter: this.getName },\r\n { field: 'amount', headerName: 'Amount', width: 225, cellRenderer: params => this.currencyFormatter(params.value), },\r\n {\r\n field: 'transactionType', headerName: 'Transaction Type', width: 225,\r\n cellRenderer: params => params.value == null ? \"-\" : params.value,\r\n },\r\n { field: 'reconcileOn', headerName: 'Reconcile On', width: 250, cellRenderer: this.reconcileCellRendererFunc, valueFormatter: this.convertStringToDate },\r\n\r\n ];\r\n\r\n getName(param) {\r\n //debugger;\r\n if (param.data.organisationName != null)\r\n return param.data.organisationName\r\n else\r\n return param.value;\r\n }\r\n\r\n // DATA FORMATTING\r\n currencyFormatter(currency) {\r\n\r\n if (currency != null) {\r\n var sansDec = currency.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return '£' + `${formatted}`;\r\n }\r\n else return '-';\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n //return new Date(strDate).toString();\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n //private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n private _commonService: CommonServiceService,\r\n private _route: Router,\r\n ) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#iGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#iGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#iGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#iGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n // //this.rowData$ = this.http\r\n // // .get('http://www.ag-grid.com/example-assets/row-data.json');\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n //this._route.navigateByUrl('/delegates/delegate-details?delegateId=' + e.data.id + '&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n \r\n this.gotoDelegateDetails.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n //openModal(param) {\r\n // const modalRef = this.modal.open(AddEditDelegateComponent, {\r\n // size: 'lg'\r\n // });\r\n // modalRef.componentInstance.data = param;\r\n\r\n // if (this._methodToload == this.methodName.archive)\r\n // modalRef.componentInstance.refreshGrid.subscribe(event => this.getInvoicesList(true));\r\n // else if (this._methodToload == this.methodName.nonArchive)\r\n // modalRef.componentInstance.refreshGrid.subscribe(event => this.getInvoicesList(false));\r\n //}\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n //\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getInvoicesList(false);\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getInvoicesList(isArch) {\r\n\r\n if (isArch == true) {\r\n this.listTitle = \"Archived Delegates\";\r\n this._methodToload = this.methodName.archive;\r\n } else {\r\n this.listTitle = \"Delegates\";\r\n this._methodToload = this.methodName.nonArchive;\r\n }\r\n\r\n var req = {\r\n type: \"\"\r\n };\r\n this._delegateService.getInvoicesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.invoicesList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n gotoSuppliers() {\r\n\r\n this.gotoSuppliersList.emit();\r\n }\r\n\r\n gotoInvoicesReceivedList() {\r\n this.gotoInvoicesReceived.emit();\r\n }\r\n\r\n gotoXeroInvoicesList() {\r\n\r\n this.gotoXeroInvoices.emit();\r\n }\r\n\r\n gotoDebtCollectionList() {\r\n this.gotoDebtCollection.emit();\r\n }\r\n\r\n gotoCreditNotesList() {\r\n this.gotoCreditNotes.emit();\r\n }\r\n}\r\n","\n
\n
\n\n

\n Issued Invoices\n

\n\n
\n
\n\n
\n \n \n \n \n \n \n \n \n
\n\n\n\n\n \n\n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { regExpressions } from '../../../common/validation/messages';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-product',\r\n templateUrl: './add-edit-product.component.html',\r\n styleUrls: ['./add-edit-product.component.css']\r\n})\r\nexport class AddEditProductComponent implements OnInit {\r\n\r\n currentDate: any = null;// new FormControl(new Date());\r\n submitted = false;\r\n public _title = \"Add Product\";\r\n public locationsList: any;\r\n productEditForm: FormGroup;\r\n _params: any;\r\n _productId: any = 0;\r\n //currentInhouse: any;\r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private _route: Router) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.loading = true;\r\n\r\n this.productEditForm = this.formBuilder.group({\r\n p_title: ['', Validators.required],\r\n cost: [''],\r\n expiryDate: [''], //[this.currentDate.value],\r\n totalTax: [''],\r\n total: ['', Validators.required]\r\n });\r\n\r\n \r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n\r\n this.loading = false;\r\n }\r\n\r\n\r\n\r\n get f() { return this.productEditForm.controls; }\r\n\r\n populateForm(__data) {\r\n \r\n this._title = \"Edit Product\";\r\n this._productId = __data.id;\r\n this.productEditForm.controls.p_title.setValue(__data.title);\r\n this.productEditForm.controls.cost.setValue(__data.cost);\r\n this.productEditForm.controls.expiryDate.setValue(__data.expiryDate);\r\n\r\n this.applyTax(__data.cost);\r\n\r\n }\r\n\r\n applyTax(d: any) {\r\n \r\n var tax = (d * 20) / 100;\r\n this.productEditForm.controls.totalTax.setValue(tax.toFixed(2));\r\n this.productEditForm.controls.total.setValue((Number(d) + Number(tax)).toFixed(2));\r\n }\r\n\r\n validateAmount(event: KeyboardEvent, _val): void {\r\n \r\n const charCode = event.which || event.keyCode;\r\n const char = String.fromCharCode(charCode);\r\n\r\n // Allow decimal point (46) and numbers (48-57)\r\n if (charCode === 190 || charCode === 46 || charCode === 8 || (charCode >= 48 && charCode <= 57)) {\r\n // Ensure only one decimal point\r\n if (charCode === 46 && _val.indexOf('.') !== -1) {\r\n\r\n event.preventDefault();\r\n }\r\n } else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n\r\n request: {\r\n Id: Number(this._productId),\r\n Title: this.productEditForm.controls.p_title.value,\r\n Cost: parseInt(this.productEditForm.controls.cost.value),\r\n ExpiryDate: this.productEditForm.controls.expiryDate.value\r\n }\r\n };\r\n\r\n this._delegateService.insertProduct(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n close() { }\r\n\r\n delete(id) {\r\n\r\n if (id > 0) {\r\n this._delegateService.deleteDelegate(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n }\r\n\r\n gotoMainMenu(tab) {\r\n if (tab.index == 0) {\r\n this._route.navigateByUrl(\"/courses/all-courses\");\r\n }\r\n else if (tab.index == 2) {\r\n this._route.navigateByUrl(\"/schedule\");\r\n }\r\n }\r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n
{{errors.name}}
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n
\n\n
\n \n Expiry date\n \n \n \n \n
\n
\n\n
\n\n \n
\n \n
\n
\n\n
\n\n\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-product-actions',\n //templateUrl: './product-actions.component.html',\n template: `edit\n delete`,\n styleUrls: ['./product-actions.component.css']\n})\nexport class ProductActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { AddEditInhouseComponent } from '../../inhouse/add-edit-inhouse/add-edit-inhouse.component';\r\nimport { Location } from '@angular/common';\r\nimport jsPDF from 'jspdf';\r\n\r\n@Component({\r\n selector: 'app-product-bookings',\r\n templateUrl: './product-bookings.component.html',\r\n styleUrls: ['./product-bookings.component.css']\r\n})\r\nexport class ProductBookingsComponent implements OnInit {\r\n\r\n productList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"Latest Product Bookings\";\r\n paginationPageSize: any = 10;\r\n\r\n @Input() productBookingParam: any;\r\n\r\n @Output() gotoProductsList = new EventEmitter();\r\n @Output() gotoDelegateDetails = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'dateAdded', headerName: 'Booking Date', width: 200, valueFormatter: this.convertStringToDate },\r\n { field: 'invoice.invoiceNumber', headerName: 'Invoice#' },\r\n { field: 'delegateData.name', headerName: 'Delegate' },\r\n { field: 'delegateData.email', headerName: 'Email' },\r\n { field: 'delegateData.organization', headerName: 'Organisation' },\r\n { field: 'delegateData.telephone', headerName: 'Telephone' },\r\n { field: 'productTitle', headerName: 'Product Title', width: 200 },\r\n { field: 'invoice.isInvoicePaid', headerName: 'Paid', width: 100, cellRenderer: params => this.reconcileCellRendererFunc(params.value) },\r\n { field: 'invoice.isInvoicePaid', headerName: 'Status', width: 100, cellRenderer: params => this.getProductStatus(params) },\r\n\r\n ];\r\n\r\n\r\n reconcileCellRendererFunc(paid) {\r\n\r\n \r\n if (paid == true)\r\n return \"
\";\r\n else return \"
\";\r\n }\r\n\r\n getProductStatus(prod) {\r\n\r\n \r\n //if (prod.data.invoice != null) {\r\n // const givenDate = new Date(prod.data.invoice.dateAdded);\r\n // const today = new Date();\r\n // const timeDiff = today.getTime() - givenDate.getTime();\r\n // const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n\r\n // const status = this.getColor(daysDiff);\r\n\r\n\r\n // if (status == 'green')\r\n // return \"
\";\r\n // else if (status == 'amber')\r\n // return \"
\";\r\n // else if (status == 'red')\r\n // return \"
\";\r\n // else if (status == 'redborder-simple')\r\n // return \"
\";\r\n // else \"\";\r\n //}\r\n\r\n var status = 'red';\r\n\r\n // product is paid\r\n if (prod.data.invoice.isInvoicePaid == true) {\r\n status = 'green';\r\n }\r\n else {\r\n status = this.getColor(this.getDaysCount(prod.data.invoice.dateAdded));\r\n }\r\n\r\n if (status == 'green')\r\n return \"
\";\r\n else if (status == 'amber')\r\n return \"
\";\r\n else if (status == 'red')\r\n return \"
\";\r\n else if (status == 'redborder-simple')\r\n return \"
\";\r\n else \"\";\r\n\r\n\r\n }\r\n\r\n getColor(value) {\r\n \r\n if (value < 28) {\r\n return 'green';\r\n } else if (value > 28 && value <= 49) {\r\n return 'amber';\r\n } else if (value > 63) {\r\n return 'red';\r\n } else if (value > 49) {\r\n return 'redborder-simple';\r\n }\r\n else\r\n return 'green';\r\n }\r\n\r\n //DAYS COUNT\r\n getDaysCount(dateString): string {\r\n \r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n return daysDiff.toString();\r\n }\r\n\r\n\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private _route: Router,\r\n private location: Location,\r\n private _commonService: CommonServiceService,\r\n private _delegateService: DelegateService) {\r\n\r\n _commonService.setBackNavigation();\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#productBookingGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#productBookingGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n //if (e.colDef.field != \"Action\")\r\n\r\n this.gotoDelegateDetails.emit(e.data);\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n ngOnInit(): void {\r\n localStorage.setItem('projectPageSize', '10');\r\n\r\n //if (this.productBookingParam.allBookings == true) {\r\n // this.getProductBookingsList(true);\r\n // //this._delegateId = this.delegateDetail;\r\n\r\n // ////this._delegateId = localStorage.getItem('delegateId');\r\n // //if (Number(this._delegateId) > 0) {\r\n // // this.getDelegateData();\r\n // //}\r\n //}\r\n //else\r\n\r\n if (this.productBookingParam.allBookings) {\r\n this.listTitle = \"Latest Product Bookings\";\r\n }\r\n else {\r\n this.listTitle = \"Product Bookings\";\r\n }\r\n\r\n debugger;\r\n this.getProductBookingsList(this.productBookingParam);\r\n\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n getProductBookingsList(data) {\r\n this._delegateService.getPurchasesList(data).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n\r\n this.productList = result.data;\r\n \r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditInhouseComponent, {\r\n size: 'lg'\r\n });\r\n }\r\n\r\n gotoProducts() {\r\n this.gotoProductsList.emit();\r\n }\r\n\r\n gotoBookings() {\r\n var req = { allBookings: true, id: 0 }\r\n\r\n this.listTitle = \"Latest Product Bookings\";\r\n this.location.go('/product/bookings?type=true');\r\n this._commonService.setBackNavigation();\r\n\r\n this.getProductBookingsList(req);\r\n }\r\n}\r\n","\n\n\n\n\n
\n
\n\n

\n {{listTitle}}\n

\n\n
\n
\n
\n \n \n \n \n \n \n
\n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-product-clickable-parent',\r\n //templateUrl: './product-clickable-parent.component.html',\r\n template: ``,\r\n styleUrls: ['./product-clickable-parent.component.css']\r\n})\r\nexport class ProductClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n //\r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.courseId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(//private _router: Router,\r\n //private modal: NgbModal,\r\n private _dialog: MatDialog,\r\n private _delegateService: DelegateService) {\r\n\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n //\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n\r\n this.params.context.componentParent.openModal(this.params.data);\r\n\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(this.params.data.id);\r\n\r\n }\r\n\r\n\r\n delete(id: any) {\r\n\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (id > 0) {\r\n this._delegateService.deleteProduct(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.params.context.componentParent.getProductsList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n \r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { AddEditInhouseComponent } from '../../inhouse/add-edit-inhouse/add-edit-inhouse.component';\r\nimport { AddEditProductComponent } from '../add-edit-product/add-edit-product.component';\r\nimport { ProductClickableParentComponent } from '../product-clickable-parent/product-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-product-list',\r\n templateUrl: './product-list.component.html',\r\n styleUrls: ['./product-list.component.css']\r\n})\r\nexport class ProductListComponent implements OnInit {\r\n\r\n productList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"Products\";\r\n paginationPageSize: any = 10;\r\n\r\n _paramOut = {\r\n allBookings: false, id: 0\r\n }\r\n\r\n @Output() gotoProductBookings = new EventEmitter();\r\n\r\n // Each Column Definition results in one Column.\r\n //public columnDefs: ColDef[] = [\r\n // { field: 'dateAdded', headerName: 'Booking Date', width: 200, valueFormatter: this.convertStringToDate },\r\n // { field: 'delegateName', headerName: 'Delegate', width: 325 },\r\n // { field: 'productTitle', headerName: 'Product Title', width: 200 },\r\n // { field: 'isPaid', headerName: 'Paid', width: 100, cellRenderer: this.reconcileCellRendererFunc },\r\n\r\n //];\r\n\r\n\r\n public columnDefs: ColDef[] = [\r\n //{ field: 'dateAdded', headerName: 'Added Date', width: 200, valueFormatter: this.convertStringToDate },\r\n { field: 'title', headerName: 'Product Title', width: 325 },\r\n //{\r\n // field: 'cost', headerName: 'Cost', width: 200,\r\n // cellRenderer: params => params.value == null ? \"-\" : params.value,\r\n //},\r\n { field: 'expiryDate', headerName: 'Expiry Date', width: 200, valueFormatter: this.convertStringToDate },\r\n {\r\n field: 'Action', cellRendererFramework: ProductClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n private http: HttpClient,\r\n private _delegateService: DelegateService,\r\n private _route: Router) {\r\n\r\n //this.gridOptions = {\r\n // context: {\r\n // componentParent: this\r\n // },\r\n // rowClass: 'grid-row',\r\n // suppressCellSelection: true\r\n //};\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#productGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#productGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n \r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n //if (e.colDef.field != \"Action\")\r\n if (e.colDef.field != \"Action\") {\r\n this._paramOut.allBookings = false;\r\n this._paramOut.id = e.data.id\r\n this.gotoProductBookings.emit(this._paramOut);\r\n }\r\n }\r\n\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n this.gotoArchivedProducts(false);\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n gotoArchivedProducts(isArchive) {\r\n\r\n if (isArchive == false) {\r\n this.listTitle = \"Products\";\r\n this._methodToload = this.methodName.nonArchive;\r\n } else {\r\n this.listTitle = \"Archived Products\";\r\n this._methodToload = this.methodName.archive;\r\n }\r\n\r\n var req = {\r\n isArchived: isArchive\r\n };\r\n\r\n this._delegateService.getProductList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.productList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditProductComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n \r\n this.gotoArchivedProducts(false);\r\n }, (reason) => {\r\n \r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n\r\n const modalRef = this.modal.open(AddEditProductComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n //modalRef.componentInstance.refreshGrid.subscribe(event => this.gotoArchivedProducts(false));\r\n\r\n if (this._methodToload == this.methodName.archive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.gotoArchivedProducts(true));\r\n else if (this._methodToload == this.methodName.nonArchive)\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.gotoArchivedProducts(false));\r\n\r\n\r\n }\r\n\r\n gotoBookingsList(isAllBookings) {\r\n this._paramOut.allBookings = isAllBookings;\r\n this._paramOut.id = 0\r\n this.gotoProductBookings.emit(this._paramOut);\r\n }\r\n}\r\n","\n\n\n
\n
\n\n

\n {{listTitle}}\n

\n\n
\n
\n\n
\n \n \n \n \n \n \n\n \n
\n\n\n\n \n\n
\n\n
\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\n\nconst routes: Routes = [\n {\n path: '**',\n redirectTo: 'others/404'\n },\n { path: 'list', component: DashboardComponent },\n { path: 'new-product', component: DashboardComponent },\n { path: 'details', component: DashboardComponent },\n { path: 'bookings', component: DashboardComponent },\n {\n path: '',\n redirectTo: 'list',\n pathMatch: 'full'\n },];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\n\nexport class ProductRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { ProductRoutingModule } from './product-routing.module';\nimport { ProductListComponent } from './product-list/product-list.component';\nimport { ProductBookingsComponent } from './product-bookings/product-bookings.component';\nimport { AddEditProductComponent } from './add-edit-product/add-edit-product.component';\nimport { ProductActionsComponent } from './product-actions/product-actions.component';\nimport { ProductClickableParentComponent } from './product-clickable-parent/product-clickable-parent.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [\n ProductListComponent,\n ProductBookingsComponent,\n AddEditProductComponent,\n ProductActionsComponent,\n ProductClickableParentComponent\n ],\n imports: [\n CommonModule,\n ProductRoutingModule,\n AgGridModule,\n FormsModule,\n ReactiveFormsModule,\n MatSelectModule,\n MatInputModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatMenuModule,\n MatIconModule\n ],\n exports: [\n ProductListComponent,\n ProductBookingsComponent,\n ProductActionsComponent,\n ProductClickableParentComponent\n ]\n})\nexport class ProductModule { }\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DelegateService } from '../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-products-booking',\r\n templateUrl: './products-booking.component.html',\r\n styleUrls: ['./products-booking.component.css']\r\n})\r\nexport class ProductsBookingComponent implements OnInit {\r\n\r\n bookingForm: FormGroup;\r\n acceptedTC: any = false;\r\n gdprList: any = [];\r\n foiList: any = [];\r\n rmList: any = [];\r\n\r\n selectedGDPR: any;\r\n gdprId: any;\r\n gdprDate: any;\r\n\r\n selectedFOI: any;\r\n foiId: any;\r\n foiDate: any;\r\n\r\n selectedRM: any;\r\n rmId: any;\r\n rmDate: any;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private _route: Router,\r\n private _delegateService: DelegateService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n $('body').addClass(\"booking-bg\");\r\n\r\n this.bookingForm = this.formBuilder.group({\r\n\r\n name: ['', Validators.required],\r\n organization: ['', Validators.required],\r\n department: [''],\r\n address: ['', Validators.required],\r\n city: ['', Validators.required],\r\n postcode: ['', Validators.required],\r\n telephone: ['', Validators.required],\r\n email: ['', Validators.email],\r\n\r\n invoice_name: ['', Validators.required],\r\n invoice_organization: ['', Validators.required],\r\n invoice_department: [''],\r\n invoice_address: ['', Validators.required],\r\n invoice_city: ['', Validators.required],\r\n invoice_postcode: ['', Validators.required],\r\n invoice_telephone: ['', Validators.required],\r\n invoice_email: ['', Validators.email],\r\n invoice_purchaseOrder: [''],\r\n\r\n dd_GDPR: ['', Validators.required],\r\n dd_FOI: ['', Validators.required],\r\n dd_RM: ['', Validators.required],\r\n\r\n subscription: ['', Validators.required],\r\n leaflet: ['', Validators.required],\r\n\r\n invoice_details: [false],\r\n invoice_tc: [false, Validators.required],\r\n\r\n });\r\n\r\n\r\n this.getFoundationCertDDLists();\r\n }\r\n\r\n get f() { return this.bookingForm.controls; }\r\n\r\n updateInvoiceDetails(val) {\r\n\r\n if (val == true) {\r\n\r\n this.bookingForm.controls.invoice_name.setValue(this.bookingForm.controls.name.value);\r\n this.bookingForm.controls.invoice_organization.setValue(this.bookingForm.controls.organization.value);\r\n this.bookingForm.controls.invoice_department.setValue(this.bookingForm.controls.department.value);\r\n this.bookingForm.controls.invoice_address.setValue(this.bookingForm.controls.address.value);\r\n this.bookingForm.controls.invoice_city.setValue(this.bookingForm.controls.city.value);\r\n this.bookingForm.controls.invoice_postcode.setValue(this.bookingForm.controls.postcode.value);\r\n this.bookingForm.controls.invoice_telephone.setValue(this.bookingForm.controls.telephone.value);\r\n this.bookingForm.controls.invoice_email.setValue(this.bookingForm.controls.email.value);\r\n\r\n } else {\r\n this.bookingForm.controls.invoice_name.setValue('');\r\n this.bookingForm.controls.invoice_organization.setValue('');\r\n this.bookingForm.controls.invoice_department.setValue('');\r\n this.bookingForm.controls.invoice_address.setValue('');\r\n this.bookingForm.controls.invoice_city.setValue('');\r\n this.bookingForm.controls.invoice_postcode.setValue('');\r\n this.bookingForm.controls.invoice_telephone.setValue('');\r\n this.bookingForm.controls.invoice_email.setValue('');\r\n\r\n }\r\n\r\n }\r\n\r\n termConditions(val) {\r\n\r\n this.acceptedTC = val;\r\n }\r\n\r\n onBookingSubmit() {\r\n\r\n \r\n var req = {\r\n\r\n\r\n name: this.bookingForm.controls.name.value,\r\n organization: this.bookingForm.controls.organization.value,\r\n department: this.bookingForm.controls.department.value,\r\n address: this.bookingForm.controls.address.value,\r\n city: this.bookingForm.controls.city.value,\r\n postcode: this.bookingForm.controls.postcode.value,\r\n telephone: this.bookingForm.controls.telephone.value,\r\n email: this.bookingForm.controls.email.value,\r\n\r\n invoice_name: this.bookingForm.controls.invoice_name.value,\r\n invoice_organization: this.bookingForm.controls.invoice_organization.value,\r\n invoice_department: this.bookingForm.controls.invoice_department.value,\r\n invoice_address: this.bookingForm.controls.invoice_address.value,\r\n invoice_city: this.bookingForm.controls.invoice_city.value,\r\n invoice_postcode: this.bookingForm.controls.invoice_postcode.value,\r\n invoice_telephone: this.bookingForm.controls.invoice_telephone.value,\r\n invoice_email: this.bookingForm.controls.invoice_email.value,\r\n invoice_purchaseOrder: this.bookingForm.controls.invoice_purchaseOrder.value,\r\n\r\n webinar_GDPR_date: this.gdprDate,\r\n webinar_GDPR: this.gdprId, // \"\" + this.bookingForm.controls.dd_GDPR.value,\r\n\r\n\r\n webinar_FOI_date: this.foiDate,\r\n webinar_FOI: this.foiId, // \"\" + this.bookingForm.controls.dd_FOI.value,\r\n\r\n webinar_RM_date: this.rmDate,\r\n webinar_RM: this.rmId, // \"\" + this.bookingForm.controls.dd_RM.value,\r\n\r\n subscription: this.bookingForm.controls.subscription.value,\r\n leaflet: this.bookingForm.controls.leaflet.value\r\n\r\n\r\n\r\n };\r\n \r\n this._delegateService.insertProductBooking(req).subscribe((result: any) => {\r\n\r\n\r\n if (result.success == true) {\r\n\r\n this.bookingForm.reset(); \r\n this._route.navigateByUrl(\"/booking-confirmation\");\r\n\r\n } else {\r\n //show errror popup\r\n\r\n }\r\n\r\n //}, (_error: any) => {\r\n // //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getFoundationCertDDLists() {\r\n\r\n\r\n this._delegateService.getFoundationCertDDLists().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.gdprList = result.data[0];\r\n this.foiList = result.data[1];\r\n this.rmList = result.data[2];\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n onGDPRSelected(event) {\r\n this.selectedGDPR = event.value.split(','); // event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.gdprId = this.selectedGDPR[0];\r\n this.gdprDate = this.selectedGDPR[1];\r\n }\r\n\r\n onFOISelected(event) {\r\n this.selectedFOI = event.value.split(','); // event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.foiId = this.selectedFOI[0];\r\n this.foiDate = this.selectedFOI[1];\r\n }\r\n\r\n onRMSelected(event) {\r\n this.selectedRM = event.value.split(','); //event.source.selected._element.nativeElement.innerText.split(',');\r\n\r\n this.rmId = this.selectedRM[0];\r\n this.rmDate = this.selectedRM[1];\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n xxx\n\n\n
\n\n\n\n
\n
\n\n

\n DELEGATE DETAILS\n

\n\n
\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n \n
\n
{{errors.required}}
\n
\n
\n
\n
\n\n
\n
\n

\n INVOICE DETAILS\n

\n\n
\n
\n Same as DELEGATE DETAILS\n
\n\n
\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n \n\n
\n \n
\n\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n
\n
{{errors.required}}
\n
\n
\n\n
\n \n
\n
\n \n\n
\n\n\n
\n
\n
\n
\n
\n\n\n
\n
LIVE WEBINARS
\n\n
\n\n Please choose a date to participate in each of the live webinars below.\n\n
\n\n
\n\n \n \n Select date\n {{gdpr.courseDate | date:'dd-MM-yy'}}\n \n \n
\n\n
\n \n \n Select date\n {{foi.courseDate | date:'dd-MM-yy'}}\n \n
\n\n
\n \n \n Select date\n {{rm.courseDate | date:'dd-MM-yy'}}\n \n
\n
\n\n\n
\n
MODULES
\n\n
\n\n You will receive a link to the modules and online assessments with your booking confirmation.\n\n
\n
\n\n
\n\n \n \n \n\n
YOUR PRIVACY
\n\n We respect your privacy and will only use your personal data in accordance with the General Data Protection Regulation (GDPR). Click here to read our full privacy policy.\n\n
\n\n\n
\n\n

\n Would you like to subscribe to our regular email and blog which will keep you up to date with the latest news, views and developments in the world of information and surveillance law?\n (required)

\n\n \n Yes\n No\n Already Subscribed\n \n\n\n\n
\n\n

From time to time we post out leaflets detailing our new training courses and e learning products. Would you like to receive these? (required)

\n\n \n Yes\n No\n Already Subscribed\n \n\n
\n\n\n
\n
TERMS AND CONDITIONS
\n\n
    \n\n
  1. Act Now Training will invoice your organisation for this booking. Receipt of a booking form by us implies that you have the necessary internal approvals.
  2. \n\n
  3. The invoice is payable within 30 days of being issued, not after the course has started or after you have completed it.
  4. \n\n
  5. You will have a choice of dates to participate in the live webinars. You have to state your choice at the time of booking (above). You can change your choice of date on one occasion 7 days prior to a webinar. After that time an additional fee of £69 plus vat will be payable.
  6. \n\n
  7. If you do not attend a webinar then there will be an additional charge of £69 plus vat if you wish to attend on another date.
  8. \n\n
  9. You can cancel your booking within 14 days of us receiving it provided that you have not participated in any live webinars and have not accessed the recorded modules or the assessments. If you have done any of the above or cancel after 14 days then the full fee is payable.
  10. \n\n
  11. You can transfer your booking to another colleague in your organisation only if you have not participated in any live webinars and have not accessed the recorded modules or the assessments.
  12. \n\n
  13. For the avoidance of doubt, you cannot transfer your booking to a colleague or cancel the booking after you have started the course.
  14. \n\n
  15. The full fee remains payable even if the course is not completed.
  16. \n\n
  17. Our courses are tailored towards an audience of people who are employed by organisations who deal with personal data and FOI requests. We reserve the right to refuse any bookings especially from consultants and those in the business of information rights training.
  18. \n\n
\n
\n Please tick to accept the terms and conditions.\n
\n
\n
\n \n
\n\n
\n","import { DOCUMENT } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Inject, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, FirstDataRenderedEvent, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\nimport * as $ from \"jquery\";\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\nimport jsPDF from 'jspdf';\r\n\r\n@Component({\r\n selector: 'app-debt-collection',\r\n templateUrl: './debt-collection.component.html',\r\n styleUrls: ['./debt-collection.component.css']\r\n})\r\nexport class DebtCollectionComponent implements OnInit {\r\n\r\n currentDate: Date = new Date();\r\n debtCollectionList: any = [];\r\n debtCollectionCount: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n filterToggleAll: boolean = true;\r\n\r\n _methodToload: any = \"\";\r\n //listTitle: any = \"Products\";\r\n paginationPageSize: any = 10;\r\n\r\n _paramOut = {\r\n allBookings: false, id: 0\r\n }\r\n\r\n _param = {\r\n showReceivedInvoices: false,\r\n showSuppliers: false,\r\n id: 0\r\n }\r\n\r\n @Output() gotoProductBookings = new EventEmitter();\r\n @Output() gotoDelegateDetails = new EventEmitter();\r\n\r\n @Output() gotoSuppliersList = new EventEmitter();\r\n @Output() gotoSupplierDetails = new EventEmitter();\r\n @Output() gotoInvoicesReceived = new EventEmitter();\r\n @Output() gotoInvoicesIssued = new EventEmitter();\r\n @Output() gotoDebtCollection = new EventEmitter();\r\n @Output() gotoXeroInvoices = new EventEmitter();\r\n @Output() gotoCreditNotes = new EventEmitter();\r\n\r\n _paramAdmin = {\r\n gotoAdmin: \"\"\r\n }\r\n\r\n @Output() gotoAdminTab = new EventEmitter();\r\n\r\n\r\n\r\n constructor(@Inject(DOCUMENT) private document: Document,\r\n private _commonService: CommonServiceService,\r\n private _financeService: FinanceService) {\r\n\r\n _commonService.setBackNavigation();\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n //animateRows: true,\r\n //groupDisplayType: 'groupRows',\r\n //onFirstDataRendered: this.onFirstDataRendered,\r\n };\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n //onFirstDataRendered(params: FirstDataRenderedEvent) {\r\n // params.api.expandAll();\r\n //}\r\n\r\n gotoAdmin(param) {\r\n this._paramAdmin.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramAdmin);\r\n }\r\n\r\n public columnDefs: ColDef[] = [\r\n { field: 'dateAdded', headerName: 'Status', width: 100, cellRenderer: params => this.getStatus(params.value) },\r\n { field: 'dateAdded', headerName: 'Date', width: 90, valueFormatter: this.convertStringToDate },\r\n { field: 'dateAdded', headerName: 'Days since invoice', width: 90, cellRenderer: params => this.getDaysCount(params.value) },\r\n { field: 'dateAdded', headerName: 'Overdue by', width: 90, cellRenderer: params => this.daysOverdueBy(params.value) },\r\n { field: 'invoiceNumber', headerName: 'Invoice Number', width: 90 },\r\n { field: 'amount', width: 65, headerName: 'Amount', cellRenderer: params => this.currencyFormatter(params.value), },\r\n { field: 'delegate.name', headerName: 'Issued To', width: 150 },\r\n { field: 'delegate.email', headerName: 'Email', width: 150, valueFormatter: this.noDataFound },\r\n { field: 'delegate.telephone', headerName: 'Telephone', width: 150, valueFormatter: this.noDataFound },\r\n { field: 'delegate.organization', headerName: 'Organisation', width: 150, valueFormatter: this.noDataFound },\r\n { field: 'courseCode', headerName: 'Course Code', width: 90, },\r\n { field: 'courseTitle', headerName: 'Course Title', width: 300 },\r\n\r\n\r\n\r\n //{ field: 'title', headerName: 'Product Title', width: 325 },\r\n //{\r\n // field: 'cost', headerName: 'Cost', width: 200,\r\n // cellRenderer: params => params.value == null ? \"-\" : params.value,\r\n //},\r\n //{\r\n // field: 'Action', cellRendererFramework: ProductClickableParentComponent,\r\n // sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n //}\r\n ];\r\n\r\n noDataFound(param) {\r\n if (param.value == null)\r\n return \"-\";\r\n else return param.value;\r\n }\r\n\r\n //STATUS COLORS\r\n getStatus(dateString) {\r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n\r\n const status = this.getColor(daysDiff);\r\n\r\n if (status == 'green')\r\n return \"
\";\r\n else if (status == 'amber')\r\n return \"
\";\r\n else if (status == 'red')\r\n return \"
\";\r\n else if (status == 'debt-red')\r\n return \"
\";\r\n else \"\";\r\n //return daysDiff.toString() + \" Days\";\r\n }\r\n\r\n //DAYS COUNT\r\n getDaysCount(dateString): string {\r\n\r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24)));\r\n return daysDiff.toString() + \" Days\";\r\n }\r\n\r\n daysOverdueBy(dateString): string {\r\n const givenDate = new Date(dateString);\r\n const today = new Date();\r\n const timeDiff = today.getTime() - givenDate.getTime();\r\n const daysDiff = (Math.floor(timeDiff / (1000 * 3600 * 24))) - 28;\r\n return daysDiff.toString() + \" Days\";\r\n }\r\n\r\n // VAT\r\n addVAT(amount, vatRate) {\r\n var vat = amount * vatRate / 100;\r\n var totalAmount = amount + vat;\r\n return totalAmount;\r\n }\r\n\r\n // DATA FORMATTING\r\n currencyFormatter(currency) {\r\n\r\n if (currency != null) {\r\n currency = this.addVAT(currency, 20);\r\n var sansDec = currency.toFixed(1);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return '£' + `${formatted}`;\r\n }\r\n else return '-';\r\n }\r\n\r\n truncateString(str) {\r\n if (str != null && str != \"\")\r\n if (str.length <= 40) {\r\n return str;\r\n } else {\r\n return str.slice(0, 40) + '...';\r\n }\r\n else {\r\n return \"-\";\r\n }\r\n }\r\n\r\n getColor(value) {\r\n\r\n if (value < 28) {\r\n return 'green';\r\n } else if (value > 28 && value <= 49) {\r\n return 'amber';\r\n } else if (value > 63) {\r\n return 'debt-red';\r\n } else if (value > 49) {\r\n //return 'redborder';\r\n return 'red'\r\n }\r\n\r\n\r\n }\r\n\r\n convertStringToDate(params) {\r\n\r\n var strDate = params.value;\r\n if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n var date = new Date(strDate);\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n\r\n //return new Date(strDate).toString();\r\n }\r\n else return \"\";\r\n //else return new Date().toString();\r\n }\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n resizable: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#debtCollectionGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#debtCollectionGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n //if (e.colDef.field != \"Action\")\r\n //if (e.colDef.field != \"Action\") {\r\n // this._paramOut.allBookings = false;\r\n // this._paramOut.id = e.data.id\r\n // this.gotoProductBookings.emit(this._paramOut);\r\n //}\r\n\r\n this.gotoDelegateDetails.emit(e.data);\r\n }\r\n\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n localStorage.setItem('projectPageSize', '50');\r\n this.getDebtCollectionList(-28);\r\n this.getDebtCollectionCount();\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n\r\n getListLessThan28Days() {\r\n this.getDebtCollectionList(-28);\r\n }\r\n\r\n getListGreaterThan28LessThan49Days() {\r\n this.getDebtCollectionList(-49);\r\n }\r\n\r\n getListGreaterThan49Days() {\r\n this.getDebtCollectionList(49);\r\n }\r\n\r\n getListGreaterThan63Days() {\r\n this.getDebtCollectionList(63);\r\n }\r\n\r\n printing1() {\r\n\r\n\r\n //const api = this.gridOptions.api!;\r\n\r\n //this.setPrinterFriendly(api);\r\n\r\n //setTimeout(() => {\r\n // print();\r\n // this.setNormal(api);\r\n //}, 500);\r\n\r\n const section = $(\"#section-to-print\");\r\n section.css(\"display\", \"block\");\r\n\r\n // Allow the browser to render the section before printing\r\n setTimeout(() => {\r\n window.print();\r\n }, 250); // Adjust the delay if necessary\r\n\r\n\r\n\r\n //$(\"#section-to-print\").css(\"display\", \"block\");\r\n //window.print();\r\n //$(\"#section-to-print\").css(\"display\", \"none\");\r\n\r\n ////Copy the element you want to print to the print-me div.\r\n ////$(\"#printarea\").clone().appendTo(\"#print-me\");\r\n ////Apply some styles to hide everything else while printing.\r\n ////$(\"#section-to-print\").show();\r\n //$(\"body\").addClass(\"print\");\r\n ////$(\"#section-to-print\").hide();\r\n ////Print the window.\r\n\r\n\r\n //window.print();\r\n ////Restore the styles.\r\n\r\n //$(\"body\").removeClass(\"print\");\r\n ////Clear up the div.\r\n ////$(\"#print-me\").empty();\r\n\r\n //$(\"#print-me\").printThis({\r\n\r\n // //debug: true\r\n //});\r\n\r\n //($(\"#print-me\")).printThis({\r\n\r\n // //debug: true\r\n //});\r\n\r\n //const eGridDiv = document.querySelector('#debtCollectionGrid')! as any;\r\n\r\n\r\n //eGridDiv.style.width = '100%';\r\n //eGridDiv.style.height = '1000px';\r\n //this.gridOptions.api!.setDomLayout('print');\r\n\r\n ////print();\r\n //setTimeout(function () {\r\n // print();\r\n // //setNormal(api);\r\n //}, 2000);\r\n\r\n\r\n //var printContents = this.document.getElementById('#debtCollectionGrid').innerHTML;\r\n //const originalContents = document.body.innerHTML;\r\n //document.body.innerHTML = printContents;\r\n //window.print();\r\n //document.body.innerHTML = originalContents;\r\n\r\n\r\n ////const eGridDiv = document.querySelector('#debtCollectionGrid')! as any;\r\n\r\n //var eGridDiv = document.querySelector(\"#debtCollectionGrid\") as HTMLElement;\r\n ////elm.style.height = '535px';\r\n\r\n ////eGridDiv.style.width = '';\r\n ////eGridDiv.style.height = '';\r\n ////this.gridApi.setDomLayout('print');\r\n\r\n\r\n\r\n //var printContents = eGridDiv.innerHTML;\r\n //const originalContents = document.body.innerHTML;\r\n //document.body.innerHTML = printContents;\r\n //window.print();\r\n //document.body.innerHTML = originalContents;\r\n\r\n ////print();\r\n\r\n\r\n //var eGridDiv = document.querySelector(\"#debtCollectionGrid\") as HTMLElement;\r\n\r\n //var mywindow = window.open('', 'PRINT', 'height=400,width=600');\r\n\r\n //window.document.write('' + document.title + '');\r\n //window.document.write('');\r\n //window.document.write('

' + document.title + '

');\r\n //window.document.write(eGridDiv.innerHTML);\r\n //window.document.write('');\r\n\r\n //window.document.close(); // necessary for IE >= 10\r\n //window.focus(); // necessary for IE >= 10*/\r\n\r\n //window.print();\r\n //window.close();\r\n\r\n\r\n\r\n }\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n printing() {\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n\r\n pdf.setFontSize(8);\r\n\r\n pdf.html(this.el.nativeElement, {\r\n\r\n callback: (pdf) => {\r\n pdf.save('DebtCollection.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 5000);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n setPrinterFriendly(api: GridApi) {\r\n\r\n\r\n\r\n //api.paginationGetRowCount()\r\n this.gridApi.paginationSetPageSize(100);\r\n\r\n\r\n const eGridDiv = document.querySelector('#debtCollectionGrid')! as any;\r\n\r\n eGridDiv.style.width = '';\r\n eGridDiv.style.height = '';\r\n\r\n //this.gridOptions.rowClass = \"no-border\";\r\n\r\n //this.gridOptions.columnApi?.setColumnVisible(\"Reopen\", true);\r\n api.sizeColumnsToFit();\r\n\r\n\r\n api.setDomLayout('print');\r\n\r\n\r\n }\r\n\r\n setNormal(api: GridApi) {\r\n\r\n api.setDomLayout(\"normal\");\r\n\r\n this.setFixedHeight();\r\n this.onPageSizeChanged();\r\n\r\n const eGridDiv = document.querySelector('#debtCollectionGrid')! as any;\r\n eGridDiv.style.width = '100%';\r\n api.sizeColumnsToFit();\r\n\r\n //api.setDomLayout();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n getDebtCollectionList(n) {\r\n\r\n var req = {\r\n days: n\r\n }\r\n\r\n this._financeService.getDebtCollectionList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.debtCollectionList = result.data;\r\n //this.debtCollectionList = result.data.filter(obj => obj.id != null); ;\r\n debugger;\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n getDebtCollectionCount() {\r\n\r\n\r\n\r\n this._financeService.getDebtCollectionCount().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.debtCollectionCount = result.data;\r\n\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n //gotoBookingsList(isAllBookings) {\r\n // this._paramOut.allBookings = isAllBookings;\r\n // this._paramOut.id = 0\r\n // this.gotoProductBookings.emit(this._paramOut);\r\n //}\r\n\r\n\r\n gotoSuppliers() {\r\n this.gotoSuppliersList.emit();\r\n }\r\n\r\n gotoInvoicesReceivedList() {\r\n //this._param.showReceivedInvoices = true;\r\n //this._param.id = 0\r\n //this._param.showSuppliers = false;\r\n //this.gotoInvoicesReceived.emit(this._param);\r\n\r\n this.gotoInvoicesReceived.emit();\r\n }\r\n\r\n\r\n gotoXeroInvoicesList() {\r\n\r\n this.gotoXeroInvoices.emit();\r\n }\r\n\r\n gotoInvoicesIssuedList() {\r\n this.gotoInvoicesIssued.emit();\r\n }\r\n\r\n gotoCreditNotesList() {\r\n this.gotoCreditNotes.emit();\r\n }\r\n\r\n getFilterToggleValue(val: any) {\r\n\r\n this.filterToggleAll = false;\r\n //this.toggleFilterValue = val;\r\n\r\n if (val == \"<28 Days\")\r\n this.getListLessThan28Days();\r\n else if (val == \">28<49 Days\")\r\n this.getListGreaterThan28LessThan49Days();\r\n else if (val == \">49 Days\")\r\n this.getListGreaterThan49Days();\r\n else if (val == \">63 Days\")\r\n this.getListGreaterThan63Days();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","
\n\n
\n
\n \n
\n
\n\n

\n Debt Collection\n

\n\n {{ currentDate | date:'longDate' }}\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Days since invoiceDelegateDebtOverdue
\n \n \n \n\n \n\n \n\n \n\n \n\n\n \n\n
\n \n \n {{getDaysCount(debt.dateAdded)}}\n \n {{debt.delegate?.name ?? '-'}}\n
\n {{truncateString(debt.delegate?.organization) ?? 'N/A'}}\n
\n Course:  {{truncateString(debt.courseTitle)}}\n
\n Invoice number:  {{debt.invoiceNumber ?? 'Not yet added'}}\n
\n Finance Details:  {{debt.delegate?.invoiceName ?? 'N/A'}}\n   |   {{debt.delegate?.invoiceTelephone ?? 'N/A'}}\n \n
\n {{addVAT(debt.amount,20) | currency: 'GBP' : 'symbol' : '1.2-2'}}\n \n {{daysOverdueBy(debt.dateAdded)}}\n
\n
\n
\n\n\n
\n
\n\n

\n Debt Collection\n

\n\n
\n
\n\n\n
\n \n \n\n \n\n \n \n \n \n \n \n \n
\n\n\n\n \n\n\n \n \n\n\n
\n
\n \n \n <28 Days\n \n \n\n
\n
\n
\n £{{debtCollectionCount.total_28 | number}} | {{debtCollectionCount.invoices_count_28}}\n
\n
\n
\n\n\n
\n
\n 28<49 Days\" (change)=\"getFilterToggleValue('>28<49 Days')\" class=\"debt-toggle-button pull-right filter-apply mr-1 p-rl-10px- toggle-color\">\n >28<49 Days\n \n
\n
\n
\n £{{debtCollectionCount.total_Minus49 | number}} | {{debtCollectionCount.invoices_count_Minus49}}\n
\n
\n
\n\n
\n
\n 49 Days\" (change)=\"getFilterToggleValue('>49 Days')\" class=\"debt-toggle-button pull-right filter-apply mr-1 toggle-color\">\n \n >49 Days\n \n \n
\n\n
\n
\n £{{debtCollectionCount.total_49 | number}} | {{debtCollectionCount.invoices_count_49}}\n
\n
\n
\n\n
\n
\n 63 Days\" (change)=\"getFilterToggleValue('>63 Days')\" class=\"debt-toggle-button pull-right filter-apply mr-1 toggle-color\">\n \n >63 Days\n \n \n
\n
\n
\n £{{debtCollectionCount.total_63 | number}} | {{debtCollectionCount.invoices_count_63}}\n
\n
\n
\n\n
\n\n\n \n\n\n\n\n
\n\n
\n\n\n\n
\n Page size: \n \n
\n\n\n\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-marketing-stats',\n templateUrl: './marketing-stats.component.html',\n styleUrls: ['./marketing-stats.component.css']\n})\nexport class MarketingStatsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

marketing-stats works!

\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\n\r\n@Component({\r\n selector: 'app-speaker-course-numbers',\r\n templateUrl: './speaker-course-numbers.component.html',\r\n styleUrls: ['./speaker-course-numbers.component.css']\r\n})\r\nexport class SpeakerCourseNumbersComponent implements OnInit {\r\n\r\n _paramOut = {\r\n gotoAdmin: \"\"\r\n }\r\n\r\n @Output() gotoSpeakerDetails = new EventEmitter();\r\n @Output() gotoAdminTab = new EventEmitter();\r\n\r\n __endDate = new Date();\r\n \r\n coursesCountDateFilter = new FormGroup({\r\n //start: new FormControl(new Date(year, month, 13)),\r\n //end: new FormControl(new Date(year, month, 16)),\r\n\r\n start: new FormControl(new Date()),\r\n end: new FormControl(new Date()),\r\n });\r\n\r\n speakersList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n paginationPageSize: any = 50;\r\n\r\n\r\n constructor(private _financeService: FinanceService) {\r\n\r\n this.__endDate.setDate(this.__endDate.getDate() + 90);\r\n \r\n this.coursesCountDateFilter = new FormGroup({\r\n start: new FormControl(new Date()),\r\n end: new FormControl(new Date(this.__endDate.getFullYear(), this.__endDate.getMonth(), this.__endDate.getDate())),\r\n });\r\n\r\n\r\n this.gridOptions = {\r\n suppressCellSelection: true,\r\n context: {\r\n componentParent: this\r\n }\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n localStorage.setItem('projectPageSize', '10');\r\n this.getAllSpeakersCoursesList();\r\n }\r\n\r\n gotoAdmin(param) {\r\n this._paramOut.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramOut);\r\n }\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'speaker_Name', headerName: 'Title' },\r\n { field: 'initials', headerName: 'Initials' },\r\n { field: 'email', headerName: 'Email' },\r\n { field: 'mobile_Number', headerName: 'Mobile Number' },\r\n { field: 'total_Courses', headerName: 'Total Courses' },\r\n //{\r\n // field: 'Action', cellRendererFramework: SpeakersClickableParentComponent,\r\n // sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n //}\r\n ];\r\n\r\n //convertStringToDate(params) {\r\n\r\n // var strDate = params.value;\r\n // if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n // var date = new Date(strDate);\r\n // var dd = String(date.getDate()).padStart(2, '0');\r\n // var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n // var yyyy = date.getFullYear();\r\n\r\n // var _date = dd + '/' + mm + '/' + yyyy;\r\n // return _date;\r\n\r\n // //return new Date(strDate).toString();\r\n // }\r\n // else return \"\";\r\n // //else return new Date().toString();\r\n //}\r\n\r\n //reconcileCellRendererFunc(params) {\r\n // var strDate = params.value;\r\n // if (params.value == true)\r\n // return \"\";\r\n // else return \"
\";\r\n //}\r\n\r\n public rowData = [];\r\n // { make: 'Toyota', model: 'Celica', price: 35000 },\r\n // { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n // { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n //];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n\r\n\r\n //setAutoHeight() {\r\n // this.gridApi.setDomLayout(\"autoHeight\");\r\n // //document.querySelector(\"#dGrid\").style.height = \"\";\r\n // var elm = document.querySelector(\"#speakersGrid\") as HTMLElement;\r\n\r\n\r\n // var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // // elm_outer.offsetHeight \r\n // elm.style.height = screen.height - 300 + \"px\";\r\n // //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n //}\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#speakersGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n //{ make: 'Toyota', model: 'Celica', price: 35000 },\r\n //{ make: 'Ford', model: 'Mondeo', price: 32000 },\r\n //{ make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n\r\n //if (e.colDef.field != \"Action\")\r\n this.gotoSpeakerDetails.emit(e.data);\r\n\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n //methodName = {\r\n\r\n // nonArchive: \"nonArchive\",\r\n // archive: \"archive\"\r\n //}\r\n\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n\r\n this.getAllSpeakersCoursesList();\r\n }\r\n\r\n getAllSpeakersCoursesList() {\r\n\r\n\r\n var req = {\r\n startDate: this.coursesCountDateFilter.value.start,\r\n endDate: this.coursesCountDateFilter.value.end\r\n }\r\n\r\n\r\n this._financeService.getAllSpeakersCoursesList(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n debugger;\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n //addNew() {\r\n // const modalRef = this.modal.open(AddEditSpeakersComponent, {\r\n // size: 'lg'\r\n // });\r\n\r\n // modalRef.result.then((result) => {\r\n\r\n // this.getSpeakersList();\r\n // }, (reason) => {\r\n\r\n // //console.log('Dismissed action: ' + reason);\r\n // });\r\n //}\r\n\r\n //openModal(param) {\r\n\r\n // const modalRef = this.modal.open(AddEditSpeakersComponent, {\r\n // size: 'lg'\r\n // });\r\n // modalRef.componentInstance.data = param;\r\n\r\n // if (localStorage.getItem('projectPageSize') != null)\r\n // this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n // modalRef.componentInstance.refreshGrid.subscribe(event => this.getSpeakersList());\r\n //}\r\n\r\n\r\n}\r\n","\n\n
\n
\n\n

\n Speakers Courses Number\n

\n
\n
\n\n
\n\n\n \n Duration\n \n \n \n \n \n \n \n \n\n\n
\n \n \n \n \n \n \n
\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n
\n Page size: \n \n
\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\n\r\n@Component({\r\n selector: 'app-add-edit-speakers',\r\n templateUrl: './add-edit-speakers.component.html',\r\n styleUrls: ['./add-edit-speakers.component.css']\r\n})\r\nexport class AddEditSpeakersComponent implements OnInit {\r\n\r\n currentDate: any = new FormControl(new Date());\r\n submitted = false;\r\n public _title = \"Add Speaker\";\r\n public locationsList: any;\r\n speakerEditForm: FormGroup;\r\n _params: any;\r\n _speakerId: any = 0;\r\n public subjectsList: any;\r\n \r\n @Input() data;\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n isNew: any = true;\r\n\r\n loading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private formBuilder: FormBuilder,\r\n private _coursesService: CoursesService,\r\n //private _delegateService: DelegateService,\r\n private _route: Router) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.loading = true;\r\n\r\n this.speakerEditForm = this.formBuilder.group({\r\n speakerName: ['', Validators.required],\r\n address1: [''],\r\n initials: [''],\r\n telephone: [''],\r\n mobile: [''],\r\n email: ['', [Validators.required, Validators.email]],\r\n email1: [''],\r\n fees: [''],\r\n subjectIds:['']\r\n });\r\n\r\n this.getSubjectsList();\r\n\r\n if (Object.keys(this.data).length === 0) {\r\n // this is add case\r\n }\r\n else {\r\n this.isNew = false;\r\n this.populateForm(this.data);\r\n }\r\n\r\n \r\n\r\n this.loading = false;\r\n }\r\n\r\n getSubjectsList() {\r\n\r\n this._coursesService.getSubjectsList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n \r\n this.subjectsList = result.data;\r\n } else {\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n get f() { return this.speakerEditForm.controls; }\r\n\r\n populateForm(__data) {\r\n \r\n this._title = \"Edit Speaker\";\r\n this._speakerId = __data.speakerId;\r\n this.speakerEditForm.controls.speakerName.setValue(__data.speakerName);\r\n this.speakerEditForm.controls.address1.setValue(__data.address);\r\n this.speakerEditForm.controls.initials.setValue(__data.initials);\r\n this.speakerEditForm.controls.telephone.setValue(__data.telephoneHome);\r\n this.speakerEditForm.controls.mobile.setValue(__data.mobileNumber);\r\n this.speakerEditForm.controls.email.setValue(__data.email1);\r\n this.speakerEditForm.controls.email1.setValue(__data.email2);\r\n this.speakerEditForm.controls.fees.setValue(__data.fees);\r\n\r\n this.speakerEditForm.controls.subjectIds.setValue(__data.subjectIds.split(\", \").map(Number));\r\n\r\n }\r\n\r\n\r\n onSubmit() {\r\n\r\n var req = {\r\n speaker: {\r\n SpeakerId: Number(this._speakerId),\r\n SpeakerName: this.speakerEditForm.controls.speakerName.value,\r\n address: this.speakerEditForm.controls.address1.value,\r\n initials: this.speakerEditForm.controls.initials.value,\r\n telephoneHome: this.speakerEditForm.controls.telephone.value,\r\n mobileNumber: this.speakerEditForm.controls.mobile.value,\r\n email1: this.speakerEditForm.controls.email.value,\r\n email2: this.speakerEditForm.controls.email1.value,\r\n fees: parseInt(this.speakerEditForm.controls.fees.value), \r\n SubjectIds: this.speakerEditForm.controls.subjectIds.value.join(', '),\r\n }\r\n };\r\n\r\n \r\n this._coursesService.addEditSpeaker(req).subscribe((result: any) => {\r\n\r\n \r\n if (result.success == true) {\r\n\r\n this.activeModal.close('Close click');\r\n this.refreshGrid.emit();\r\n\r\n } else {\r\n //show error popup\r\n\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n}\r\n","
\n\n
{{_title}}
\n\n
\n\n\n
\n\n
\n\n
\n\n
\n\n \n \n
\n
{{errors.name}}
\n
\n\n
\n\n
\n \n \n {{sub.title}}\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n\n \n \n
\n
{{errors.email}}
\n
\n
\n\n
\n \n \n
\n
{{errors.email}}
\n
\n
\n\n
\n \n \n
\n
{{errors.courseTitle}}
\n
\n\n
\n
\n\n
\n\n \n
\n \n
\n
\n\n
\n\n\n
\n\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport jsPDF from 'jspdf';\r\nimport { FinanceService } from '../../../common/_services/finance-services';\r\n\r\n@Component({\r\n selector: 'app-speaker-details',\r\n templateUrl: './speaker-details.component.html',\r\n styleUrls: ['./speaker-details.component.css']\r\n})\r\nexport class SpeakerDetailsComponent implements OnInit {\r\n\r\n @Input() speakerId: any;\r\n coursesList: any = [];\r\n displayCourse: any = [];\r\n speakerData: any;\r\n\r\n _paramOut = {\r\n gotoAdmin: \"\"\r\n }\r\n @Output() gotoAdminTab = new EventEmitter();\r\n\r\n __endDate = new Date();\r\n\r\n coursesCountDateFilter = new FormGroup({\r\n\r\n start: new FormControl(new Date(2022, 1, 1)),\r\n end: new FormControl(new Date(2024, 6, 30)),\r\n });\r\n\r\n constructor(private _financeService: FinanceService) {\r\n\r\n this.__endDate.setDate(this.__endDate.getDate() + 90);\r\n\r\n this.coursesCountDateFilter = new FormGroup({\r\n start: new FormControl(new Date()),\r\n end: new FormControl(new Date(this.__endDate.getFullYear(), this.__endDate.getMonth(), this.__endDate.getDate())),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.speakerId) {\r\n if (Number(this.speakerId) > 0) {\r\n this.getSpeakerData();\r\n }\r\n }\r\n\r\n this.showCourses();\r\n\r\n\r\n }\r\n\r\n getSpeakerData() {\r\n\r\n\r\n this._financeService.getSpeakerData(this.speakerId).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakerData = result.data[0];\r\n debugger;\r\n this.getSpeakerCourses();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n getSpeakerCourses() {\r\n var req = {\r\n SpeakerId: this.speakerId,\r\n startDate: this.coursesCountDateFilter.value.start,\r\n endDate: this.coursesCountDateFilter.value.end\r\n }\r\n\r\n\r\n this._financeService.getIndividualSpeakersCourses(req).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.coursesList = result.data;\r\n\r\n this.displayCourse = [];\r\n\r\n\r\n this.coursesList.sort(this.sortFunction);\r\n\r\n let data = new Set(this.coursesList.map(item => item.month))\r\n data.forEach((month) => {\r\n this.displayCourse.push({\r\n date: this.coursesList.filter(i => i.month === month)[0].month,\r\n courses: this.coursesList.filter(i => i.month === month)\r\n })\r\n })\r\n\r\n this.displayCourse.forEach( (value) => {\r\n value.courses.sort(this.sortDatesFunction);\r\n }); \r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n sortDatesFunction(a, b) {\r\n var dateA = new Date(a.date).getTime();\r\n var dateB = new Date(b.date).getTime();\r\n return dateA > dateB ? 1 : -1;\r\n };\r\n\r\n sortFunction(a, b) {\r\n var dateA = new Date(a.month).getTime();\r\n var dateB = new Date(b.month).getTime();\r\n return dateA > dateB ? 1 : -1;\r\n };\r\n\r\n\r\n printPDF() {\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n window.print();\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }\r\n\r\n goBack() {\r\n // will be fix through routing\r\n }\r\n\r\n showProducts() {\r\n $(\"#course-section\").hide();\r\n $(\"#prod-section\").show();\r\n\r\n $(\"#show-prod-container\").addClass(\"bg-purple-gradient text-white\");\r\n $(\"#show-prod-container\").removeClass(\"bg-lg flip-btn-border\");\r\n\r\n $(\"#show-course-container\").addClass(\"bg-lg flip-btn-border text-main\");\r\n $(\"#show-course-container\").removeClass(\"bg-purple-gradient text-white\");\r\n\r\n }\r\n\r\n showCourses() {\r\n $(\"#course-section\").show();\r\n $(\"#prod-section\").hide();\r\n\r\n $(\"#show-course-container\").addClass(\"bg-purple-gradient text-white\");\r\n $(\"#show-course-container\").removeClass(\"bg-lg flip-btn-border\");\r\n\r\n $(\"#show-prod-container\").addClass(\"bg-lg flip-btn-border text-main\");\r\n $(\"#show-prod-container\").removeClass(\"bg-purple-gradient text-white\");\r\n }\r\n\r\n\r\n addEvent(event: MatDatepickerInputEvent) {\r\n this.getSpeakerCourses();\r\n }\r\n\r\n sendEmail() {\r\n\r\n }\r\n\r\n gotoAdmin(param) {\r\n this._paramOut.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramOut);\r\n }\r\n\r\n\r\n @ViewChild('printSection', { static: false }) el!: ElementRef\r\n\r\n downloadPDF() {\r\n $(\"#section-to-print\").css(\"display\", \"block\");\r\n\r\n let pdf = new jsPDF('p', 'px', 'a4', true);\r\n \r\n\r\n //margins = {\r\n // top: 30,\r\n // bottom: 40,\r\n // left: 35,\r\n // width: 600\r\n //};\r\n\r\n //pdf.setFontSize(12);\r\n //pdf.text(200, 30, fileName);\r\n pdf.setFontSize(8);\r\n //pdf.setFontStyle('italic');\r\n //pdf.text(420, 35, 'Total Records : ' + totalRecords);\r\n \r\n pdf.html(this.el.nativeElement, {\r\n \r\n callback: (pdf) => {\r\n pdf.save(this.speakerData.speakerName + '.pdf');\r\n },\r\n margin: [15, 15, 15, 15],\r\n autoPaging: 'text',\r\n x: 25,\r\n y: 25,\r\n width: 350, //target width in the PDF document\r\n windowWidth: 675 //window width in CSS pixels\r\n })\r\n\r\n setTimeout(() => {\r\n $(\"#section-to-print\").css(\"display\", \"none\");\r\n }, 5000);\r\n\r\n \r\n }\r\n\r\n //ngAfterViewInit() {\r\n // console.log(\"afterinit\");\r\n // setTimeout(() => {\r\n // console.log(this.el.nativeElement.innerText);\r\n // }, 4000);\r\n //}\r\n}\r\n","
\n\n
\n
\n \n
\n
\n\n

\n {{speakerData.speakerName}}\n

\n\n {{ coursesCountDateFilter.value.start | date:'longDate' }} - {{ coursesCountDateFilter.value.end | date:'longDate' }}\n
\n\n \n \n \n \n \n \n
DateCourseDelegate numbers
\n\n \n\n \n \n \n\n \n\n \n\n \n \n \n \n
\n {{monthData.date | date : 'MMMM yyyy' }}\n \n
\n {{course.date | date : 'dd-MM-yy'}}\n \n {{course.day}} - \n {{course.title}}\n \n N/A\n {{course.totalDelegates}}\n
\n\n \n\n
\n
\n\n\n\n\n
\n
\n\n

\n Speaker DETAILS\n

\n\n
\n
\n\n \n\n
\n \n \n \n \n \n \n \n
\n\n\n
\n\n
\n\n\n\n\n
\n
\n
\n
\n\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n \n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n\n \n
\n
\n
\n\n
\n\n
\n
\n\n
\n\n Courses\n\n
\n \n
\n
\n\n
\n
\n\n
\n
\n\n
\n\n\n \n Duration\n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n \n\n
\n\n\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n
\n\n\n
\n
\n\n\n\n \n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n \n\n\n\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-speakers-actions',\n template: `edit\n delete`,\n styleUrls: ['./speakers-actions.component.css']\n})\nexport class SpeakersActionsComponent implements OnInit {\n\n @Input() cell: any;\n @Input() type: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n \n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DeleteComponent } from '../../../shared/_components/delete/delete.component';\r\n\r\n@Component({\r\n selector: 'app-speakers-clickable-parent',\r\n //templateUrl: './speakers-clickable-parent.component.html',\r\n template: ``,\r\n styleUrls: ['./speakers-clickable-parent.component.css']\r\n})\r\nexport class SpeakersClickableParentComponent implements OnInit {\r\n\r\n\r\n private params: any;\r\n public cell: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n // \r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.speakerId };\r\n\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n private _courseService: CoursesService) {\r\n\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n //\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n \r\n this.params.context.componentParent.openModal(this.params.data);\r\n\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(this.params.data.id);\r\n\r\n }\r\n\r\n\r\n delete(id: any) {\r\n\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n if (id > 0) {\r\n this._courseService.deleteCourseTitle(id).subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n this.params.context.componentParent.getCourseTitlesList();\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n\r\n //private params: any;\r\n //public cell: any;\r\n //public _refDialog: any;\r\n //public url = environment.apiURL;\r\n //@Output() openModal = new EventEmitter();\r\n //@Output() refreshGrid = new EventEmitter();\r\n\r\n\r\n //agInit(params: any): void {\r\n // //\r\n // this.params = params;\r\n // this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.speakerId };\r\n\r\n // //console.log(this.params.context.componentParent);\r\n //}\r\n\r\n //constructor(\r\n // private _dialog: MatDialog,\r\n // private _courseService: CoursesService) {\r\n\r\n //}\r\n\r\n\r\n\r\n //public clicked(data: any): void {\r\n // //\r\n // if (data.Type == 'view')\r\n // location.href = \"view-course/\" + data.Cell.id;\r\n // //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n // if (data.Type == 'edit') {\r\n // \r\n // this.params.context.componentParent.openModal(this.params.data);\r\n\r\n // }\r\n\r\n // if (data.Type == 'delete') {\r\n \r\n // this.delete(this.params.data.speakerId);\r\n // }\r\n //}\r\n\r\n\r\n //delete(id: any) {\r\n\r\n // \r\n // this._refDialog = this._dialog.open(DeleteComponent, {\r\n // autoFocus: false,\r\n // disableClose: true,\r\n // data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n // });\r\n\r\n // this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n // if (id > 0) {\r\n // this._courseService.deleteSpeaker(id).subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n // this.params.context.componentParent.getSpeakersList();\r\n\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n // }\r\n\r\n\r\n\r\n // });\r\n\r\n // this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n // this._refDialog.close();\r\n // });\r\n\r\n //}\r\n\r\n\r\n //ngOnInit() {\r\n //}\r\n\r\n //refresh(): boolean {\r\n // return false;\r\n //}\r\n\r\n}\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { CellClickedEvent, ColDef, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { AddEditSpeakersComponent } from '../add-edit-speakers/add-edit-speakers.component';\r\nimport { SpeakersClickableParentComponent } from '../speakers-clickable-parent/speakers-clickable-parent.component';\r\n\r\n@Component({\r\n selector: 'app-speakers-list',\r\n templateUrl: './speakers-list.component.html',\r\n styleUrls: ['./speakers-list.component.css']\r\n})\r\nexport class SpeakersListComponent implements OnInit {\r\n\r\n //@Output() gotoMainMenu = new EventEmitter();\r\n //@Output() gotoAllCourses = new EventEmitter();\r\n\r\n _paramOut = {\r\n gotoAdmin: \"\"\r\n }\r\n\r\n @Output() gotoAdminTab = new EventEmitter();\r\n @Output() gotoSpeakerDetails = new EventEmitter();\r\n\r\n\r\n\r\n speakersList: any;\r\n domLayout;\r\n private gridApi;\r\n gridOptions: GridOptions;\r\n\r\n _methodToload: any = \"\";\r\n listTitle: any = \"\";\r\n paginationPageSize: any = 50;\r\n\r\n\r\n constructor(\r\n private modal: NgbModal,\r\n //private http: HttpClient,\r\n private _courseService: CoursesService,\r\n //private _route: Router\r\n ) {\r\n\r\n this.gridOptions = {\r\n context: {\r\n componentParent: this\r\n },\r\n rowClass: 'grid-row',\r\n suppressCellSelection: true\r\n };\r\n\r\n this.domLayout = \"autoHeight\";\r\n }\r\n\r\n\r\n\r\n gotoAdmin(param) {\r\n this._paramOut.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramOut);\r\n }\r\n\r\n // Each Column Definition results in one Column.\r\n public columnDefs: ColDef[] = [\r\n { field: 'speakerName', headerName: 'Title' },\r\n { field: 'initials', headerName: 'Initials' },\r\n { field: 'email1', headerName: 'Email' },\r\n { field: 'mobileNumber', headerName: 'Mobile Number' },\r\n { field: 'statusId', headerName: 'Status', valueFormatter: this.getStatus },\r\n {\r\n field: 'Action', cellRendererFramework: SpeakersClickableParentComponent,\r\n sortable: false, filter: false, width: 85, cellStyle: { color: '#1BAAD5', 'margin-top': '7px', 'border': '0px' }\r\n }\r\n ];\r\n\r\n getStatus(params) {\r\n if (params.value == 1)\r\n return \"Active\";\r\n else return \"Inactive\";\r\n }\r\n //convertStringToDate(params) {\r\n\r\n // var strDate = params.value;\r\n // if (strDate != null && strDate != \"\" && strDate != undefined) {\r\n // var date = new Date(strDate);\r\n // var dd = String(date.getDate()).padStart(2, '0');\r\n // var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n // var yyyy = date.getFullYear();\r\n\r\n // var _date = dd + '/' + mm + '/' + yyyy;\r\n // return _date;\r\n\r\n // //return new Date(strDate).toString();\r\n // }\r\n // else return \"\";\r\n // //else return new Date().toString();\r\n //}\r\n\r\n reconcileCellRendererFunc(params) {\r\n var strDate = params.value;\r\n if (params.value == true)\r\n return \"\";\r\n else return \"
\";\r\n }\r\n\r\n public rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n // DefaultColDef sets props common to all Columns\r\n public defaultColDef: ColDef = {\r\n sortable: true,\r\n filter: true,\r\n };\r\n\r\n // Data that gets displayed in the grid\r\n //public rowData$!: Observable;\r\n\r\n // For accessing the Grid's API\r\n @ViewChild(AgGridAngular) agGrid!: AgGridAngular;\r\n\r\n\r\n\r\n setAutoHeight() {\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n //document.querySelector(\"#dGrid\").style.height = \"\";\r\n var elm = document.querySelector(\"#speakersGrid\") as HTMLElement;\r\n\r\n\r\n var elm_outer = document.querySelector(\".grid-wrapper\") as HTMLElement;\r\n\r\n // elm_outer.offsetHeight \r\n elm.style.height = screen.height - 300 + \"px\";\r\n //Array.from(document.getElementsByClassName('grid-wrapper') as HTMLCollectionOf)\r\n }\r\n\r\n setFixedHeight() {\r\n\r\n this.gridApi.setDomLayout(\"normal\");\r\n //document.querySelector(\"#dGrid\").style.height = \"400px\";\r\n var elm = document.querySelector(\"#speakersGrid\") as HTMLElement;\r\n elm.style.height = '535px';\r\n }\r\n\r\n // Example load data from sever\r\n onGridReady(params: GridReadyEvent) {\r\n\r\n this.gridApi = params.api;\r\n\r\n this.rowData = [\r\n { make: 'Toyota', model: 'Celica', price: 35000 },\r\n { make: 'Ford', model: 'Mondeo', price: 32000 },\r\n { make: 'Porsche', model: 'Boxster', price: 72000 }\r\n ];\r\n\r\n this.setFixedHeight();\r\n this.gridOptions.api!.sizeColumnsToFit();\r\n }\r\n\r\n // Example of consuming Grid Event\r\n onCellClicked(e: CellClickedEvent): void {\r\n //console.log('cellClicked', e);\r\n //debugger;\r\n\r\n //if (e.colDef.field != \"Action\") {\r\n // this._paramOut.gotoAdmin = \"speakerDetails\";\r\n // this._paramOut.id = e.data.speakerId;\r\n // this.gotoAdminTab.emit(this._paramOut);\r\n //}\r\n this.gotoSpeakerDetails.emit({ id: e.data.speakerId });\r\n\r\n }\r\n\r\n onRowClicked() { }\r\n\r\n // Example using Grid's API\r\n clearSelection(): void {\r\n this.agGrid.api.deselectAll();\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n localStorage.setItem('projectPageSize', '10');\r\n this.getSpeakersList();\r\n }\r\n\r\n onPageSizeChanged() {\r\n var elm = document.getElementById('page-size') as HTMLInputElement;\r\n localStorage.setItem('projectPageSize', elm.value);\r\n this.gridApi.paginationSetPageSize(Number(elm.value));\r\n }\r\n\r\n\r\n methodName = {\r\n\r\n nonArchive: \"nonArchive\",\r\n archive: \"archive\"\r\n }\r\n\r\n getSpeakersList() {\r\n\r\n\r\n this._courseService.getSpeakersList().subscribe((result: any) => {\r\n\r\n if (result.success == true) {\r\n\r\n this.speakersList = result.data;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n $(\"#page-size\").val(this.paginationPageSize);\r\n\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n //this.loading = false;\r\n })\r\n\r\n }\r\n\r\n addNew() {\r\n const modalRef = this.modal.open(AddEditSpeakersComponent, {\r\n size: 'lg'\r\n });\r\n\r\n modalRef.result.then((result) => {\r\n\r\n this.getSpeakersList();\r\n }, (reason) => {\r\n\r\n //console.log('Dismissed action: ' + reason);\r\n });\r\n }\r\n\r\n openModal(param) {\r\n\r\n const modalRef = this.modal.open(AddEditSpeakersComponent, {\r\n size: 'lg'\r\n });\r\n modalRef.componentInstance.data = param;\r\n\r\n if (localStorage.getItem('projectPageSize') != null)\r\n this.paginationPageSize = Number(localStorage.getItem('projectPageSize'))\r\n\r\n modalRef.componentInstance.refreshGrid.subscribe(event => this.getSpeakersList());\r\n }\r\n\r\n\r\n\r\n}\r\n","\n\n
\n
\n\n

\n Speakers\n

\n \n
\n
\n\n \n\n
\n \n \n \n \n \n \n \n
\n\n
\n\n
\n\n\n\n\n\n
\n Page size: \n \n
\n\n\n\n\n","import { HttpClient, HttpEventType, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { CoursesService } from '../../common/_services/courses-services';\r\n\r\n@Component({\r\n selector: 'app-upload-courses',\r\n templateUrl: './upload-courses.component.html',\r\n styleUrls: ['./upload-courses.component.css']\r\n})\r\nexport class UploadCoursesComponent implements OnInit {\r\n\r\n public progress: number;\r\n public message: string;\r\n public fileNameProfile: string;\r\n originalFile: any;\r\n public fileInfo: any;\r\n\r\n public url = environment.apiURL;\r\n \r\n _paramAdmin = {\r\n gotoAdmin: \"\"\r\n }\r\n\r\n @Output() gotoAdminTab = new EventEmitter();\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n\r\n constructor(private spinner: NgxSpinnerService,\r\n private http: HttpClient,\r\n private _coursesService: CoursesService) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n gotoAdmin(param) {\r\n this._paramAdmin.gotoAdmin = param;\r\n this.gotoAdminTab.emit(this._paramAdmin);\r\n }\r\n\r\n downloadProjectFile() {\r\n let link = document.createElement(\"a\");\r\n link.download = \"Template.xlsx\";\r\n link.href = \"assets/Resources/Template.xlsx\";\r\n link.click();\r\n }\r\n\r\n public uploadFile = (files: any) => {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n let filesToUpload: File[] = files;\r\n const formData = new FormData();\r\n\r\n Array.from(filesToUpload).map((file, index) => {\r\n return formData.append('file' + index, file, file.name);\r\n });\r\n\r\n this.spinner.show();\r\n\r\n this._coursesService.upload(formData)\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n if (event.total) {\r\n const total: number = event.total;\r\n this.progress = Math.round(100 * event.loaded / total);\r\n }\r\n else {\r\n //handle illegal state \r\n }\r\n }\r\n else if (event.type === HttpEventType.Response) {\r\n this.message = 'Upload success.';\r\n this.onUploadFinished.emit(event.body);\r\n\r\n \r\n }\r\n });\r\n\r\n this.spinner.hide();\r\n }\r\n\r\n\r\n\r\n _handleReaderLoaded(readerEvt: any) {\r\n\r\n const file = readerEvt.target.files[0];\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n this.fileInfo.file = reader.result;\r\n\r\n this.onSubmit();\r\n };\r\n\r\n }\r\n\r\n\r\n onSubmit() {\r\n\r\n\r\n //var req = {\r\n // UpdatedBy: this.appService.currentUserValue.value.userId,\r\n // ProjectFile: this.imageInfo,\r\n // fileData: this.originalFile\r\n //}\r\n\r\n const formData = new FormData();\r\n\r\n //formData.append('UpdatedBy', this._coursesService.currentUserValue.value.userId);\r\n formData.append('fileData', this.originalFile);\r\n\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'multipart/form-data',\r\n });\r\n\r\n this.http.post(this.url + 'Project/UploadProject', formData).subscribe(result => {\r\n if (result.success) {\r\n //this.genericMessage(result.message, \"Success\");\r\n } else {\r\n //this.genericMessage(result.message, \"Error\");\r\n }\r\n\r\n }, error => console.log(error));\r\n\r\n }\r\n\r\n onFileSelect(event: any) {\r\n\r\n if (event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n this.originalFile = file;\r\n this.fileNameProfile = file.name;\r\n\r\n var Name = file.name.split('.').pop();\r\n if (Name != undefined) {\r\n if (Name.toLowerCase() == \"xlsx\" || Name.toLowerCase() == \"xls\") {\r\n this.fileInfo = {};\r\n this._handleReaderLoaded(event);\r\n this.fileInfo.fileName = file.name;\r\n this.fileInfo.fileType = file.type;\r\n this.fileInfo.fileSize = file.size;\r\n this.fileInfo.file = file;\r\n //this.registrationForm.controls['resume'].setValue(file);\r\n }\r\n\r\n }\r\n else {\r\n //this.genericMessage(\"Only .xlsx files are allowed\", \"Error\");\r\n event.srcElement.value = null;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n

\r\n Import Courses Schedule\r\n\r\n

\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n

Download the template provided below and fill in the information of multiple courses in a single spreadsheer. This filled spreadsheet can be uploaded at once to populate data about multiple courses in one go.

\r\n
\r\n\r\n
\r\n
\r\n Download Excel Template:\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ANT Course Template\r\n\r\n

Download Now

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Import Course:\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n

Only .xlsx files are allowed.

\r\n

Courses will be import automatically once choosed the file.

\r\n\r\n
\r\n
\r\n

\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n//import { UploadCoursesComponent } from './upload-courses.component';\r\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '**',\r\n redirectTo: 'others/404'\r\n },\r\n { path: 'upload-courses', component: DashboardComponent },\r\n {\r\n path: '',\r\n redirectTo: 'course',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class UploadsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { UploadsRoutingModule } from './uploads-routing.module';\r\nimport { UploadCoursesComponent } from './upload-courses.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n //UploadCoursesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n UploadsRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatMenuModule,\r\n MatIconModule\r\n ],\r\n exports: [\r\n\r\n //UploadCoursesComponent\r\n ]\r\n})\r\nexport class UploadsModule { }\r\n","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-create-pin',\n templateUrl: './create-pin.component.html',\n styleUrls: ['./create-pin.component.css']\n})\nexport class CreatePinComponent implements OnInit {\n\n isNumeric: boolean;\n maxLength: number;\n otpValue: string;\n ResendotpValue: string;\n placeholder: string = \"\";\n text: string;\n otpForm: FormGroup;\n // private subscription: Subscription;\n\n\n @Output() otpSend: EventEmitter = new EventEmitter();\n @Output() ResendotpSend: EventEmitter = new EventEmitter();\n @Output() Close = new EventEmitter();\n\n\n timeLeft: number;\n configTime: number;\n intervalFlag = false;\n interval: any;\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any/*, private alertService: AlertService*/) {\n\n this.startTimer();\n }\n\n ngOnInit() {\n \n this.data = {\n isEmail: false,\n otpResendWait: 30\n }\n //if (this.data.isEmail) {\n // this.text = \"Enter OTP you received on your Email account\";\n //} else {\n // this.text = \"Enter OTP sms send to your Mobile Number\";\n //}\n\n this.text = \"Setup your PIN & Secret Question\";\n\n this.isNumeric = true;// this.data.isNumeric;\n this.maxLength = 4;//this.data.maxLength;\n\n if (this.data.otpResendWait == 0) {\n this.timeLeft = 60;\n this.configTime = 60;\n } else {\n this.timeLeft = this.data.otpResendWait;\n this.configTime = this.data.otpResendWait;\n }\n\n for (var i = 0; i < this.maxLength; i++) {\n this.placeholder += \"x\";\n }\n\n //this.subscription = this.alertService.OtpClearObservable$.subscribe((res) => {\n // this.otpValue = \"\";\n //});\n\n }\n\n send() {\n \n this.otpSend.emit(this.otpValue);\n }\n\n ResendOTP() {\n this.pauseTimer();\n this.timeLeft = this.configTime;\n this.startTimer();\n\n this.ResendotpSend.emit(this.ResendotpValue);\n }\n\n CloseOTP() {\n this.Close.emit(\"Close\");\n }\n\n //// Link resource\n //https://stackblitz.com/edit/timer-with-pause?file=src%2Fapp%2Fapp.component.html\n startTimer() {\n this.interval = setInterval(() => {\n if (this.timeLeft > 0) {\n this.intervalFlag = false;\n this.timeLeft--;\n } else {\n this.intervalFlag = true;\n //this.timeLeft = 60;\n }\n }, 1000)\n }\n\n pauseTimer() {\n clearInterval(this.interval);\n }\n\n}\n","
\r\n\r\n \r\n \r\n close\r\n \r\n

PIN Creation

\r\n

{{text}}

\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n

{{timeLeft}}

\r\n\r\n
\r\n
","import { Component, EventEmitter, Inject, OnInit, Optional, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-delete',\r\n templateUrl: './delete.component.html',\r\n styleUrls: ['./delete.component.css']\r\n})\r\nexport class DeleteComponent implements OnInit {\r\n\r\n @Output() redirect = new EventEmitter();\r\n @Output() closePopup = new EventEmitter();\r\n\r\n\r\n public Text: string;\r\n public Header: string;\r\n constructor(public dialogRef: MatDialogRef,\r\n\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any) {\r\n\r\n \r\n this.Text = data[\"message\"];\r\n this.Header = data[\"title\"];\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n ok() {\r\n this.redirect.emit({ Yes: \"delete\" })\r\n }\r\n\r\n close() {\r\n this.closePopup.emit({ remove: \"no\" });\r\n }\r\n}\r\n","\r\n
\r\n\r\n
{{Header}}
\r\n\r\n
\r\n
\r\n\r\n \r\n

{{Text}}

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n //selector: 'app-actions',\n //templateUrl: './actions.component.html',\n //styleUrls: ['./actions.component.css']\n\n selector: 'app-actions',\n template: `edit\n delete\n download`,\n styleUrls: ['./actions.component.css']\n})\nexport class ActionsComponent implements OnInit {\n\n showDownload: boolean = false;\n @Input() cell: any;\n @Input() type: any;\n @Input() module: any;\n @Output() onClicked = new EventEmitter();\n\n deleteClick(): void {\n debugger;\n this.onClicked.emit({ Cell: this.cell, Type: 'delete', Comp: 'course' });\n }\n\n viewClick(): void {\n this.onClicked.emit({ Cell: this.cell, Type: 'view' });\n }\n\n editClick(): void {\n \n this.onClicked.emit({ Cell: this.cell, Type: 'edit' });\n }\n\n download(): void {\n\n this.onClicked.emit({ Cell: this.cell, Type: 'download' });\n }\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.module == \"credit note\")\n this.showDownload = true;\n else\n this.showDownload = false;\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { environment } from '../../../../../../environments/environment';\r\nimport { DeleteComponent } from '../../delete/delete.component';\r\n\r\n@Component({\r\n //selector: 'app-clickable-parent',\r\n //templateUrl: './clickable-parent.component.html',\r\n // styleUrls: ['./clickable-parent.component.css']\r\n\r\n selector: 'app-clickable-parent',\r\n template: ``,\r\n styleUrls: ['./clickable-parent.component.css']\r\n})\r\nexport class ClickableParentComponent implements OnInit {\r\n\r\n private params: any;\r\n public cell: any;\r\n public module: any;\r\n public _refDialog: any;\r\n public url = environment.apiURL;\r\n @Output() openModal = new EventEmitter();\r\n @Output() refreshGrid = new EventEmitter();\r\n\r\n agInit(params: any): void {\r\n //debugger;\r\n this.params = params;\r\n this.cell = { row: params.value, col: params.colDef.headerName, id: params.data.id };\r\n this.module = params.module;\r\n //debugger;\r\n //console.log(this.params.context.componentParent);\r\n }\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n //private _courseService: CoursesService\r\n ) {\r\n //debugger;\r\n }\r\n\r\n\r\n\r\n public clicked(data: any): void {\r\n // debugger;\r\n\r\n if (data.Type == 'view')\r\n location.href = \"view-course/\" + data.Cell.id;\r\n //this._router.navigateByUrl(\"view-project/\" + data.Cell.pid);\r\n\r\n if (data.Type == 'edit') {\r\n \r\n this.params.context.componentParent.openModal(this.params.data);\r\n\r\n }\r\n\r\n if (data.Type == 'download') {\r\n\r\n this.params.context.componentParent.download(this.params.data);\r\n\r\n }\r\n\r\n if (data.Type == 'delete')\r\n this.delete(this.params.data.id);\r\n\r\n }\r\n\r\n\r\n delete(id: any) {\r\n //debugger;\r\n \r\n this._refDialog = this._dialog.open(DeleteComponent, {\r\n autoFocus: false,\r\n disableClose: true,\r\n data: { message: \"Are you sure to delete this record?\", title: \"Delete\" }\r\n });\r\n\r\n this._refDialog.componentInstance.redirect.subscribe((data) => {\r\n \r\n\r\n this.params.context.componentParent.delete(id);\r\n //if (id > 0) {\r\n // this._courseService.deleteCourseTitle(id).subscribe((result: any) => {\r\n\r\n // if (result.success == true) {\r\n // this.params.context.componentParent.getCourseTitlesList();\r\n\r\n // } else {\r\n\r\n // //this._commonService.error(result.data.desc);\r\n // }\r\n\r\n // }, (_error: any) => {\r\n // //this.loading = false;\r\n // })\r\n //}\r\n\r\n\r\n\r\n });\r\n\r\n this._refDialog.componentInstance.closePopup.subscribe((data) => {\r\n this._refDialog.close();\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Inject, OnInit, Optional, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.css']\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n\r\n\r\n @Output() closeError = new EventEmitter();\r\n\r\n public Text: string;\r\n public Status: string;\r\n constructor(public dialogRef: MatDialogRef,\r\n //@Optional() is used to prevent error if no data is passed\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any) {\r\n\r\n this.Text = data[\"desc\"];\r\n //this.Status = data[\"status\"];\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n //genericMessasge() {\r\n // this.closeGenericMessasge.emit({ Yes: CodeStatus.OK })\r\n //}\r\n\r\n close() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","
\r\n \r\n

Error

\r\n

{{Text}}

\r\n\r\n \r\n\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-an-footer',\n templateUrl: './an-footer.component.html',\n styleUrls: ['./an-footer.component.css']\n})\nexport class AnFooterComponent implements OnInit {\n\n currentYear: number = new Date().getFullYear();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

© Act Now Training Ltd {{currentYear}}

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-blank-layout',\n templateUrl: './blank-layout.component.html',\n styleUrls: ['./blank-layout.component.css']\n})\nexport class BlankLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n\n\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BlankLayoutComponent } from './blank-layout/blank-layout.component';\r\nimport { SideBarLayoutComponent } from './side-bar-layout/side-bar-layout.component';\r\nimport { SideMenuComponent } from './side-bar-layout/side-menu/side-menu.component';\r\nimport { TopMenuComponent } from './side-bar-layout/top-menu/top-menu.component';\r\nimport { FooterComponent } from './side-bar-layout/footer/footer.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MetismenuAngularModule } from \"@metismenu/angular\";\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { CoursesComponent } from '../../../core/courses/courses.component';\r\nimport { CoursesModule } from '../../../core/courses/courses.module';\r\nimport { DelegatesModule } from '../../../core/delegates/delegates.module';\r\nimport { SchedulesModule } from '../../../core/Schedule/schedules.module';\r\nimport { UploadsModule } from '../../../core/upload-courses/uploads.module';\r\nimport { HighchartsChartModule } from 'highcharts-angular';\r\nimport { DashboardModule } from '../../../core/dashboard/dashboard.module';\r\nimport { InvoicesModule } from '../../../core/invoices/invoices.module';\r\nimport { InhouseModule } from '../../../core/inhouse/inhouse.module';\r\nimport { ProductModule } from '../../../core/product/product.module';\r\nimport { FinanceModule } from '../../../core/finance/finance.module';\r\nimport { SpeakersModule } from '../../../core/speakers/speakers.module';\r\nimport { ReportsModule } from '../../../core/reports/reports.module';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { AdminModule } from '../../../core/admin/admin.module';\r\n\r\nconst components = [\r\n BlankLayoutComponent,\r\n SideBarLayoutComponent,\r\n SideMenuComponent,\r\n TopMenuComponent,\r\n FooterComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: components,\r\n imports: [\r\n CoursesModule,\r\n DelegatesModule,\r\n SchedulesModule,\r\n UploadsModule,\r\n CommonModule,\r\n RouterModule,\r\n MetismenuAngularModule,\r\n MatTabsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatButtonToggleModule,\r\n HighchartsChartModule,\r\n DashboardModule,\r\n InvoicesModule,\r\n InhouseModule,\r\n ProductModule,\r\n FinanceModule,\r\n //SpeakersModule,\r\n //ReportsModule,\r\n MatMenuModule,\r\n AdminModule\r\n ],\r\n exports: components\r\n})\r\nexport class LayoutsModule { }\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n currentYear: number = new Date().getFullYear();\n\n constructor() {\n \n }\n\n ngOnInit() {\n }\n\n}\n","\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n

\r\n © Act Now Training Ltd\r\n {{currentYear}}\r\n

\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-side-bar-layout',\n templateUrl: './side-bar-layout.component.html',\n styleUrls: ['./side-bar-layout.component.css']\n})\nexport class SideBarLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n\n\n\n\n\n
\n\n \n\n \n \n \n \n \n\n
\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { Activity, ChildActivity, MainActivity, SubActivity } from '../../../../../common/model/activities';\r\nimport { ActivitiesList } from '../../../../../common/model/request';\r\n\r\n\r\n@Component({\r\n selector: 'app-side-menu',\r\n templateUrl: './side-menu.component.html',\r\n styleUrls: ['./side-menu.component.css']\r\n})\r\nexport class SideMenuComponent implements OnInit {\r\n loginUser: any;\r\n userType: any;\r\n model: any = {};\r\n\r\n mobileQuery: MediaQueryList;\r\n\r\n decodedToken: any;\r\n changePassword = \"/home/user-management/changepassword\";\r\n activities: MainActivity[] = [];\r\n\r\n\r\n\r\n private _mobileQueryListener: () => void;\r\n\r\n\r\n constructor(\r\n //public authService: AuthService,\r\n private router: Router,\r\n //private _cookieService: CookieService,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher,\r\n //private alertify: AlertifyService,\r\n\r\n ) {\r\n\r\n this.mobileQuery = media.matchMedia('(max-width: 400px)');\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n \r\n this.makeActivities(\"test\");\r\n //this.decodedToken = this.authService.decodedToken;\r\n //this.activities = JSON.parse('[{\"id\": 105, \"parentId\": -1, \"name\": \"Home\", \"url\": \"home/dashboard\",\"icon\":\"/assets/images/menu-icons/home.svg\"}]');\r\n //this.activities = ;\r\n debugger\r\n this.loginUser = \"Admin\"; //localStorage.getItem('userName'); //this.decodedToken?.unique_name;\r\n //this.loginUser = this._cookieService.get('userName');\r\n this.userType = \"Checker\";// this.decodedToken?.userType === '1' ? 'Maker' : 'Checker';\r\n }\r\n\r\n ngOnInit(): void {\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 loggedIn() {\r\n return true; //this.authService.loggedIn();\r\n }\r\n\r\n logout() {\r\n // //this._cookieService.deleteAll('userName');\r\n // //this._cookieService.deleteAll('token');\r\n // localStorage.removeItem('userName');\r\n // localStorage.removeItem('token');\r\n // localStorage.removeItem('activities');\r\n // localStorage.removeItem('flatactivity');\r\n // this.authService.logOutReason = 'explicit';\r\n // window.location.reload();\r\n // this.router.navigate(['/']);\r\n //this.alertify.logoutConfirm(() => {\r\n // this.authService.logout();\r\n //});\r\n\r\n this.router.navigateByUrl(\"/account/login\");\r\n }\r\n\r\n makeActivities(activity: any) {\r\n \r\n activity = [1, 5, 2, 3, 4, 17, 18];\r\n if (activity != null) {\r\n //var mainActivity = new MainActivity();\r\n //mainActivity.url = \"home/dashboard\";\r\n //mainActivity.icon = \"assets/images/menu-icons/home.svg\";\r\n //mainActivity.name = \"Home\";\r\n //this.activities.push(mainActivity);\r\n\r\n for (let i = 0; i < activity.length; i++) {\r\n mainActivity = new MainActivity();\r\n switch (activity[i]) {\r\n case 5:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 5;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/transfer.svg\";\r\n mainActivity.name = \"App Config\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n\r\n case 1:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 1;\r\n mainActivity.url = \"home/dashboard\";\r\n mainActivity.icon = \"assets/images/menu-icons/home.svg\";\r\n mainActivity.name = \"Home\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 2:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 2;\r\n mainActivity.url = \"ias/users\";\r\n mainActivity.icon = \"assets/images/menu-icons/Retailer.svg\";\r\n mainActivity.name = \"Users\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 3:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 3;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/reports.svg\";\r\n mainActivity.name = \"Calls History\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 4:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 4;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/verify.svg\";\r\n mainActivity.name = \"Recordings\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 5:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 5;\r\n mainActivity.url = \"\";\r\n mainActivity.icon = \"assets/images/menu-icons/moneytransfer.svg\";\r\n mainActivity.name = \"Money Transfer\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 6:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 6;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/transfer.svg\";\r\n mainActivity.name = \"Transfer to Agent\";\r\n mainActivity.parentId = 5\r\n this.activities.push(mainActivity);\r\n break;\r\n case 7:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 7;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/transfer.svg\";\r\n mainActivity.name = \"Transfer to Franchise\";\r\n mainActivity.parentId = 5\r\n this.activities.push(mainActivity);\r\n break;\r\n case 8:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 8;\r\n mainActivity.url = \"\";\r\n mainActivity.icon = \"assets/images/menu-icons/OTC.svg\";\r\n mainActivity.name = \"OTC\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 9:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 9;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/send.svg\";\r\n mainActivity.name = \"Send Money\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 10:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 10;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/receive.svg\";\r\n mainActivity.name = \"TRN Receive Money\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 11:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 11;\r\n mainActivity.url = \"payments/cash-in\";\r\n mainActivity.icon = \"assets/images/menu-icons/cash-in.svg\";\r\n mainActivity.name = \"Cash In\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 12:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 12;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/cash-out.svg\";\r\n mainActivity.name = \"Cash Out\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 13:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 13;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/cash-out-voucher.svg\";\r\n mainActivity.name = \"Cash Out Voucher\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 14:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 14;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/update.svg\";\r\n mainActivity.name = \"Update to Max\";\r\n mainActivity.parentId = 8\r\n this.activities.push(mainActivity);\r\n break;\r\n case 15:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 15;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/utility-bill.svg\";\r\n mainActivity.name = \"Utility Bill\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 16:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 16;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/user-mangement.svg\";\r\n mainActivity.name = \"User Management\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 17:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 17;\r\n mainActivity.url = \"\";\r\n mainActivity.icon = \"assets/images/menu-icons/user.svg\";\r\n mainActivity.name = \"My Account\";\r\n mainActivity.parentId = 0\r\n this.activities.push(mainActivity);\r\n break;\r\n case 18:\r\n var mainActivity = new MainActivity();\r\n mainActivity.id = 18;\r\n mainActivity.url = \"home/coming-soon\";\r\n mainActivity.icon = \"assets/images/menu-icons/key.svg\";\r\n mainActivity.name = \"Change Pin\";\r\n mainActivity.parentId = 17\r\n this.activities.push(mainActivity);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n }\r\n else {\r\n\r\n }\r\n\r\n var distinctParent = this.activities.filter(x => x.parentId == 0);\r\n\r\n for (var i = 0; i < distinctParent.length; i++) {\r\n var listOfChild = this.activities.filter(x => x.parentId == distinctParent[i].id);\r\n var parent = distinctParent[i];\r\n parent.subActivities = listOfChild;\r\n\r\n listOfChild.forEach((element, index) => {\r\n var indexvalue = this.activities.findIndex(x => x.id == element.id);\r\n this.activities.splice(indexvalue, 1);\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthUserService } from '../../../../../common/_services/auth-user.service';\r\nimport { Location } from '@angular/common';\r\nimport { CourseDetailsComponent } from '../../../../../core/courses/course-details/course-details.component';\r\nimport { AuthenticationService } from '../../../../../common/guards/AuthenticationService';\r\nimport { TabIndex } from '../../../../../common/validation/messages';\r\nimport { userRoles } from '../../../../../common/model/request';\r\nimport { CommonServiceService } from '../../../../../common/_services/common-service.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-top-menu',\r\n templateUrl: './top-menu.component.html',\r\n styleUrls: ['./top-menu.component.css']\r\n})\r\nexport class TopMenuComponent implements OnInit {\r\n user: any;\r\n tabIndex: any = 0;\r\n all_courses: boolean = false;\r\n course_titles: boolean = false;\r\n inhouse_detail: boolean = false;\r\n mimeo: boolean = false;\r\n\r\n isShowMenu: boolean = true;\r\n\r\n\r\n monthlySchedule: boolean = false;\r\n yearlySchedule: boolean = false;\r\n courseScheduler: boolean = false;\r\n\r\n //isCoursesUpload: boolean = false;\r\n //isSpeakers: boolean = false;\r\n //isDebt: boolean = false;\r\n\r\n showAdminTab: any = \"speakerList\";\r\n\r\n goBackProductId: any = 0;\r\n delegate_detail: boolean = false;\r\n outDelegateID: any;\r\n outInhouseID: any;\r\n outSupplierId: any;\r\n outProductBookingParam: any;\r\n outSpeakerId: any;\r\n\r\n delegate_detailForInvoice: boolean = false;\r\n\r\n delegate_detailForProductBooking: boolean = false;\r\n\r\n gobacktoProductBookings: boolean = false;\r\n gobacktoIndividualProductBookings: boolean = false;\r\n gobacktoInvoicesList: boolean = false;\r\n gobacktoDebtCollection: boolean = false;\r\n\r\n course_detail: boolean = false;\r\n product_bookings: boolean = false;\r\n received_invoices: boolean = false;\r\n debtCollection: boolean = false;\r\n supplierDetails: boolean = false;\r\n invoiceList: boolean = false;\r\n suppliersList: boolean = false;\r\n xero_invoices: boolean = false;\r\n creditNotes: boolean = false;\r\n\r\n outShowUpcomingCourses: boolean = true;\r\n\r\n outCourse: any = {\r\n id: 0,\r\n title: \"\"\r\n };\r\n _params: any;\r\n\r\n @ViewChild(CourseDetailsComponent, { static: true }) child: CourseDetailsComponent;\r\n\r\n constructor(private _router: Router,\r\n //private _route: Router,\r\n private _authService: AuthUserService,\r\n private _auth: AuthenticationService,\r\n private location: Location,\r\n private route: ActivatedRoute,\r\n private _commonService: CommonServiceService) {\r\n\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n this._params = { ...params.keys, ...params };\r\n this.outDelegateID = +this._params.params.delegateId;\r\n this.outCourse.id = +this._params.params.cid;\r\n this.outInhouseID = +this._params.params.inhouseId;\r\n this.outSupplierId = +this._params.params.supplierId;\r\n this.outSpeakerId = +this._params.params.id\r\n });\r\n\r\n\r\n //if (this._delegateId == null || this._delegateId == undefined\r\n // || this._delegateId == \"null\" || Number.isNaN(this._delegateId)) {\r\n // this._delegateId = 0; // user will add new delegate\r\n //}\r\n\r\n if (this._auth.userRole() == userRoles.Speaker.name) {\r\n\r\n this.isShowMenu = false;\r\n }\r\n\r\n this.populate();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.user = {\r\n role: this._auth.userRole(),\r\n name: localStorage.getItem(\"userName\")\r\n\r\n }\r\n\r\n //this.child.callMe('Calling from the parent!');\r\n }\r\n\r\n\r\n populate() {\r\n\r\n //DASHBOARD\r\n if (window.location.pathname == \"/home/dashboard\") {\r\n\r\n this.tabIndex = TabIndex.Dashboard;\r\n }\r\n\r\n //COURSE\r\n else if (window.location.pathname == \"/courses/course-titles\") {\r\n this.disableCourseTabs();\r\n\r\n this.course_titles = true;\r\n this.tabIndex = TabIndex.Courses;\r\n }\r\n else if (window.location.pathname == \"/courses/all-courses\") {\r\n this.disableCourseTabs();\r\n\r\n this.all_courses = true;\r\n this.tabIndex = TabIndex.Courses;\r\n }\r\n else if (window.location.pathname == \"/courses/course-detail\") {\r\n this.disableCourseTabs();\r\n\r\n this.course_detail = true;\r\n //this.course_titles = false;\r\n this.tabIndex = TabIndex.Courses;\r\n }\r\n else if (window.location.pathname == \"/courses/mimeo\") {\r\n this.disableCourseTabs();\r\n\r\n //this.course_detail = false;\r\n //this.course_titles = false;\r\n this.mimeo = true;\r\n this.tabIndex = TabIndex.Courses;\r\n }\r\n\r\n //PRODUCTS\r\n else if (window.location.pathname == \"/product/list\") {\r\n this.tabIndex = TabIndex.Products;\r\n }\r\n else if (window.location.pathname == \"/product/bookings\") {\r\n this.product_bookings = true;\r\n this.tabIndex = TabIndex.Products;\r\n }\r\n\r\n\r\n //DELEGATE\r\n else if (window.location.pathname == \"/delegates/all-delegates\") {\r\n this.tabIndex = TabIndex.Delegates;\r\n }\r\n else if (window.location.pathname == \"/delegates/delegate-details\") {\r\n this.delegate_detail = true;\r\n this.tabIndex = TabIndex.Delegates;\r\n }\r\n\r\n //INHOUSE\r\n else if (window.location.pathname == \"/inhouse/list\") {\r\n\r\n this.tabIndex = TabIndex.Inhouse;\r\n }\r\n else if (window.location.pathname == \"/inhouse/details\") {\r\n this.inhouse_detail = true;\r\n this.tabIndex = TabIndex.Inhouse;\r\n }\r\n\r\n //INVOICE\r\n else if (window.location.pathname == \"/finance/all-invoices\") {\r\n this.disableFinanceTabs();\r\n //this.supplierDetails = false;\r\n this.invoiceList = true;\r\n //this.suppliersList = false;\r\n this.tabIndex = TabIndex.Finance;\r\n //this.tabIndex = TabIndex.Invoices;\r\n }\r\n\r\n //MONTHLY SCHEDULE\r\n else if (window.location.pathname == \"/schedules/schedule\") {\r\n\r\n this.courseScheduler = false;\r\n\r\n this.monthlySchedule = true;\r\n this.yearlySchedule = false;\r\n\r\n this.tabIndex = TabIndex.Schedule;\r\n }\r\n\r\n //YEARLY SCHEDULE\r\n else if (window.location.pathname == \"/schedules/yearly-schedule\") {\r\n this.courseScheduler = false;\r\n this.monthlySchedule = false;\r\n this.yearlySchedule = true;\r\n\r\n this.tabIndex = TabIndex.Schedule;\r\n }\r\n\r\n //COURSE SCHEDULER \r\n else if (window.location.pathname == \"/schedules/course-scheduler\") {\r\n this.courseScheduler = true;\r\n this.monthlySchedule = false;\r\n this.yearlySchedule = false;\r\n\r\n this.tabIndex = TabIndex.Schedule;\r\n }\r\n\r\n //FINANCE\r\n else if (window.location.pathname == \"/finance/suppliers-list\") {\r\n this.disableFinanceTabs();\r\n\r\n //this.supplierDetails = false;\r\n //this.invoiceList = false;\r\n this.suppliersList = true;\r\n\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/received-invoices\") {\r\n this.disableFinanceTabs();\r\n this.received_invoices = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/invoices-list\") {\r\n this.disableFinanceTabs();\r\n this.invoiceList = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/supplier-details\") {\r\n this.disableFinanceTabs();\r\n //this.invoiceList = false;\r\n this.supplierDetails = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/xero-invoices\") {\r\n this.disableFinanceTabs();\r\n this.xero_invoices = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/debt-collection\") {\r\n this.disableFinanceTabs();\r\n this.debtCollection = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n else if (window.location.pathname == \"/finance/credit-notes\") {\r\n this.disableFinanceTabs();\r\n this.creditNotes = true;\r\n this.tabIndex = TabIndex.Finance;\r\n }\r\n\r\n\r\n\r\n //UPLOAD COURSE\r\n else if (window.location.pathname == \"/admin/upload-courses\") {\r\n\r\n this.showAdminTab = \"uploadCourse\";\r\n //this.isCoursesUpload = true;\r\n //this.isDebt = false;\r\n //this.isSpeakers = false;\r\n\r\n this.tabIndex = TabIndex.Admin;\r\n }\r\n\r\n //SPEAKERS\r\n else if (window.location.pathname == \"/admin/speakers\") {\r\n\r\n this.showAdminTab = \"speakerList\";\r\n //this.isCoursesUpload = false;\r\n //this.isDebt = false;\r\n //this.isSpeakers = true;\r\n\r\n this.tabIndex = TabIndex.Admin;\r\n }\r\n else if (window.location.pathname == \"/admin/speaker/details\") {\r\n this.showAdminTab = \"speakerDetails\";\r\n this.tabIndex = TabIndex.Admin;\r\n }\r\n\r\n //REPORTS\r\n //// debt collection report\r\n //else if (window.location.pathname == \"/admin/report/debt-collection\") {\r\n\r\n // this.showAdminTab = \"debtCollection\";\r\n // //this.isCoursesUpload = false;\r\n // //this.isDebt = true;\r\n // //this.isSpeakers = false;\r\n\r\n // this.tabIndex = TabIndex.Admin;\r\n //}\r\n\r\n // total number of speakers courses\r\n else if (window.location.pathname == \"/admin/report/speakerCourses\") {\r\n\r\n this.showAdminTab = \"speakerCourseNumbers\";\r\n\r\n this.tabIndex = TabIndex.Admin;\r\n }\r\n\r\n }\r\n\r\n disableCourseTabs() {\r\n this.mimeo = false;\r\n this.all_courses = false;\r\n this.course_titles = false;\r\n this.course_detail = false;\r\n this.inhouse_detail = false;\r\n }\r\n\r\n disableFinanceTabs() {\r\n this.invoiceList = false;\r\n this.supplierDetails = false;\r\n this.xero_invoices = false;\r\n this.suppliersList = false;\r\n this.received_invoices = false;\r\n this.debtCollection = false;\r\n this.creditNotes = false;\r\n\r\n this.gobacktoDebtCollection = false;\r\n this.gobacktoInvoicesList = false;\r\n }\r\n\r\n yourFn(event: any) {\r\n //this.tabIndex = event.index;\r\n }\r\n\r\n menuChange() {\r\n var scrollhide = document.getElementById('sidebar-menu');\r\n if (document.body.classList.contains('vertical-collpsed')) {\r\n document.body.className = \"\";\r\n if (scrollhide) {\r\n scrollhide.style.height = \"100%\";\r\n scrollhide.style.overflow = \"hidden scroll\";\r\n }\r\n } else {\r\n document.body.className = \"sidebar-enable\";\r\n document.body.className = \"vertical-collpsed\";\r\n if (scrollhide) {\r\n scrollhide.style.height = \"\";\r\n scrollhide.style.overflow = \"\";\r\n }\r\n }\r\n }\r\n\r\n doContinue() {\r\n $(\".message-box\").hide();\r\n }\r\n\r\n logout() {\r\n this._authService.logout();\r\n this._router.navigateByUrl(\"/account/login\");\r\n }\r\n\r\n logoutConfirmation() {\r\n $(\".message-box\").show();\r\n }\r\n\r\n filterToggleAll: boolean = true;\r\n filterTogglePrevious: boolean = false;\r\n filterToggleCurrent: boolean = false;\r\n filterToggleDraft: boolean = false;\r\n toggleFilterValue: any = \"all\";\r\n isHVRVisible = false;\r\n isReadOnlyVisible = false;\r\n\r\n getFilterToggleValue(val: any) {\r\n this.filterToggleAll = false;\r\n //this.filterToggleDraft = false;\r\n this.toggleFilterValue = val;\r\n\r\n // call filter\r\n this.onSubmit();\r\n }\r\n\r\n onSubmit() {\r\n //\r\n }\r\n\r\n gotoDelegateDetailsFromInvoice(e: any) {\r\n debugger;\r\n if (e.organisationId == null) {\r\n this.tabIndex = TabIndex.Delegates;\r\n this.delegate_detail = true;\r\n this.delegate_detailForInvoice = true;\r\n this.outDelegateID = e.id;\r\n this.location.go('/delegates/delegate-details?delegateId=' + e.id);\r\n }\r\n else {\r\n this.gotoInhouseDetails({ id: e.organisationId });\r\n }\r\n }\r\n\r\n\r\n\r\n gotoDelegateDetailsFromProductBooking(e: any) {\r\n\r\n this.tabIndex = TabIndex.Delegates;\r\n this.goBackProductId = e.productId;\r\n this.delegate_detail = true;\r\n this.delegate_detailForProductBooking = true;\r\n this.outDelegateID = e.delegateId;\r\n this.location.go('/delegates/delegate-details?delegateId=' + e.delegateId);\r\n\r\n }\r\n\r\n gotoDelegateDetails(e: any) {\r\n\r\n this.tabIndex = TabIndex.Delegates;\r\n this.delegate_detail = true;\r\n this.outDelegateID = e.id;\r\n this.location.go('/delegates/delegate-details?delegateId=' + e.id);\r\n //var obj = {\r\n // index: 3\r\n //}\r\n\r\n //localStorage.setItem(\"delegateId\", e.id);\r\n\r\n //this.gotoMainMenu(obj);\r\n }\r\n\r\n gotoMimeo() {\r\n this.disableCourseTabs();\r\n this.mimeo = true;\r\n this.location.go('/courses/mimeo');\r\n }\r\n\r\n gotoCourseTitles() {\r\n this.disableCourseTabs();\r\n this.course_titles = true;\r\n this.location.go('/courses/course-titles');\r\n }\r\n\r\n\r\n gotoInhouseDetails(e: any) {\r\n this.tabIndex = TabIndex.Inhouse;\r\n this.inhouse_detail = true;\r\n this.outInhouseID = e.id;\r\n this.location.go('/inhouse/details?organisationId=' + e.id);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n gotoProductBookings(e: any) {\r\n this.product_bookings = true;\r\n this.outProductBookingParam = e;\r\n this.location.go('/product/bookings?type=' + e.allBookings);\r\n }\r\n\r\n gotoProductsList() {\r\n this.product_bookings = false;\r\n this.location.go('/product/list');\r\n\r\n }\r\n\r\n gotoSuppliersList() {\r\n this.disableFinanceTabs();\r\n\r\n this.suppliersList = true;\r\n\r\n this.location.go('/finance/suppliers-list');\r\n\r\n }\r\n\r\n gotoInvoicesReceived() {\r\n this.disableFinanceTabs();\r\n\r\n this.received_invoices = true;\r\n\r\n this.location.go('/finance/received-invoices');\r\n }\r\n\r\n gotoDebtCollection() {\r\n this.disableFinanceTabs();\r\n\r\n this.debtCollection = true;\r\n\r\n this.location.go('/finance/debt-collection');\r\n\r\n }\r\n\r\n gotoCreditNotes() {\r\n this.disableFinanceTabs();\r\n\r\n this.creditNotes = true;\r\n\r\n this.location.go('/finance/credit-notes');\r\n\r\n }\r\n\r\n gotoXeroInvoices() {\r\n\r\n this.disableFinanceTabs();\r\n this.xero_invoices = true;\r\n this.location.go('/finance/xero-invoices');\r\n }\r\n\r\n\r\n gotoSchedule(e: any) {\r\n if (e.showYearlySchedule == true) {\r\n this.monthlySchedule = false;\r\n this.yearlySchedule = true;\r\n this.courseScheduler = false;\r\n this.location.go('/schedules/yearly-schedule');\r\n }\r\n else if (e.showMonthlySchedule == true) {\r\n this.monthlySchedule = true;\r\n this.yearlySchedule = false;\r\n this.courseScheduler = false;\r\n this.location.go('/schedules/schedule');\r\n }\r\n else if (e.showSpeakersSchedule == true) {\r\n this.monthlySchedule = false;\r\n this.yearlySchedule = false;\r\n\r\n this.courseScheduler = true;\r\n\r\n this.location.go('/schedules/course-scheduler');\r\n }\r\n }\r\n\r\n\r\n gotoSpeakerDetails(e: any) {\r\n\r\n this.tabIndex = TabIndex.Admin;\r\n\r\n this.outSpeakerId = e.id;\r\n\r\n this.showAdminTab = \"speakerDetails\";\r\n this.location.go('/admin/speaker/details?id=' + e.id);\r\n\r\n }\r\n\r\n gotoAdminTab(e: any) {\r\n\r\n this.showAdminTab = e.gotoAdmin;\r\n\r\n if (e.gotoAdmin == \"uploadCourse\")\r\n this.location.go('/admin/upload-courses');\r\n\r\n else if (e.gotoAdmin == \"speakerList\")\r\n this.location.go('/admin/speakers');\r\n\r\n //else if (e.gotoAdmin == \"debtCollection\")\r\n // this.location.go('/admin/report/debt-collection');\r\n\r\n else if (e.gotoAdmin == \"speakerCourseNumbers\")\r\n this.location.go('/admin/report/speakerCourses');\r\n\r\n //else if (e.gotoAdmin == \"speakerDetails\")\r\n // this.location.go('/admin/speaker/details?id=' + e.id);\r\n\r\n }\r\n\r\n\r\n gotoSupplierDetails(e: any) {\r\n\r\n this.disableFinanceTabs();\r\n\r\n this.supplierDetails = true;\r\n\r\n this.outSupplierId = e.supplierId;\r\n this.location.go('/finance/supplier-details?supplierId=' + e.supplierId);\r\n }\r\n\r\n\r\n gotoAllInhouse(e: any) {\r\n\r\n this.outShowUpcomingCourses = e;\r\n this.inhouse_detail = false;\r\n this.location.go('/inhouse/list');\r\n\r\n }\r\n\r\n backNavigation() {\r\n\r\n debugger;\r\n var previousPath = localStorage.getItem(\"PREVIOUS_PATH\");\r\n\r\n if (previousPath != null && previousPath != \"\" && previousPath != undefined) {\r\n if (previousPath == '/finance/invoices-list') {\r\n this.gobacktoInvoicesList = true;\r\n this.tabIndex = TabIndex.Finance;\r\n //this.gotoInvoicesIssued();\r\n }\r\n else if (previousPath == '/finance/debt-collection') {\r\n this.gobacktoDebtCollection = true;\r\n this.tabIndex = TabIndex.Finance;\r\n //this.gotoInvoicesIssued();\r\n }\r\n else if (previousPath == '/product/bookings?type=true') {\r\n this.gotoProductBookings({ allBookings: true, id: 0 });\r\n this.gobacktoProductBookings = true;\r\n this.gobacktoIndividualProductBookings = false;\r\n this.tabIndex = TabIndex.Products;\r\n }\r\n else if (previousPath == '/product/bookings?type=false') {\r\n this.gotoProductBookings({ allBookings: false, id: this.goBackProductId });\r\n this.gobacktoIndividualProductBookings = true;\r\n this.gobacktoProductBookings = false;\r\n this.tabIndex = TabIndex.Products;\r\n }\r\n else if (previousPath == '/inhouse/list') {\r\n this.gotoAllInhouse(true);\r\n }\r\n else if (previousPath == '/inhouse/list/o') {\r\n this.gotoAllInhouse(false);\r\n }\r\n else if (previousPath == '/inhouse/list/u') {\r\n this.gotoAllInhouse(true);\r\n }\r\n else\r\n this._router.navigateByUrl(previousPath);\r\n }\r\n }\r\n\r\n\r\n\r\n allDelegates() {\r\n this.delegate_detail = false;\r\n //this.location.go('/delegates/all-delegates');\r\n\r\n }\r\n\r\n gotoInvoicesIssued() {\r\n\r\n this.disableFinanceTabs();\r\n //this.received_invoices = false;\r\n //this.supplierDetails = false;\r\n this.invoiceList = true;\r\n //this.suppliersList = false;\r\n this.location.go('/finance/invoices-list');\r\n }\r\n\r\n\r\n gotoCourseDetails(e: any) {\r\n debugger;\r\n this.disableCourseTabs();\r\n\r\n\r\n this.tabIndex = TabIndex.Courses;\r\n\r\n //var obj = {\r\n // index: 1\r\n //}\r\n //this.tabIndex = 1;\r\n //localStorage.setItem(\"courseId\", e.courseId);\r\n\r\n //this.gotoMainMenu(obj);\r\n this.outCourse = {\r\n id: e.courseId,\r\n title: e.title\r\n };\r\n\r\n if (this.outCourse.title == undefined)\r\n this.outCourse.title = \"\";\r\n\r\n\r\n if (e.isInhouse == true) {\r\n this.location.go('/inhouse/details?organisationId=' + e.organisationId + '&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n this.inhouse_detail = true;\r\n this.tabIndex = TabIndex.Inhouse;\r\n this.gotoInhouseDetails({ id: e.organisationId });\r\n\r\n }\r\n else {\r\n this.course_detail = true;\r\n this.location.go('/courses/course-detail?cid=' + e.courseId + '&rndm=' + Math.floor(Math.random() * (100 - 0 + 1)) + 0);\r\n }\r\n //this.child.testFunction();\r\n }\r\n\r\n allCourses() {\r\n this.disableCourseTabs();\r\n\r\n //this.course_titles = false;\r\n //this.course_detail = false;\r\n this.all_courses = true;\r\n this.location.go('/courses/all-courses');\r\n }\r\n\r\n gotoMainMenu(tab) {\r\n\r\n\r\n //this.disableFinanceTabs();\r\n\r\n\r\n\r\n if (tab.index == TabIndex.Dashboard) {\r\n this.tabIndex = TabIndex.Dashboard;\r\n this.location.go('/home/dashboard');\r\n }\r\n else if (tab.index == TabIndex.Courses) {\r\n if (this.course_detail == false) {\r\n this.disableCourseTabs();\r\n\r\n this.all_courses = true;\r\n //this.course_detail = false;\r\n\r\n this.tabIndex = TabIndex.Courses;\r\n this.location.go('/courses/all-courses');\r\n }\r\n }\r\n else if (tab.index == TabIndex.Products) {\r\n\r\n if (this.gobacktoProductBookings == true)\r\n this.gotoProductBookings({ allBookings: true, id: 0 });\r\n else if (this.gobacktoIndividualProductBookings == true)\r\n this.gotoProductBookings({ allBookings: false, id: this.goBackProductId });\r\n else {\r\n this.product_bookings = false;\r\n this.tabIndex = TabIndex.Products;\r\n this.location.go('/product/list');\r\n }\r\n }\r\n else if (tab.index == TabIndex.Delegates) {\r\n\r\n\r\n if (this.delegate_detailForInvoice == true) {\r\n this.delegate_detail = true;\r\n //this.delegate_detailForInvoice = false;\r\n\r\n }\r\n else if (this.delegate_detailForProductBooking == true) {\r\n this.delegate_detail = true;\r\n //this.delegate_detailForProductBooking = false;\r\n }\r\n else {\r\n this.delegate_detail = false;\r\n this.location.go('/delegates/all-delegates');\r\n }\r\n\r\n this.tabIndex = TabIndex.Delegates;\r\n\r\n\r\n\r\n }\r\n else if (tab.index == TabIndex.Inhouse) {\r\n\r\n\r\n //this.outShowUpcomingCourses = false;\r\n\r\n if (window.location.pathname == \"/inhouse/details\") {\r\n this.inhouse_detail = true;\r\n this.tabIndex = TabIndex.Inhouse;\r\n }\r\n\r\n else {\r\n this.inhouse_detail = false;\r\n\r\n this.tabIndex = TabIndex.Inhouse;\r\n this.location.go('/inhouse/list');\r\n }\r\n }\r\n\r\n //else if (tab.index == TabIndex.Invoices) {\r\n // //this.tabIndex = TabIndex.Invoices;\r\n // this.tabIndex = TabIndex.Finance;\r\n // this.location.go('/invoices/all-invoices');\r\n //}\r\n\r\n else if (tab.index == TabIndex.Schedule) {\r\n this.courseScheduler = false;\r\n this.monthlySchedule = true;\r\n this.yearlySchedule = false;\r\n\r\n this.tabIndex = TabIndex.Schedule;\r\n this.location.go('/schedules/schedule');\r\n }\r\n //else if (tab.index == TabIndex.YearlySchedule) {\r\n // this.tabIndex = TabIndex.YearlySchedule;\r\n // this.location.go('/schedules/yearly-schedule');\r\n //}\r\n\r\n else if (tab.index == TabIndex.Finance) {\r\n\r\n if (this.gobacktoInvoicesList == true) {\r\n this.gotoInvoicesIssued();\r\n }\r\n else if (this.gobacktoDebtCollection == true) {\r\n this.gotoDebtCollection();\r\n }\r\n else {\r\n this.disableFinanceTabs();\r\n //this.received_invoices = false;\r\n //this.supplierDetails = false;\r\n //this.invoiceList = false;\r\n this.suppliersList = true;\r\n this.tabIndex = TabIndex.Finance;\r\n this.location.go('/finance/suppliers-list');\r\n }\r\n }\r\n else if (tab.index == TabIndex.Admin) {\r\n this.tabIndex = TabIndex.Admin;\r\n\r\n this.showAdminTab = \"speakerList\";\r\n //this.isDebt = false;\r\n //this.isCoursesUpload = true;\r\n //this.isSpeakers = false;\r\n\r\n this.location.go('/admin/speakers');\r\n //this.location.go('/reports/debt-collection');\r\n }\r\n\r\n //else if (tab.index == TabIndex.Upload) {\r\n // this.tabIndex = TabIndex.Upload;\r\n // this.location.go('/uploads/courses');\r\n //}\r\n //else if (tab.index == TabIndex.Speakers) {\r\n // this.tabIndex = TabIndex.Speakers;\r\n // this.location.go('/speakers/list');\r\n //}\r\n\r\n if (this.delegate_detailForInvoice == false &&\r\n this.delegate_detailForProductBooking == false ) {\r\n debugger;\r\n //if (this.inhouse_detail == false) {\r\n // debugger;\r\n // this._commonService.setBackNavigation();\r\n //}\r\n this._commonService.setBackNavigation();\r\n }\r\n else {\r\n this.delegate_detailForInvoice = false;\r\n this.delegate_detailForProductBooking = false;\r\n //this.inhouse_detail = false;\r\n }\r\n }\r\n\r\n\r\n changeTab(tabIndex: number) {\r\n this.tabIndex = tabIndex;\r\n }\r\n\r\n //objectKeys = Object.keys;\r\n\r\n //my_menu = {\r\n // 'main1': [],\r\n // 'main2': [\r\n // {\r\n // title: 'sub1',\r\n // index:1\r\n // },\r\n // {\r\n // title: 'sub2',\r\n // index:2\r\n // },\r\n // {\r\n // title: 'sub3',\r\n // index: 3\r\n // },\r\n // ],\r\n //};\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n Welcome, {{user.name}}\r\n
\r\n \r\n {{user.role}}\r\n \r\n \r\n logout\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Log Out ?
\r\n
\r\n

Are you sure you want to log out?

\r\n

Press No if youwant to continue work. Press Yes to logout current user.

\r\n
\r\n\r\n
\r\n
\r\n\r\n Yes\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { CommonServiceService } from '../../../common/_services/common-service.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-otp-verification',\r\n templateUrl: './otp-verification.component.html',\r\n styleUrls: ['./otp-verification.component.css']\r\n})\r\nexport class OtpVerificationComponent implements OnInit {\r\n isNumeric: boolean;\r\n maxLength: number;\r\n otpValue: string;\r\n ResendotpValue: string;\r\n placeholder: string = \"\";\r\n text: string;\r\n otpForm: FormGroup;\r\n\r\n @Output() otpSend: EventEmitter = new EventEmitter();\r\n @Output() ResendotpSend: EventEmitter = new EventEmitter();\r\n @Output() Close = new EventEmitter();\r\n\r\n timeLeft: number;\r\n configTime: number;\r\n intervalFlag = false;\r\n interval: any;\r\n\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private _commonService: CommonServiceService) {\r\n this.startTimer();\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.text = \"Enter OTP sms send to your Mobile Number\";\r\n this.maxLength = this.data.maxLength;\r\n\r\n if (this.data.otpResendWait == 0) {\r\n this.timeLeft = 60;\r\n this.configTime = 60;\r\n } else {\r\n this.timeLeft = this.data.otpResendWait;\r\n this.configTime = this.data.otpResendWait;\r\n }\r\n\r\n for (var i = 0; i < this.maxLength; i++) {\r\n this.placeholder += \"x\";\r\n }\r\n\r\n this._commonService.OtpClear.subscribe((res: any) => {\r\n \r\n this.otpValue = \"\";\r\n });\r\n\r\n }\r\n\r\n send() {\r\n this.otpSend.emit(this.otpValue);\r\n }\r\n\r\n ResendOTP() {\r\n this.pauseTimer();\r\n this.timeLeft = this.configTime;\r\n this.startTimer();\r\n\r\n this.ResendotpSend.emit(this.ResendotpValue);\r\n }\r\n\r\n CloseOTP() {\r\n this.Close.emit(\"Close\");\r\n }\r\n\r\n startTimer() {\r\n this.interval = setInterval(() => {\r\n if (this.timeLeft > 0) {\r\n this.intervalFlag = false;\r\n this.timeLeft--;\r\n } else {\r\n this.intervalFlag = true;\r\n }\r\n }, 1000)\r\n }\r\n\r\n pauseTimer() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n close\r\n \r\n

OTP CONFIRMATION

\r\n

{{text}}

\r\n \r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n

{{timeLeft}}

\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-show-msg',\n templateUrl: './show-msg.component.html',\n styleUrls: ['./show-msg.component.css']\n})\nexport class ShowMsgComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

show-msg works!

\n","import { Component, EventEmitter, Inject, OnInit, Optional, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\r\n\n@Component({\n selector: 'app-success-summary',\n templateUrl: './success-summary.component.html',\n styleUrls: ['./success-summary.component.css']\n})\nexport class SuccessSummaryComponent implements OnInit {\n\n summary: any;\n\n constructor(public dialogRef: MatDialogRef, private _route: Router,\n //@Optional() is used to prevent error if no data is passed\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any) {\n this.summary = data.data;\n }\n\n ngOnInit() {\n }\n\n\n close() {\n this._route.navigateByUrl(\"/home/dashboard\");\n this.dialogRef.close(true);\n }\n\n}\n","
\r\n \r\n

Transaction Successful

\r\n
\r\n
{{item.caption}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
","import { Component, EventEmitter, Inject, OnInit, Optional, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-success',\n templateUrl: './success.component.html',\n styleUrls: ['./success.component.css']\n})\nexport class SuccessComponent implements OnInit {\n\n\n @Output() closeError = new EventEmitter();\n\n public Text: string;\n public Status: string;\n constructor(public dialogRef: MatDialogRef,\n //@Optional() is used to prevent error if no data is passed\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any) {\n \n //console.log(data);\n\n this.Text = data[\"desc\"];\n //this.Status = data[\"status\"];\n }\n\n ngOnInit() {\n\n }\n\n //genericMessasge() {\n // this.closeGenericMessasge.emit({ Yes: CodeStatus.OK })\n //}\n\n close() {\n this.dialogRef.close(true);\n }\n\n}\n","
\r\n \r\n

Success

\r\n

{{Text}}

\r\n\r\n \r\n\r\n
","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthenticationService } from '../../../common/guards/AuthenticationService';\r\nimport { AuthUserService } from '../../../common/_services/auth-user.service';\r\nimport { CoursesService } from '../../../common/_services/courses-services';\r\nimport { DelegateService } from '../../../common/_services/delegate-services';\r\n\r\n@Component({\r\n selector: 'app-tv-screen',\r\n templateUrl: './tv-screen.component.html',\r\n styleUrls: ['./tv-screen.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class TvScreenComponent implements OnInit {\r\n\r\n @ViewChild('modalBookingAlert', { static: true }) modalBookingAlert: TemplateRef;\r\n\r\n user: any;\r\n coursesList: any;\r\n currentTime: any;\r\n currentDate: any;\r\n latestBooking: any = [];\r\n bookingNumber: string;\r\n showBookingAlert: boolean = false;\r\n\r\n constructor(private _router: Router,\r\n private _authService: AuthUserService,\r\n private _auth: AuthenticationService,\r\n private _coursesService: CoursesService,\r\n private _delegateService: DelegateService,\r\n private modal: NgbModal,\r\n private datePipe: DatePipe) {\r\n\r\n this.getTVUpcomingCoursesList();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n // display clock\r\n this.updateTime();\r\n setInterval(() => {\r\n this.updateTime();\r\n }, 1000);\r\n\r\n // hiding the top menu\r\n document.body.className = \"\";\r\n $(\".menu_less\").hide();\r\n this.user = {\r\n role: this._auth.userRole(),\r\n name: localStorage.getItem(\"userName\")\r\n\r\n }\r\n\r\n setTimeout(\r\n function () {\r\n location.reload();\r\n }, 1000 * 30 * 60);\r\n\r\n setTimeout(\r\n function () {\r\n $(\".page-header\").hide();\r\n $(\".menu_less\").show();\r\n }, 10000);\r\n }\r\n\r\n updateTime(): void {\r\n const now = new Date();\r\n this.currentDate = this.datePipe.transform(now, 'dd-MM-yyyy');\r\n this.currentTime = this.datePipe.transform(now, 'HH:mm');\r\n }\r\n\r\n\r\n getTVUpcomingCoursesList() {\r\n\r\n this._coursesService.getTVUpcomingCoursesList().subscribe((result: any) => {\r\n this.showBookingAlert = false;\r\n if (result.success == true) {\r\n this.coursesList = result.data;\r\n this.getNewBooking();\r\n } else {\r\n\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getNewBooking() {\r\n this._delegateService.getNewBooking().subscribe((result: any) => {\r\n if (result.success == true) {\r\n this.latestBooking = result.data.newBooking; //result.data.slice(-1)[0];\r\n this.bookingNumber = this.getOrdinalSuffix(result.data.bookingNumber + 1);\r\n this.showBookingAlert = true;\r\n this.modal.open(this.modalBookingAlert);\r\n } else {\r\n //this._commonService.error(result.data.desc);\r\n }\r\n\r\n }, (_error: any) => {\r\n\r\n this._router.navigateByUrl(\"/unauthorise\");\r\n //this.loading = false;\r\n })\r\n }\r\n\r\n getOrdinalSuffix(n: number): string {\r\n //const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\r\n const remainder10 = n % 10;\r\n const remainder100 = n % 100;\r\n\r\n if (remainder10 === 1 && remainder100 !== 11) {\r\n return `${n}st`;\r\n } else if (remainder10 === 2 && remainder100 !== 12) {\r\n return `${n}nd`;\r\n } else if (remainder10 === 3 && remainder100 !== 13) {\r\n return `${n}rd`;\r\n } else {\r\n return `${n}th`;\r\n }\r\n }\r\n\r\n logout() {\r\n this._authService.logout();\r\n this._router.navigateByUrl(\"/account/login\");\r\n }\r\n\r\n getDate() {\r\n\r\n var date = new Date();\r\n var dd = String(date.getDate()).padStart(2, '0');\r\n var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n var _date = dd + '/' + mm + '/' + yyyy;\r\n return _date;\r\n }\r\n\r\n\r\n hideShowHeader(val) {\r\n if (val == true) {\r\n $(\".page-header\").hide();\r\n $(\".menu_less\").show();\r\n }\r\n else {\r\n $(\".page-header\").show();\r\n $(\".menu_less\").hide();\r\n }\r\n }\r\n\r\n getPendingBookingsClass(className: string) {\r\n //debugger;\r\n if (className.toLowerCase() == \"green\")\r\n return \"green_text\";\r\n else if (className.toLowerCase() == \"red\")\r\n return \"red_text\";\r\n else if (className.toLowerCase() == \"amber\")\r\n return \"amber_text\";\r\n else if (className.toLowerCase() == \"grey\")\r\n return \"gray_text\";\r\n }\r\n\r\n formatName(fullName: string) {\r\n if (fullName) {\r\n const nameParts = fullName.split(' ');\r\n if (nameParts.length > 1) {\r\n const firstName = nameParts[0];\r\n const secondNameInitial = nameParts[1].charAt(0);\r\n return `${firstName} ${secondNameInitial}.`;\r\n } else {\r\n return fullName; // Handle case where there's only one part\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n Welcome, {{user.name}}\r\n
\r\n \r\n {{user.role}}\r\n \r\n \r\n logout\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Hide header\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n Upcoming Courses\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n   {{currentTime}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n Show Header\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{coursesList[0].courseCode}}
\r\n
{{coursesList[0].courseTitle}}
\r\n
{{coursesList[0].courseTitle}}
\r\n
\r\n
{{coursesList[0].dateDisplay | date:'dd-MM-yy'}}
\r\n
\r\n
{{coursesList[0].courseLocation}}
\r\n
\r\n
{{coursesList[0].day}}
\r\n
---
\r\n
\r\n
{{formatName(coursesList[0].speakerName)}}
\r\n
\r\n
D
\r\n
T
\r\n
M
\r\n \r\n
S
\r\n
\r\n \r\n
\r\n {{coursesList[0].totalBookings}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{coursesList[1].courseCode}}
\r\n
{{coursesList[1].courseTitle}}
\r\n
{{coursesList[1].courseTitle}}
\r\n
\r\n
{{coursesList[1].dateDisplay | date:'dd-MM-yy'}}
\r\n
\r\n
{{coursesList[1].courseLocation}}
\r\n
\r\n
{{coursesList[1].day}}
\r\n
---
\r\n
\r\n
{{formatName(coursesList[1].speakerName)}}
\r\n
\r\n
D
\r\n
T
\r\n
M
\r\n \r\n
S
\r\n
\r\n \r\n
\r\n {{coursesList[1].totalBookings}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{coursesList[2].courseCode}}
\r\n
{{coursesList[2].courseTitle}}
\r\n
{{coursesList[2].courseTitle}}
\r\n
\r\n
{{coursesList[2].dateDisplay | date:'dd-MM-yy'}}
\r\n
\r\n
{{coursesList[2].courseLocation}}
\r\n
\r\n
{{coursesList[2].day}}
\r\n
---
\r\n
\r\n
{{formatName(coursesList[2].speakerName)}}
\r\n
\r\n
D
\r\n
T
\r\n
M
\r\n \r\n
S
\r\n
\r\n \r\n
\r\n {{coursesList[2].totalBookings}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{coursesList[3].courseCode}}
\r\n
{{coursesList[3].courseTitle}}
\r\n
{{coursesList[3].courseTitle}}
\r\n
\r\n
{{coursesList[3].dateDisplay | date:'dd-MM-yy'}}
\r\n
\r\n
{{coursesList[3].courseLocation}}
\r\n
\r\n
{{coursesList[3].day}}
\r\n
---
\r\n
\r\n
{{formatName(coursesList[3].speakerName)}}
\r\n
\r\n
D
\r\n
T
\r\n
M
\r\n \r\n
S
\r\n
\r\n \r\n
\r\n {{coursesList[3].totalBookings}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n
Date\r\n
Course
\r\n
\r\n
Location
\r\n
\r\n
Day
\r\n
\r\n
Speaker
\r\n
\r\n
D
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TMS
\r\n
\r\n
{{course.dateDisplay | date:'dd-MM-yy'}}
\r\n
\r\n
{{course.courseCode}}
\r\n
\r\n
{{course.courseTitle}}
\r\n
\r\n
{{course.courseTitle}}
\r\n
\r\n
{{course.courseLocation}}
\r\n
\r\n
{{course.day}}
\r\n
\r\n
{{course.speakerInitial}}
\r\n
\r\n
{{course.speakerName}}
\r\n
\r\n \r\n \r\n
{{course.totalBookings}}
\r\n
{{course.totalBookings}}
\r\n
\r\n \r\n
\r\n Cancelled\r\n \r\n Inhouse\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {{currentDate}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

{{latestBooking.name}}

\r\n

{{latestBooking.courseName}}

\r\n
\r\n
\r\n Course date\r\n
\r\n

\r\n {{latestBooking.courseDate | date:'dd-MM-yy'}}\r\n

\r\n
\r\n
\r\n
\r\n Location\r\n
\r\n

\r\n {{latestBooking.courseLocation}}\r\n

\r\n
\r\n
\r\n
\r\n

\r\n {{bookingNumber}}\r\n

\r\n Delegate\r\n
\r\n
\r\n\r\n
\r\n
\r\n Information: \r\n
\r\n

\r\n {{latestBooking.organization}}\r\n

\r\n

\r\n {{latestBooking.invoiceDepartment}}, {{latestBooking.invoiceAddress}}, {{latestBooking.invoiceCity}}, {{latestBooking.invoicePostcode}}, {{latestBooking.invoiceTelephone}}\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../common/guards/AuthenticationService';\r\nimport { AuthUserService } from '../../../common/_services/auth-user.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorise',\r\n templateUrl: './unauthorise.component.html',\r\n styleUrls: ['./unauthorise.component.css']\r\n})\r\nexport class UnauthoriseComponent implements OnInit {\r\n\r\n user: any;\r\n\r\n constructor(private _router: Router,\r\n private _authService: AuthUserService,\r\n private _auth: AuthenticationService) { }\r\n\r\n ngOnInit(): void {\r\n this.user = {\r\n role: this._auth.userRole(),\r\n name: localStorage.getItem(\"userName\")\r\n\r\n }\r\n }\r\n\r\n logout() {\r\n this._authService.logout();\r\n this._router.navigateByUrl(\"/account/login\");\r\n }\r\n\r\n}\r\n","
\r\n
\r\n Welcome, {{user.name}}\r\n
\r\n \r\n {{user.role}}\r\n \r\n \r\n logout\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n 403 - ACCESS DENIED\r\n
\r\n\r\n
\r\n You don't have permission to access this page.\r\n
\r\n
\r\n\r\n","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-validate-pin',\n templateUrl: './validate-pin.component.html',\n styleUrls: ['./validate-pin.component.css']\n})\nexport class ValidatePinComponent implements OnInit {\n\n maxLength: number;\n mPin: string;\n placeholder: string = \"\";\n text: string;\n otpForm: FormGroup;\n // private subscription: Subscription;\n\n\n @Output() Validatepin: EventEmitter = new EventEmitter();\n @Output() Close = new EventEmitter();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit() {\n \n this.text = \"Please enter your PIN\";\n this.maxLength = 4;\n\n for (var i = 0; i < this.maxLength; i++) {\n this.placeholder += \"x\";\n }\n\n //this.subscription = this.alertService.OtpClearObservable$.subscribe((res) => {\n // this.otpValue = \"\";\n //});\n }\n\n send() {\n this.Validatepin.emit(this.mPin);\n }\n\n CloseOTP() {\n this.Close.emit(\"Close\");\n }\n\n}\n","
\r\n close\r\n \r\n

PIN CONFIRMATION

\r\n

{{text}}

\r\n \r\n\r\n \r\n
","import { Directive, HostListener } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: '[appNumberOnly]'\n})\nexport class NumberOnlyDirective {\n\n constructor(private el: NgControl) { }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: string) {\n // NOTE: use NgControl patchValue to prevent the issue on validation\n this.el.control?.patchValue(value.replace(/[^0-9]/g, ''));\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LayoutsModule } from './_components/layouts/layouts.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { OtpVerificationComponent } from './_components/otp-verification/otp-verification.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatFormFieldModule } from '@angular/material/form-field'\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { CreatePinComponent } from './_components/create-pin/create-pin.component';\r\nimport { ValidatePinComponent } from './_components/validate-pin/validate-pin.component';\r\nimport { NumberOnlyDirective } from './_directives/number-only.directive';\r\nimport { SuccessComponent } from './_components/success/success.component';\r\nimport { ErrorComponent } from './_components/error/error.component';\r\nimport { ShowMsgComponent } from './_components/show-msg/show-msg.component';\r\nimport { SuccessSummaryComponent } from './_components/success-summary/success-summary.component';\r\nimport { DeleteComponent } from './_components/delete/delete.component';\r\nimport { DashboardModule } from '../core/dashboard/dashboard.module';\r\nimport { UnauthoriseComponent } from './_components/unauthorise/unauthorise.component';\r\nimport { TvScreenComponent } from './_components/tv-screen/tv-screen.component';\r\nimport { ClickableParentComponent } from './_components/edit/clickable-parent/clickable-parent.component';\r\nimport { ActionsComponent } from './_components/edit/actions/actions.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [OtpVerificationComponent,\r\n CreatePinComponent,\r\n ValidatePinComponent,\r\n NumberOnlyDirective,\r\n SuccessComponent,\r\n ErrorComponent,\r\n ShowMsgComponent,\r\n SuccessSummaryComponent,\r\n DeleteComponent,\r\n UnauthoriseComponent,\r\n TvScreenComponent,\r\n ClickableParentComponent,\r\n ActionsComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n LayoutsModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatCardModule,\r\n MatIconModule,\r\n FormsModule,\r\n \r\n ],\r\n exports: [\r\n NumberOnlyDirective,\r\n ClickableParentComponent,\r\n ActionsComponent\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n

\r\n Loading...\r\n

\r\n
\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes, UrlTree } from '@angular/router';\r\nimport { AppComponent } from './app.component';\r\nimport { SideBarLayoutComponent } from './_modules/shared/_components/layouts/side-bar-layout/side-bar-layout.component';\r\nimport { BlankLayoutComponent } from './_modules/shared/_components/layouts/blank-layout/blank-layout.component';\r\nimport { SharedModule } from './_modules/shared/shared.module';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgxSpinnerModule, NgxSpinnerService } from \"ngx-spinner\";\r\nimport { JwtInterceptor } from './_modules/common/_interceptor/jwt.interceptor';\r\n//import { AuthGuard } from './_modules/common/guards';\r\nimport { JwtModule } from \"@auth0/angular-jwt\";\r\nimport { ErrorInterceptor } from './_modules/common/_interceptor/error.interceptor';\r\nimport { VerificationComponent } from './_modules/account/_components/verification/verification.component';\r\n//import { CoursesComponent } from './_modules/core/courses/courses.component';\r\n//import { UploadCoursesComponent } from './_modules/core/upload-courses/upload-courses.component';\r\n\r\n//import { MatSelectModule } from '@angular/material';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { ViewScheduleComponent } from './_modules/core/Schedule/view-schedule/view-schedule.component';\r\n\r\n//import { FlatpickrModule } from 'angularx-flatpickr';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { YearlyScheduleComponent } from './_modules/core/Schedule/yearly-schedule/yearly-schedule.component';\r\n//import { ChartModule } from 'angular-highcharts';\r\nimport { HighchartsChartModule } from 'highcharts-angular';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ViewDelegateComponent } from './_modules/core/delegates/view-delegate/view-delegate.component';\r\nimport { AddEditDelegateComponent } from './_modules/core/delegates/add-edit-delegate/add-edit-delegate.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { DelgateActionsComponent } from './_modules/core/delegates/view-delegate/delgate-actions/delgate-actions.component';\r\nimport { ClickableParentComponent } from './_modules/core/delegates/view-delegate/clickable-parent/clickable-parent.component';\r\nimport { BookingComponent } from './_modules/core/booking/booking.component';\r\n//import { CourseActionsComponent } from './_modules/core/courses/course-actions/course-actions.component';\r\n//import { CourseClickableParentComponent } from './_modules/core/courses/course-clickable-parent/course-clickable-parent.component';\r\n//import { CourseDetailsComponent } from './_modules/core/courses/course-details/course-details.component';\r\n//import { CourseSpeakerDetailsComponent } from './_modules/core/courses/course-speaker-details/course-speaker-details.component';\r\n//import { CourseDelegateDetailsComponent } from './_modules/core/courses/course-delegate-details/course-delegate-details.component';\r\nimport { CourseDatesDetailsComponent } from './_modules/core/courses/course-dates-details/course-dates-details.component';\r\n//import { ViewCourseComponent } from './_modules/core/courses/view-course/view-course.component';\r\nimport { DelegateDetailsComponent } from './_modules/core/delegates/delegate-details/delegate-details.component';\r\nimport { AnFooterComponent } from './_modules/shared/_components/layouts/an-footer/an-footer.component';\r\n//import { AnHeaderComponent } from './_modules/shared/_components/layouts/an-header/an-header.component';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { AuthGuard } from './_modules/common/guards/auth.guard';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatIconModule } from '@angular/material/icon'\r\nimport { UnauthoriseComponent } from './_modules/shared/_components/unauthorise/unauthorise.component';\r\nimport { TvScreenComponent } from './_modules/shared/_components/tv-screen/tv-screen.component';\r\nimport { ProductsBookingComponent } from './_modules/core/products-booking/products-booking.component';\r\nimport { RipaBookingComponent } from './_modules/core/booking/ripa-booking/ripa-booking.component';\r\nimport { BookingConfirmationComponent } from './_modules/core/booking/booking-confirmation/booking-confirmation.component';\r\n\r\nexport function tokenGetter() {\r\n return localStorage.getItem(\"Token\");\r\n}\r\n\r\n//@Injectable({\r\n// providedIn: 'root'\r\n//})\r\n\r\n//export class AuthGaurd implements CanActivate {\r\n// constructor(/*public authService: AuthService,*/ public router: Router, private spinner: NgxSpinnerService) { }\r\n// async canActivate(\r\n// route: ActivatedRouteSnapshot,\r\n// state: RouterStateSnapshot\r\n// ): Promise {\r\n\r\n// this.spinner.show();\r\n// let result = true;// localStorage.getItem('token'); //true; //await this.authService.chechAuthenticated();\r\n// if (!result) {\r\n// this.router.navigateByUrl('/account/login');\r\n// }\r\n// setTimeout(() => {\r\n// this.spinner.hide()\r\n// }, 1000);\r\n\r\n// return true;\r\n// }\r\n//}\r\n\r\n//export class AuthGaurd implements CanActivate {\r\n\r\n// constructor(\r\n// private router: Router,\r\n// //private auth: AuthService\r\n// ) { }\r\n\r\n// canActivate() {\r\n// // if (this.auth.authenticated) {\r\n// if (false) {\r\n// return true;\r\n// } else {\r\n// this.router.navigateByUrl('/account/login');\r\n// }\r\n// return true;\r\n// } \r\n//}\r\n\r\nconst adminRoutes: Routes = [\r\n {\r\n path: 'home',\r\n loadChildren: () => import('./_modules/core/dashboard/dashboard.module').then(m => m.DashboardModule)\r\n },\r\n {\r\n path: 'courses',\r\n //canActivateChild: [AuthGuard],\r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./_modules/core/courses/courses.module').then(m => m.CoursesModule)\r\n },\r\n {\r\n path: 'delegates',\r\n loadChildren: () => import('./_modules/core/delegates/delegates.module').then(m => m.DelegatesModule)\r\n },\r\n {\r\n path: 'invoices',\r\n //canActivateChild: [AuthGuard],\r\n loadChildren: () => import('./_modules/core/invoices/invoices.module').then(m => m.InvoicesModule)\r\n },\r\n {\r\n path: 'inhouse',\r\n loadChildren: () => import('./_modules/core/inhouse/inhouse.module').then(m => m.InhouseModule)\r\n },\r\n {\r\n path: 'product',\r\n loadChildren: () => import('./_modules/core/product/product.module').then(m => m.ProductModule)\r\n },\r\n \r\n //{\r\n // path: 'admin',\r\n // loadChildren: () => import('./_modules/core/speakers/speakers.module').then(m => m.SpeakersModule)\r\n //},\r\n //{\r\n // path: 'admin',\r\n // loadChildren: () => import('./_modules/core/reports/reports.module').then(m => m.ReportsModule)\r\n //},\r\n {\r\n path: 'finance',\r\n loadChildren: () => import('./_modules/core/finance/finance.module').then(m => m.FinanceModule)\r\n },\r\n {\r\n path: 'schedules',\r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./_modules/core/Schedule/schedules.module').then(m => m.SchedulesModule)\r\n },\r\n //{\r\n // path: 'admin',\r\n // loadChildren: () => import('./_modules/core/upload-courses/uploads.module').then(m => m.UploadsModule)\r\n //}\r\n\r\n {\r\n path: 'admin',\r\n loadChildren: () => import('./_modules/core/admin/admin.module').then(m => m.AdminModule)\r\n }\r\n];\r\n\r\nconst routes: Routes = [\r\n //{\r\n // path: '',\r\n // redirectTo: 'home/dashboard',\r\n // pathMatch: 'full'\r\n //},\r\n {\r\n path: '',\r\n component: BlankLayoutComponent,\r\n children: [\r\n {\r\n path: 'account',\r\n loadChildren: () => import('./_modules/account/account.module').then(m => m.AccountModule)\r\n },\r\n {\r\n path: 'tv', component: TvScreenComponent\r\n },\r\n {\r\n path: 'website',\r\n loadChildren: () => import('./_modules/core/temp-website/temp-website.module').then(m => m.TempWebsiteModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'verification',\r\n component: VerificationComponent,\r\n children: [\r\n {\r\n path: 'verification',\r\n loadChildren: () => import('./_modules/account/account.module').then(m => m.AccountModule)\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: '',\r\n component: SideBarLayoutComponent,\r\n canActivate: [AuthGuard],\r\n children: adminRoutes\r\n },\r\n {\r\n path: '**',\r\n redirectTo: 'others/404',\r\n canActivate: [AuthGuard]\r\n },\r\n // { path: 'courses', component: CoursesComponent },\r\n //{ path: 'course', component: ViewCourseComponent },\r\n //{ path: 'upload-courses', component: UploadCoursesComponent },\r\n //{ path: 'schedule', component: ViewScheduleComponent },\r\n //{ path: 'yearly-schedule', component: YearlyScheduleComponent },\r\n //{ path: 'new-delegate', component: AddEditDelegateComponent },\r\n //{ path: 'delegates', component: ViewDelegateComponent },\r\n //{ path: 'delegate-details', component: DelegateDetailsComponent },\r\n { path: 'booking', component: BookingComponent },\r\n { path: 'booking-confirmation', component: BookingConfirmationComponent },\r\n { path: 'booking-product', component: ProductsBookingComponent },\r\n { path: 'booking-ripa', component: RipaBookingComponent },\r\n { path: 'skin', component: CourseDatesDetailsComponent },\r\n { path: 'unauthorise', component: UnauthoriseComponent },\r\n \r\n \r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n //CoursesComponent,\r\n\r\n //UploadCoursesComponent,\r\n //ViewScheduleComponent,\r\n //YearlyScheduleComponent,\r\n //ViewDelegateComponent,\r\n //AddEditDelegateComponent,\r\n //DelgateActionsComponent,\r\n //ClickableParentComponent,\r\n BookingComponent,\r\n //CourseActionsComponent,\r\n //CourseClickableParentComponent,\r\n //CourseDetailsComponent,\r\n //CourseSpeakerDetailsComponent,\r\n //CourseDelegateDetailsComponent,\r\n CourseDatesDetailsComponent,\r\n //ViewCourseComponent,\r\n //DelegateDetailsComponent,\r\n AnFooterComponent,\r\n ProductsBookingComponent,\r\n RipaBookingComponent,\r\n BookingConfirmationComponent,\r\n //AnHeaderComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n SharedModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forRoot(routes),\r\n BrowserAnimationsModule,\r\n NgxSpinnerModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatCardModule,\r\n HighchartsChartModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n AgGridModule,\r\n MatTabsModule,\r\n MatExpansionModule,\r\n MatIconModule,\r\n //FlatpickrModule.forRoot(),\r\n //CalendarModule.forRoot({\r\n // provide: DateAdapter,\r\n // useFactory: adapterFactory,\r\n //}),\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter,\r\n allowedDomains: [\"localhost:44384\"],\r\n //disallowedRoutesRoutes: []\r\n }\r\n })\r\n\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\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 //apiURL: \"https://localhost:44384/\"\r\n\r\n production: true,\r\n apiURL: \"\"\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","import { 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\r\n//export { renderModule, renderModuleFactory } from '@angular/platform-server';"],"names":[],"sourceRoot":"webpack:///"}