{"version":3,"file":"main.42713b4943dfe721.js","mappings":";;;;;;;;;;;;;;;;AAEyC;AAEc;;;AAEvD,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,GAAG,EAAE,CAAC,oKAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;KAC/E;IACD;QACE,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,GAAG,EAAE,CAAC,6JAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3E,WAAW,EAAE,CAAC,kDAAS,CAAC;KACzB;IACD;QACE,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,QAAQ;KACrB;CAEF,CAAC;AAQK,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAJzB,iEAAoB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAEvC,yDAAY;mIAEX,gBAAgB,oFAFjB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBiD;AAIb;;;;;;;;;ICP5D,wEAA8F;IAG1F,8EAAqC;IAEzC,qEAAe;;ADWR,MAAM,YAAY;IAoBvB,YACU,kBAAqC;IAC7C,4CAA4C;IACpC,kBAAoC,EACpC,qBAA0C;IAClD,+CAA+C;;QAG/C,mEAAmE;QACnE,+BAA+B;QAC/B,kEAAkE;QAClE,oEAAoE;QACpE,0BAA0B;QAC1B,MAAM;QACN,QAAQ;QAbA,uBAAkB,GAAlB,kBAAkB,CAAmB;QAErC,uBAAkB,GAAlB,kBAAkB,CAAkB;QACpC,0BAAqB,GAArB,qBAAqB,CAAqB;QAYhD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,8FAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC7F,IAAG,GAAG,CAAC,UAAU,IAAI,GAAG,EAAC;gBACvB,IAAI,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,iDAAe,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,iDAAe,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;gBACzF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;QAIL,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG;YAC/B,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;iBACb;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,IAAI;iBACb;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,IAAI;iBACb;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;iBACb;aACF;SACF,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,yCAAO,EAAE,CAAC;IACvC,CAAC;IA3DD,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,CAAC;IAAA,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK;QACd,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;IACpC,CAAC;IAuDD,QAAQ;QACN,6CAA6C;QAC7C,UAAU,CAAC,GAAG,EAAE;YACd,qBAAqB;QACvB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,sBAAsB;QACtB,IAAI,CAAC,kBAAkB,CAAC,MAAM;aAC3B,IAAI,CAAC,+CAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC9B,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,WAAW;QACT,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAAA,CAAC;;AAlFY,yBAAY,GAAG,KAAM;wEAXxB,YAAY;0GAAZ,YAAY;QChBzB,0HAKe;QACf,oEAA2F;;QAN5E,iJAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCd;AAC9B;AAC+B;AAC1B;AACH;AACI;AAEI;AACF;AACT;AACkB;AACR;AACQ;AAC4B;AACjB;;;AAmCrE,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFR,wDAAY;4GAfb;QACT,IAAI;QACJ,gCAAgC;QAChC,kCAAkC;QAClC,gBAAgB;QAChB,KAAK;QACN,CAAE;gBACC,OAAO,EAAE,oEAAiB;gBAC1B,QAAQ,EAAE,uGAA0B;gBACpC,oBAAoB;gBACpB,KAAK,EAAE,IAAI;aAEZ,CAAC;QACF,sDAAQ;KACT,YAxBC,qEAAa;QACb,0FAAuB;QACvB,iEAAgB;QAChB,uEAAkB,CAAC,4DAAa,CAAC;QACjC,2EAAa;QACb,sFAAgB;QAChB,+DAAY;QACZ,yDAAU;oIAoBD,SAAS,mBA/BlB,wDAAY;QACZ,uFAAe,aAGf,qEAAa;QACb,0FAAuB;QACvB,iEAAgB,mEAEhB,2EAAa;QACb,sFAAgB;QAChB,+DAAY;QACZ,yDAAU;;;;;;;;;;;;;;;;;;;;;;;;AC5Bd;;;;;;;AAgBM,MAAOG,SAAP,CAAgB;EAGpBC,YACUC,KADV,EAEUC,cAFV,EAGUC,mBAHV,EAIUC,kBAJV,EAKUC,qBALV,EAKqD;IAJ3C;IACA;IACA;IACA;IACA;EACN;;EAEEC,WAAW,CAACL,KAAD,EAAgCM,KAAhC,EAA0D;IAAA;;IAAA;MAEzE;MAEA,IAAIC,OAAO,GAAQ,KAAI,CAACN,cAAL,CAAoBO,OAApB,CAA4B,aAA5B,CAAnB;;MACA,KAAI,CAACC,YAAL,GAAoBF,OAAO,GAAGG,IAAI,CAACC,KAAL,CAAWJ,OAAX,EAAoBK,SAAvB,GAAmC,KAA9D,CALyE,CAMzE;;MAEA,IAAI,KAAI,CAACH,YAAT,EAAuB;QACrB,KAAI,CAACP,mBAAL,CAAyBW,mBAAzB,GAA+CH,IAAI,CAACC,KAAL,CAAWJ,OAAX,CAA/C,CADqB,CAErB;;QACA,OAAO,IAAP;MACD,CAZwE,CAazE;;;MACA,KAAI,CAACN,cAAL,CAAoBa,YAApB;;MACA,KAAI,CAACd,KAAL,CAAWe,QAAX,CAAoB,CAAC,QAAD,CAApB;;MAEA,OAAO,KAAP;IAjByE;EAkB1E;;AA7BmB;;;mBAATjB,WAASkB,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,yFAAAA,GAAAA,sDAAAA,CAAAA,mFAAAA,GAAAA,sDAAAA,CAAAA,+FAAAA,GAAAA,sDAAAA,CAAAA,kFAAAA;AAAA;;;SAATlB;EAASmB,SAATnB,SAAS;EAAAoB,YAFR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbP,MAAM,iBAAiB,GAAG;IAC/B,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IACjE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IAClE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;CACtD,CAAC;AACJ,MAAM,SAAS,GAAG;IACvB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;CAChC,CAAC;AAEJ,MAAM,MAAM,GAAG;IACpB,8BAA8B;IAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;IAClC,sCAAsC;IACtC,sCAAsC;IACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;CACtB,CAAC;AAEJ,MAAM,OAAO,GAAG;IACrB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;CACH,CAAC;AAEJ,MAAM,aAAa,GAAG;IAC3B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAChC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;CACtB,CAAC;AAEJ,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE;QACT,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE;YACX,aAAa,EAAE,gBAAgB;YAC/B,gBAAgB,EAAE,oBAAoB;YACtC,kBAAkB,EAAE,sBAAsB;YAC1C,mBAAmB,EAAE,uBAAuB;YAC5C,kBAAkB,EAAE,sBAAsB;YAC1C,+BAA+B,EAAE,oCAAoC;SACtE;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE;YACX,OAAO,EAAE,iBAAiB;YAC1B,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,oBAAoB;SACjC;KACF;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE;YACX,aAAa,EAAE,mBAAmB;YAClC,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,gBAAgB;SAC7B;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE;YACX,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,qBAAqB;YAC/B,UAAU,EAAE,uBAAuB;SACpC;KACF;IACD,cAAc,EAAE;QACd,MAAM,EAAE,iBAAiB;QACzB,WAAW,EAAE;YACX,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,WAAW;YACrB,gBAAgB,EAAE,YAAY;YAC9B,kBAAkB,EAAE,cAAc;YAClC,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,gBAAgB;SAChC;KACF;IACD,aAAa,EAAE;QACb,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE;YACX,WAAW,EAAE,cAAc;YAC3B,iBAAiB,EAAE,oBAAoB;YACvC,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE;YACX,mBAAmB,EAAE,sBAAsB;YAC3C,eAAe,EAAE,kBAAkB;YACnC,cAAc,EAAE,iBAAiB;YACjC,mBAAmB,EAAE,uBAAuB;YAC5C,kBAAkB,EAAE,sBAAsB;YAC1C,oBAAoB,EAAE,wBAAwB;SAC/C;KACF;IACD,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE;YACX,qBAAqB,EAAE,wBAAwB;YAC/C,iBAAiB,EAAE,oBAAoB;YACvC,gBAAgB,EAAE,mBAAmB;YACrC,qBAAqB,EAAE,yBAAyB;YAChD,oBAAoB,EAAE,wBAAwB;YAC9C,sBAAsB,EAAE,0BAA0B;SACnD;KACF;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE;YACX,WAAW,EAAE,eAAe;YAC5B,YAAY,EAAE,gBAAgB;YAC9B,qBAAqB,EAAE,yBAAyB;YAChD,eAAe,EAAE,mBAAmB;SACrC;KACF;CACF,CAAC;AAEK,MAAM,oBAAoB,GAAG;IAClC;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,8BAA8B;KACzC;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,iCAAiC;KAC5C;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,2BAA2B;KACtC;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,2BAA2B;KACtC;CACO,CAAC;AACJ,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,uDAAuD;IACvD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE;CACxC,CAAC;AAEJ,MAAM,OAAO,GAAG;IACrB;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;KACnD;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY;KACxD;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,2BAA2B;QAClC,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;KACpD;IACD,IAAI;IACJ,WAAW;IACX,2BAA2B;IAC3B,sCAAsC;IACtC,2DAA2D;IAC3D,KAAK;CACG,CAAC;AAEJ,MAAM,cAAc,GAAG;IAC5B;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,8BAA8B;QACzC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW;KAC9D;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,4BAA4B;QACvC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB;KACpE;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,6BAA6B;QACxC,UAAU,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW;KAC9D;CACO,CAAC;AAEJ,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;CAC3C,CAAC;AACJ,MAAM,UAAU,GAAG;IACxB;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;KACrD;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;KACrD;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,2BAA2B;QAClC,SAAS,EAAE,6BAA6B;QACxC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;KACvD;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU;KACzD;CACO,CAAC;AAEJ,MAAM,cAAc,GAAG;IAC5B;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,4BAA4B;QACvC,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;KAC5D;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,gCAAgC;QAC3C,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB;KACpE;CACO,CAAC;AAEJ,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE;IACjE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,qBAAqB,EAAE;IACzE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE;CAC3D,CAAC;AACJ,MAAM,qBAAqB,GAAG;IACnC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,uCAAuC;KACnD;IACD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,qCAAqC,EAAE,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE;IACpJ,2EAA2E;CACnE,CAAC;AAEJ,MAAM,2BAA2B,GAAG;IACzC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,yBAAyB;KACrC;IACD,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAC;IACnE,2EAA2E;CACnE,CAAC;AAGJ,MAAM,QAAQ,GAAG;IACtB;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,uBAAuB;QAClC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB;KACjE;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,+BAA+B;QAC1C,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB;KAClE;IACD,IAAI;IACJ,WAAW;IACX,4BAA4B;IAC5B,0CAA0C;IAC1C,KAAK;CACG,CAAC;AAEJ,MAAM,UAAU,GAAG;IACxB;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB;KACrE;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,iCAAiC;QAC5C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB;KACtE;CACO,CAAC;AAEJ,MAAM,wBAAwB,GAAG;IACtC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,iBAAiB;QAC5B,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;;;;OAIL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;;;;;;;;;;;;;OAaL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,iBAAiB;QAC5B,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;;;;;;;;;;;;;OAaL;KACJ;CACO,CAAC;AAEJ,MAAM,QAAQ,GAAG;IACtB;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;;;;;;GAaP;QACC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;KACrC;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;;;;;GAYP;QACC,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM;QACjC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;KACtB;IAED;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;SAOD;QACL,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM;KAC5C;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;GAMP;QACC,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM;QACzC,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;KAC7B;IAED,MAAM;IACN,gJAAgJ;IAChJ,8DAA8D;IAC9D,g1DAAg1D;IACh1D,WAAW;IACX,WAAW;IACX,iCAAiC;IACjC,OAAO;IACP;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;CAKT;QACG,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;QACpC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;KACzB;IAED;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;GAQP;QACC,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM;QACxC,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;KAC7B;IAED;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;GAQP;QACC,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;QACnC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;KACvB;IAED;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;GAQP;QACC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM;QACrC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;KACzB;IAED;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;;;;;;;;;;;;;;;;GAgBP;QACC,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;KAEjC;IAED,MAAM;IACN,uJAAuJ;IACvJ,wFAAwF;IACxF,oWAAoW;IACpW,gVAAgV;IAChV,kPAAkP;IAClP,wVAAwV;IACxV,SAAS;IACT,SAAS;IACT,oCAAoC;IACpC,OAAO;IAEP,uIAAuI;IACvI,iEAAiE;IACjE,oIAAoI;IACpI,mFAAmF;IACnF,6bAA6b;IAC7b,mhBAAmhB;IACnhB,WAAW;IACX,SAAS;IACT,SAAS;IACT,gCAAgC;IAEhC,IAAI;IACJ,yIAAyI;IACzI,yDAAyD;IACzD,qTAAqT;IACrT,yIAAyI;IACzI,SAAS;IACT,mCAAmC;IACnC,KAAK;CACG,CAAC;AAEJ,MAAM,mBAAmB,GAAG;IACjC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,qBAAqB;QAC5B,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE;;;;;;;OAOL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;;;;;OAKL;KACJ;CACO,CAAC;AAEJ,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,6GAA6G;IAC7G,sBAAsB;IACtB,cAAc;IACd,gzDAAgzD;IAChzD,cAAc;IACd,g9DAAg9D;IACh9D,SAAS;IACT,WAAW;IACX,OAAO;IACP;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;;;;;OAKL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE;;;;;;;;;;;;;OAaL;KACJ;CACO,CAAC;AAEJ,MAAM,uBAAuB,GAAG;IACrC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,8BAA8B;QACrC,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE;;;;;;;OAOL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,0BAA0B;QACjC,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE;;;;;OAKL;KACJ;CACO,CAAC;AAEJ,MAAM,wBAAwB,GAAG;IACtC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE;;;;;;;OAOL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE;;;;;OAKL;KACJ;CACO,CAAC;AAEJ,MAAM,0BAA0B,GAAG;IACxC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,wBAAwB;QAC/B,SAAS,EAAE,uBAAuB;QAClC,MAAM,EAAE;;;;;;;OAOL;KACJ;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;;;;;OAKL;KACJ;CACO,CAAC;AAEJ,MAAM,eAAe,GAAG;IAC7B;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;KACrB;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,eAAe;KACvB;CACO,CAAC;AAEJ,MAAM,kBAAkB,GAAG;IAChC;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,kCAAkC;KAC9C;IACD;QACE,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,2CAA2C;KACvD;CACO,CAAC;AACJ,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,0BAA0B,EAAE;IAC3E,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACtE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE;CACpD,CAAC;AACJ,MAAM,SAAS,GAAG;IACvB;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,gCAAgC;KACxC;IACD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gCAAgC,EAAE;IACzE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,+BAA+B;KACvC;IACD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,kCAAkC,EAAE;IACzE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,+BAA+B;KACvC;IACD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gCAAgC,EAAE;CACnE,CAAC;AAEJ,MAAM,YAAY,GAAG;IAC1B,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;CACrC,CAAC;AAEJ,MAAM,YAAY,GAAG;IAC1B,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACzD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC3D,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACrD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC7D,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACrD,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;CAC3B,CAAC;AAEJ,MAAM,sBAAsB,GAAG;IACpC;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;YACzD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;YAC3D,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACrD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACxD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;YACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;SAC9D;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;YAC7D,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACrD,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE;YACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACpC;KACF;CACO,CAAC;AAEJ,MAAM,YAAY,GAAG;IAC1B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE;IAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;CAClD,CAAC;AAEJ,MAAM,WAAW,GAAG;IACzB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;CAC/B,CAAC;AAEJ,MAAM,SAAS,GAAG;IACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACrC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACzC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;CAC3B,CAAC;AASJ,SAAS,SAAS,CAAC,IAAgB;IACxC,MAAM,MAAM,GAAW;QACrB,wBAAwB,EAAE;YACxB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ;SACnB;QACD,0BAA0B,EAAE;YAC1B,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,qBAAqB;SACtB;KACF,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAEM,SAAS,WAAW,CAAC,IAAI;IAC9B,MAAM,QAAQ,GAAG;QACf,qBAAqB,EAAE;YACrB,KAAK,EAAE,sCAAsC;YAC7C,MAAM,EAAE,wCAAwC;YAChD,GAAG,EAAE,+CAA+C;YACpD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,QAAQ;YACnB,GAAG,EAAE,mCAAmC;SACzC;QACD,uBAAuB,EAAE;YACvB,KAAK,EAAE,sBAAsB;YAC7B,GAAG,EAAE,2DAA2D;YAChE,GAAG,EAAE,iCAAiC;YACtC,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACx4BgC;AAGjC,qCAAqC;AAC9B,SAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAC7C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE;QACvC,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAAA,CAAC;AACK,SAAS,cAAc,CAAC,KAAK;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,CAAC;QACpC,CAAC,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,GAAG,CAAC;QACjC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB;AACH,CAAC;AACD,uDAAuD;AAChD,SAAS,kBAAkB,CAAC,WAAmB,EAAE,mBAA2B;IACjF,OAAO,CAAC,SAA2B,EAAE,EAAE;QACrC,IAAI,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,uBAAuB;QACvB,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAChE,+BAA+B;QAC/B,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;YAC3E,OAAO;SACR;QAAA,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,EAAE;YAC3C,eAAe,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;SACzD;aAAM;YACL,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjC;IACH,CAAC;AACH,CAAC;AAAA,CAAC;AAGF,wFAAwF;AACjF,SAAS,UAAU,CAAC,GAAW,EAAE,WAAmB;IACzD,OAAO,CAAC,EAAoB,EAAE,EAAE;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,YAAY,GAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,YAAY,EAAE;YACjB,OAAM;SACP;QAED,IAAI,YAAY,EAAE;YAChB,IAAI,QAAQ,GAAG;gBACb,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE;gBAChC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;gBAC9B,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE;aAC3B;YACD,MAAM,KAAK,GAAwC,QAAQ,CAAC;YAE5D,MAAM,IAAI,GAAG,mCAAM,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,mCAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAE,6DAA6D;gBACzG,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE;oBACpB,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;qBAAM;oBACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACxB;aACF;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AAAA,CAAC;AAEF,sCAAsC;AAC/B,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAEM,SAAS,SAAS,CAAC,MAAM;IAC9B,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,KAAK,GAAG,CAAC,EAAE;QAChB,KAAK,EAAE,CAAC;QACR,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,SAAS,sBAAsB,CAAC,GAAG;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AACM,SAAS,aAAa,CAAC,KAAK;IACjC,IAAI,EAAE,GAAG,wJAAwJ,CAAC;IAClK,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAGM,SAAU,SAAS,CAAC,IAAS,EAAE,MAAU;IAC9C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,KAAK,GAAQ,SAAS,CAAC;IACzB,IAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI;YACA,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,IAAI,GAAQ,IAAI,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;YAC3D,IAAG,MAAM,EAAE;gBACR,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;oBACpB,IAAG,GAAG,IAAI,IAAI,EAAE;wBACZ,KAAK,KAAL,KAAK,GAAK,MAAM,CAAC,GAAG,CAAC,EAAC;qBACzB;iBACJ;aACH;YACD,KAAK,KAAL,KAAK,GAAK,IAAI,EAAC;SAClB;QACD,OAAO,CAAC,EAAE;YACN,OAAO,EAAE,CAAC;SACb;KACJ;IACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAG,MAAM;QACP,KAAK,KAAL,KAAK,GAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC;IACnD,KAAK,KAAL,KAAK,GAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC;IAC3B,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC5B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;;;;;;;;;;;;;;;;;;;;;AClIoE;;;;;;;ICM7D,6EAAmE;IAAA,uDAAkB;IAAA,4DAAS;;;IAAjD,iFAAqB;IAAC,0DAAkB;IAAlB,gFAAkB;;;IAKzF,uEAA4H;;;IAExH,6EAA2F;IAAA,uDAAkB;IAAA,4DAAS;;;IAAhD,gFAAoB;IAAC,0DAAkB;IAAlB,gFAAkB;;;IADjH,6EAA+F;IAC3F,kIAAsH;;IAC1H,4DAAS;;;IADsB,0DAAyC;IAAzC,yMAAyC;;;IAUxE,wEAAuD;IACnD,uDACJ;IAAA,qEAAe;;;IADX,0DACJ;IADI,mIACJ;;;IAGI,uDACJ;;;IADI,iHACJ;;;;IAPJ,sEAA0D;IACtD,4IAEe;IAEf,sNAEc;IACd,6EAA8C;IAA1B,2VAAS,oFAAe,KAAC;IAAC,iEAAM;IAAA,4DAAS;;;;IAP9C,0DAAqB;IAArB,kFAAqB;;ADdjC,MAAM,sBAAsB;IAejC,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAdlC,gBAAW,GAAG,IAAI,uDAAY,EAAO,CAAC;QAEhD,mBAAc,GAAkD,EAAE,CAAC;QAE3D,oBAAe,GAAQ,SAAS,CAAC;QACjC,aAAQ,GAAQ,EAAE,CAAC;QAUzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC,EAAE,CAAC;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC1D,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAnBD,IAAc,OAAO,CAAC,KAAU;QAC9B,IAAI,CAAC,eAAe,KAApB,IAAI,CAAC,eAAe,GAAK,KAAK,EAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAeD,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QAElE,IAAI,cAAc,IAAI,WAAW,EAAE;YACjC,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACnG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;gBAChD,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5E;aACI;YACH,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;SACzC;IACH,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;gBAChD,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,CAAC;;4FA9DU,sBAAsB;oHAAtB,sBAAsB;QCRnC,0EAAuD;QAAxB,kJAAY,cAAU,IAAC;QAClD,yEAAoB;QAEQ,yEAAc;QAAA,4DAAQ;QAClD,4EAAkF;QAC9E,wHAA8F;QAClG,4DAAS;QAET,yEAAkB;QACO,wEAAa;QAAA,4DAAQ;QAC9C,wHAA4H;QAC5H,0HAES;QACT,4DAAM;QACR,0EAA6B;QACuB,sEAAU;QAAA,4DAAS;QAKzE,qHASM;;QA9BA,qFAAwB;QAKK,0DAAgB;QAAhB,sFAAgB;QAK3B,0DAAkC;QAAlC,kIAAkC;QAC7C,0DAAiC;QAAjC,+HAAiC;QAUtB,0DAAmB;QAAnB,uFAAmB;;;;;;;;;;;;;;;;;;;;;;ACpBI;AACmB;AACb;AACqC;;AAgBnF,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;2GAPnB,yDAAY;QACZ,uDAAW;QACX,+DAAY;QACZ,+DAAmB;mIAIV,UAAU,mBAVnB,mGAAsB,aAGtB,yDAAY;QACZ,uDAAW;QACX,+DAAY;QACZ,+DAAmB,aAEX,mGAAsB;;;;;;;;;;;;;;;;;;;;;;ACnB4I;AACxF;AAG/B;;;;;;;;;ICJvD,8EAGkD;IAF0B,kZAAmB,oPACxB,wFAAuB,KADC,sQAE1E,2FAA0B,KAFgD;IAD/F,4DAGkD;;;IAFjD,uEAAgB;IADiD,2FAA2B;;;;IAK7F,8EAG8F;IAFxC,kZAAmB,iPAC9D,2EAAS,KADqD,qPACxC,yFAAuB,KADiB,+OAE7D,0EAAQ,KAFqD,uQAER,6FAA2B,KAFnB;IADzE,4DAG8F;;;IAHL,uEAAgB;IAA5C,2FAA2B;;ADcjF,MAAM,yBAAyB;IA6BpC,YACU,cAA6B,EAC7B,GAAe;QADf,mBAAc,GAAd,cAAc,CAAe;QAC7B,QAAG,GAAH,GAAG,CAAY;QA9BA,mBAAc,GAA0C,mBAAmB,CAAC;QAO5F,UAAK,GAAQ,EAAE,CAAC;QAKhB,gBAAW,GAAY,aAAa,CAAC;QACrC,iBAAY,GAAa,KAAK,CAAC;QAC9B,yBAAoB,GAAsB,IAAI,uDAAY,EAAE,CAAC;QACvE,wBAAwB;QACd,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,iBAAiB;QACjB,8BAA8B;QAC9B,iBAAY,GAAQ,gEAAS,CAAC;QAE9B,UAAK,GAAQ,IAAI,CAAC;QAElB,SAAI,GAAQ,IAAI,CAAC;QACjB,YAAO,GAAY,IAAI,CAAC;QACxB,YAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAoJrB,mCAAmC;QAEnC,aAAQ,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,YAAO,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAhJvB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QAClC,qEAAqE;IAEvE,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG;gBAClB,GAAG,gEAAS;gBACZ,GAAG,IAAI,CAAC,WAAW;aACpB;SACF;IAEH,CAAC;IACD,eAAe;QACb,qBAAqB;QACrB,SAAS;QAET,UAAU,CAAC,GAAG,EAAE;YACd,yCAAyC;YACzC,2BAA2B;YAC3B,+DAA+D;YAC/D,6DAA6D;YAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjD,kBAAkB;gBAElB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC;YACF,oGAAoG;QACtG,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,IAAG,OAAO,CAAC,kBAAkB,CAAC,EAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,YAAY;SAEhE;IACH,CAAC;IAED,qBAAqB;QACnB,8CAA8C;QAE9C,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,EAAE;YAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9C;aAEI,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1C;aACI,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACrE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvD,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,CAAC;QAElB,IAAI,EAAO,CAAC;QACZ,IAAI,CAAC,CAAC,EAAE;YACN,OAAM;SACP;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEf,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,EAAE,GAAG;gBACH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;gBAC5D,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;aAC7D,CAAC;SACH;QACD,mBAAmB;QAEnB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,GAAQ,CAAC;YACb,GAAG,GAAG;gBACJ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;aACjE,CAAC;YACF,oBAAoB;YAEpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrC;QACD,UAAU,CAAC,GAAG,EAAE;YAEd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,uCAAuC;IACzC,CAAC;IAED,mBAAmB,CAAC,CAAC;QACnB,IAAI,EAAO,CAAC;QAEZ,IAAI,CAAC,CAAC,EAAE;YACN,OAAM;SACP;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE;YACpD,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAChE;QACD,mBAAmB;QAEnB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,GAAQ,CAAC;YACb,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACpE,oBAAoB;YACpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrC;QAED,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YAC3E,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACrG;IACH,CAAC;IACD,MAAM;QACJ,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACxG;QACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,CAAC,OAAO,EAAE;IAChB,CAAC;IAED,gBAAgB;QACd,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClF,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACpC;iBAAM;gBACL,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAEjC;SACF;IACH,CAAC;IAOD,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,eAAe;QACf,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,EAAE;YAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE;YAChD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,wBAAwB;IAC1B,CAAC;;kGA1MU,yBAAyB;uHAAzB,yBAAyB;;;;;kbARzB;YACT;gBACE,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;gBACxD,KAAK,EAAE,IAAI;aACZ;SACF;QCjBH,yHAGkD;QAElD,yHAG8F;;QAR1E,4GAA4C;QAKxD,0DAAuC;QAAvC,uGAAuC;;;;;;;;;;;;;;;;;;;;;;ACJA;AAC2B;AACZ;AAEI;;;AAgB3D,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAT/B,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,gFAA0B,EAAE;mIAMnB,sBAAsB,mBAXlB,mFAAyB,aAEtC,yDAAY;QACZ,uDAAW;QACX,+DAAmB,uFAInB,mFAAyB;;;;;;;;;;;;;;;;;;;AClBiC;AAEvD,IAAI,SAAS,GAAgC;IAClD,cAAc,EAAE,aAAa;IAC7B,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,oBAAoB;IACpB,eAAe,EAAE,YAAY;IAC7B,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,YAAY;IAC9B,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;YAC/B,KAAK,EAAE,OAAO;SACf;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aACvD;YACD,KAAK,EAAE,WAAW;SACnB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,EAAE;aACX;YACD,KAAK,EAAE,aAAa;SACrB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvD,IAAI,IAAI,EAAE;aACX;YACD,KAAK,EAAE,cAAc;SACtB;QACD;YACE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YACpD,KAAK,EAAE,YAAY;SACpB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;gBACD,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;aACF;YACD,KAAK,EAAE,gBAAgB;SACxB;KACF;CACF,CAAC;AAEK,IAAI,UAAU,GAAgC;IACnD,cAAc,EAAE,aAAa;IAC7B,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,YAAY;IAC7B,iCAAiC;IACjC,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;YAC/B,KAAK,EAAE,OAAO;SACf;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aACvD;YACD,KAAK,EAAE,WAAW;SACnB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,EAAE;aACX;YACD,KAAK,EAAE,aAAa;SACrB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvD,IAAI,IAAI,EAAE;aACX;YACD,KAAK,EAAE,cAAc;SACtB;QACD;YACE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YACpD,KAAK,EAAE,YAAY;SACpB;QACD;YACE,KAAK,EAAE;gBACL,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;gBACD,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;aACF;YACD,KAAK,EAAE,gBAAgB;SACxB;KACF;CACF,CAAC;AAEK,SAAS,mBAAmB,CAAC,UAAuC;IAEzE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,wEAAkB,EAAE,EAAE,UAAU,IAAI;QAC3D,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI;QAEtB,oBAAoB;QACpB,iCAAiC;QACjC,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,YAAY;QAC9B,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE;YACN;gBACE,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;gBAC/B,KAAK,EAAE,OAAO;aACf;YACD;gBACE,KAAK,EAAE;oBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBACtD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;iBACvD;gBACD,KAAK,EAAE,WAAW;aACnB;YACD;gBACE,KAAK,EAAE;oBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBACtD,IAAI,IAAI,EAAE;iBACX;gBACD,KAAK,EAAE,aAAa;aACrB;YACD;gBACE,KAAK,EAAE;oBACL,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvD,IAAI,IAAI,EAAE;iBACX;gBACD,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBACpD,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,KAAK,EAAE;oBACL,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;oBACD,IAAI,IAAI,CACN,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CACpE;iBACF;gBACD,KAAK,EAAE,gBAAgB;aACxB;SACF;KACF,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;;;;;AClKqF;;AAK/E,MAAM,yBAAyB;IAoBpC,YAAoB,GAAe,EAAU,SAAoB;QAA7C,QAAG,GAAH,GAAG,CAAY;QAAU,cAAS,GAAT,SAAS,CAAW;QAJ1C,iBAAY,GAAY,KAAK,CAAC;QAErD,gBAAW,GAAG,iBAAiB,CAAC;IAEqC,CAAC;IAEhC,UAAU,CAAC,KAAoB;QAGnE,yEAAyE;QACzE,6EAA6E;QAC7E,sEAAsE;QACtE,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;YACnD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,gBAAgB,EAAE;YACxD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,WAAW,CAAC,KAAoB;QAC9B,MAAM,CAAC,GAAkB,KAAK,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;YACtC,OAAO;SACR;QACD,OAAO;QACP,yDAAyD;QACzD,qBAAqB;QACrB,gDAAgD;QAChD,qBAAqB;QACrB,gDAAgD;QAChD,qBAAqB;QACrB,gDAAgD;QAChD,qBAAqB;QACrB,6CAA6C;QAC7C,MAAM;QACN,wCAAwC;QACxC,YAAY;QACZ,IAAI;QACJ,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAE5D,IAAG,IAAI,CAAC,YAAY;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IACE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EACzB;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAED,aAAa,CAAC,KAAoB;QAChC,MAAM,CAAC,GAAkB,KAAK,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;YACtC,OAAO;SACR;QACD,IAAI,CAAC,CAAC;QACN,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,0CAA0C;QAC7D,IACE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YACnB,CAAC,KAAK,CAAC;YACP,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,EAC/B;YACA,OAAO;SACR;QACD,6CAA6C;QAC7C,8CAA8C;QAC9C,wBAAwB;QACxB,cAAc;QACd,IAAI;QACJ,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,KAAoB;QACjC,sBAAsB;QAEtB,MAAM,CAAC,GAAkB,KAAK,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;YACtC,OAAO;SACR;QACD,IAAI,CAAC,CAAC;QACN,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,0CAA0C;QAC7D,IACE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YACnB,CAAC,KAAK,CAAC;YACP,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,EAC/B;YACA,OAAO;SACR;QACD,6CAA6C;QAC7C,8CAA8C;QAC9C,wBAAwB;QACxB,cAAc;QACd,IAAI;QACJ,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAEkC,OAAO,CAAC,KAAU;QACnD,IAAI,KAAU,CAAC;QACf,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC1C,KAAK,GAAG,UAAU,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,gBAAgB,EAAE;YACxD,KAAK,GAAG,eAAe,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;YACnD,KAAK,GAAG,YAAY,CAAC;SACtB;QAED,MAAM,CAAC,GAA4B,KAAK,CAAC;QACzC,MAAM,SAAS,GAAI,CAAC,CAAC,aAA8B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE1E,IAAI,CAAC,CAAC;QACN,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE;YAC3C,oEAAoE;YACpE,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE;gBAC/B,KAAK,CAAC,SAAS,EAAE,CAAC;aACnB;YACD,uDAAuD;YACvD,CAAC,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,UAAkB,EAAE,EAAE;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE;YAChC,OAAO;SACR;aAAM;YACL,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;;kGAjJU,yBAAyB;uHAAzB,yBAAyB;6JAAzB,sBAAkB,2FAAlB,mBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLsC;AACpB;AAEE;AACuB;AACY;AAChB;AACM;AACX;AACY;AAC4B;AACX;AACtB;AACO;AACwB;AACzB;AAC+B;;AAwCnG,MAAM,oBAAoB;;wFAApB,oBAAoB;kHAApB,oBAAoB;sHApBrB,0DAAY;oIAoBX,oBAAoB,mBApC7B,0DAAa;QACb,2EAAkB;QAClB,gFAAwB;QACxB,4FAAyB;QACzB,6EAAkB;QAClB,kFAAoB;QACpB,uEAAmB;QACnB,mFAAyB;QACzB,gHAAkB;QAClB,oGAAyB;QACzB,+EAAkB;QAClB,sFAAyB;QACzB,+GAAsB;QACtB,qFAAyB;QACzB,oHAA8B,aAEtB,0DAAY,aAEpB,0DAAa;QACb,2EAAkB;QAClB,gFAAwB;QACxB,4FAAyB;QACzB,6EAAkB;QAClB,kFAAoB;QACpB,uEAAmB;QACnB,mFAAyB;QACzB,gHAAkB;QAClB,oGAAyB;QACzB,+EAAkB;QAClB,sFAAyB;QACzB,+GAAsB;QACtB,qFAAyB;QACzB,oHAA8B;;;;;;;;;;;;;;;;;;;;;;ACpDgD;AACnD;AACqD;;AAK7E,MAAM,yBAAyB;IAapC;QARO,cAAS,GAAW,CAAC,CAAC;QAS3B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,uDAAY,EAAO,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAO,EAAO,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAO,EAAQ,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU;aACZ,IAAI,CACH,yDAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,4DAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/B,oEAAoB,EAAE,EACtB,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CACrC;aACA,SAAS,EAAE,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,KAAU;QAG1B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;;kGA1CU,yBAAyB;uHAAzB,yBAAyB;;;;;;;;;;;;;;;;;;ACNoC;;AAInE,MAAM,oBAAqB,SAAQ,mFAAyB;IACjE;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAGM,OAAO,CAAC,KAAU;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,qBAAqB;QAErB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE;YAClH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7B;IAEH,CAAC;;wFAdU,oBAAoB;kHAApB,oBAAoB;kJAApB,mBAAe;;;;;;;;;;;;;;;;;;;ACLe;AAOpB;;AAKhB,MAAM,yBAAyB;IAEpC,YAC4B,QAAkB,EACpC,GAAe;QADG,aAAQ,GAAR,QAAQ,CAAU;QACpC,QAAG,GAAH,GAAG,CAAY;QAHhB,wBAAmB,GAAQ,IAAI,CAAC;IAItC,CAAC;IAE+B,SAAS,CAAC,CAAM;QAEjD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;YACrC,OAAO;SACR;QACD,IACE,CAAC,CAAC,UAAU,CAAC,sBAAsB;YACnC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EACnC;YACA,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/C,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO;SACR;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,4BAA4B;YAC5B,IAAI,WAAW,GAAQ,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACvD,iDAAiD;YACjD,qDAAqD;YAErD,iBAAiB;YACjB,IAAI,WAAW,EAAE;gBACf,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;oBAC1C,WAAW,CAAC,KAAK,EAAE,CAAC;oBACpB,OAAO;iBACR;qBAAM;oBACL,YAAY;oBACZ,gDAAgD;iBACjD;aACF;iBAAM;gBACL,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC1D,iCAAiC;oBACjC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;iBAChE;gBACD,OAAO;aACR;YACD,IAAI;SACL;IACH,CAAC;;kGA9CU,yBAAyB,kEAG1B,qDAAQ;uHAHP,yBAAyB;uJAAzB,qBAAiB;;;;;;;;;;;;;;;;;;ACZyC;;AAKhE,MAAM,aAAa;IAOtB,YAAsB,UAAsB,EAAY,SAAoB;QAAtD,eAAU,GAAV,UAAU,CAAY;QAAY,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IANhF,IAAa,OAAO,CAAC,KAAc;QAC/B,KAAK;YACD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC;IACjF,CAAC;;0EALQ,aAAa;2GAAb,aAAa;;;;;;;;;;;;;;;;;ACCD;;AAKhB,MAAM,kBAAkB;IAI7B,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAHtB,YAAO,GAAW,IAAI,CAAC;QACxC,eAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEH,CAAC;IAE3C,eAAe;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/E,CAAC;QACF,8BAA8B;QAC9B,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACzB,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;IACH,CAAC;IAGD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACtD,CAAC;QACF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;IACH,CAAC;;oFAvBU,kBAAkB;gHAAlB,kBAAkB;4IAAlB,YAAQ;;;;;;;;;;;;;;;;;;ACX+D;;AAK/E,MAAM,mBAAmB;IAG9B,YAAoB,QAAmB,EAAU,EAAc;QAA3C,aAAQ,GAAR,QAAQ,CAAW;QAAU,OAAE,GAAF,EAAE,CAAY;QAF3C,cAAS,GAAQ,CAAC,CAAC;QAGrC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEoC,SAAS,CAAC,CAAM;QACnD,6BAA6B;QAE7B,MAAM,KAAK,GAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE;YACrC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE;gBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;aAAE;SAC7D;IACH,CAAC;;sFAdU,mBAAmB;iHAAnB,mBAAmB;qJAAnB,qBAAiB;;;;;;;;;;;;;;;;;;ACLmE;;AAM1F,MAAM,wBAAwB;IAYnC,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QANlC,UAAK,GAAG,CAAC,CAAC;QACV,aAAQ,GAAG,IAAI,CAAC;QAEN,iBAAY,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAI7D,IAAI,CAAC,CAAC,GAAG;YACP,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/B,CAAC;QAEF,sBAAsB;QACtB,IAAI,CAAC,CAAC,GAAG;YACP,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/B,CAAC;IACJ,CAAC;IAEkC,OAAO,CAAC,MAAW;QACpD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1C,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAEO,MAAM,CAAC,KAAU;QACvB,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,KAAK;gBACtB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC7D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/D,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAChE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjE,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,EAAE;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM;SACT;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,qBAAqB;IACrB,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,gBAAgB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,gBAAgB,IAAI,KAAK,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClD;YACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAClB;IACH,CAAC;IAED,uDAAuD;IACvD,QAAQ,CAAC,KAAU;QACjB,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE;YAC/D,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE;YAC/D,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IACD,kBAAkB,CAAC,UAAe;QAChC,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,YAAY,GAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,UAAU,EAAC,CAAC,KAAK,CAAC,CAAC;SACzD;IACH,CAAC;;gGA/HU,wBAAwB;sHAAxB,wBAAwB;sJAAxB,mBAAe;;;;;;;;;;;;;;;;;;;ACNoD;;;AAMzE,MAAM,yBAAyB;IAGpC,YAAoB,OAAkB,EAAU,EAAc;QAA1C,YAAO,GAAP,OAAO,CAAW;QAAU,OAAE,GAAF,EAAE,CAAY;QAD5C,YAAO,GAAY,KAAK,CAAC;IACuB,CAAC;IACnE,QAAQ;QACN,IAAI,CAAC,aAAa;YACf,IAAI,CAAC,OAAe,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAElD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YACtC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;;kGAhBU,yBAAyB;uHAAzB,yBAAyB;;;;;;;;;;;;;;;;;ACNmC;;AAKlE,MAAM,8BAA8B;IAEzC,YAAoB,WAAuB,EAAU,UAAqB;QAAtD,gBAAW,GAAX,WAAW,CAAY;QAAU,eAAU,GAAV,UAAU,CAAW;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,+EAA+E;QAC/E,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACtF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC;IAC/G,CAAC;IAEF,QAAQ;IAER,CAAC;;4GAfU,8BAA8B;4HAA9B,8BAA8B;;;;;;;;;;;;;;;;;ACL8B;;AAKlE,MAAM,yBAAyB;IAapC,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAXlC,eAAe;QACf,6BAA6B;QAC7B,gCAAgC;QAChC,QAAQ;QAER,qBAAqB;QACrB,2BAA2B;QAE3B,IAAI;QACI,WAAM,GAAG,KAAK,CAAC;QAGrB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,kCAAkC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAiB;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,4BAA4B,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,kCAAkC,CAAC;SACrD;IACH,CAAC;;kGAjCU,yBAAyB;uHAAzB,yBAAyB;;;;;;;;;;;;;;;;;;;ACLO;AAStB;AACkD;;AAWlE,MAAM,kBAAkB;IAO7B,YAA4B,GAAe,EAAU,SAAoB;QAA7C,QAAG,GAAH,GAAG,CAAY;QAAU,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE7E,sBAAsB;IAEtB,SAAS,CAAC,GAAkB;QAC1B,sBAAsB;QAEtB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,OAAO,IAAI,oDAAC,IAAI,OAAO,IAAI,oDAAC,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,GAAG,CAAC,cAAc,EAAE,CAAC;SACtB;aAAI;YACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAE9C;IACH,CAAC;IAGD,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,wDAAwD;IACxD,gBAAgB,CAAC,EAAoB;QACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,wDAAwD;IACxD,iBAAiB,CAAC,EAAc;QAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,wDAAwD;IACxD,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;;oFAlDU,kBAAkB;gHAAlB,kBAAkB;gJAAlB,qBAAiB,kFAAjB,kBAAc;qFARd;YACT;gBACE,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;gBACjD,KAAK,EAAE,IAAI;aACZ;SACF;;;;;;;;;;;;;;;;;ACjBH,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,oCAAqB;IACrB,kCAAmB;IACnB,wCAAyB;IACzB,wCAAyB;AAC7B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,IAAY,eAST;AATH,WAAY,eAAe;IACvB,+CAA4B;IAC5B,6CAA0B;IAC1B,qDAAkC;IAClC,mDAA+B;IAC/B,mDAAgC;IAChC,8BAA8B;IAE9B,iCAAiC;AACnC,CAAC,EATS,eAAe,KAAf,eAAe,QASxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfoH;AACrF;AAC6B;AAGhC;;;;;;;;AAQxB,MAAM,0BAA0B;IAcrC,YACU,MAAqB,EACrB,eAAgC,EAChC,cAAqC,EACrC,OAA0B;IAClC,4CAA4C;IACpC,MAAqB,EACrB,qBAA2C;QAN3C,WAAM,GAAN,MAAM,CAAe;QACrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAuB;QACrC,YAAO,GAAP,OAAO,CAAmB;QAE1B,WAAM,GAAN,MAAM,CAAe;QACrB,0BAAqB,GAArB,qBAAqB,CAAsB;QAZrD,eAAU,GAAY,KAAK,CAAC;QAEpB,aAAQ,GAAuB,EAAE,CAAC;QAYxC,iDAAiD;QACjD,4BAA4B;QAC5B,oCAAoC;QACpC,kCAAkC;QAClC,MAAM;QACN,KAAK;QACL,mEAAmE;QACnE,iCAAiC;QACjC,gCAAgC;IAClC,CAAC;IAED,aAAa,CAAC,GAAqB;QAEjC,8EAA8E;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,CAAC,OAA+B,EAAE,IAAiB;QAE1D,6DAA6D;QAC7D,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACzD;QAGD,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG;QAEtB,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,mFAA4B,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3E,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,CAAC;SAClC;aAAM;YACL,IAAI,OAAO,GAAQ,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,EAAE;YACtB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACrD,uBAAuB;YACvB,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,0CAA0C;aAC9F;YAED,IAAI,OAAO,GAAG,IAAI,6DAAW,CAAC;gBAC5B,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;gBACvE,OAAO,EAAE,kCAAkC;aAC5C,CAAC;SAEH;QACD,iFAAiF;QACjF,4EAA4E;QAC5E,qDAAqD;QACrD,mDAAmD;QACnD,OAAO;QACP,IAAI;QAGJ,IAAI,aAAa,GAAY,IAAI,CAAC;QAClC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,OAAO,CAAC,IAAI,YAAY,QAAQ,EAAE;YACpC,kBAAkB;YAClB,yDAAyD;YACzD,KAAK;YACL,kBAAkB;YAClB,2DAA2D;YAC3D,KAAK;YACL,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;gBACnC,IAAI,GAAG,IAAI,SAAS,EAAE;oBACpB,aAAa,GAAG,KAAK,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;iBACP;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACrB;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;YACpC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YAC/B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,IAAI,4CAAU,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACpD;gBACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;oBACd,IAAI,KAAK,YAAY,8DAAY,EAAE;wBACjC,6BAA6B;wBAE7B,IAAI,aAAa,GAAG,aAAa,CAAC;wBAClC,sBAAsB;wBACtB,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;4BACpC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gCAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;6BACtD,CAAC;yBACH;wBACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;4BAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBACtB;6BAAM;4BACL,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;4BAC9B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACjD,MAAM,KAAK,GAAG,wDAAU,CAAC;gCACvB,KAAK,EAAE,IAAI;gCACX,QAAQ,EAAE,SAAS;gCACnB,iBAAiB,EAAE,KAAK;gCACxB,KAAK,EAAE,IAAI;gCACX,gBAAgB,EAAE,IAAI;gCACtB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oCACjB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,8DAAc,CAAC;oCACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,gEAAgB,CAAC;gCACxD,CAAC;6BACF,CAAC;4BACF,KAAK,CAAC,IAAI,CAAC;gCACT,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,mBAAmB;6BAC3B,CAAC;yBACH;wBACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;qBAE7B;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAE5B,sBAAsB;oBACtB,oBAAoB;oBACpB,IAAI,aAAa,GAAG,aAAa,CAAC;oBAClC,sBAAsB;oBACtB,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;wBACpC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;qBACjE;oBACD,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE;wBAC7F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACpC;yBAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE;wBAEtC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;4BAClC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACtC,IAAI,IAAI,CAAC,SAAS,EAAE;gCAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BAC7E;4BACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,OAAO,CAAC,CAAC;yBACjF;qBACF;yBAAM;wBACL,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACrB;gBACH,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAE5B,6BAA6B;oBAC7B,sBAAsB;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC;aACF,CACF,CAAC;YACF,2CAA2C;YAC3C,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAE5B,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IAEL,CAAC;;oGApMU,0BAA0B;4HAA1B,0BAA0B,WAA1B,0BAA0B;;;;;;;;;;;;;;;;;;ACXhC,MAAM,WAAW;IACpB,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B,CAAC;;sEAHQ,WAAW;sHAAX,WAAW;;;;;;;;;;;;;;;;;;ACAjB,MAAM,UAAU;IAErB,SAAS,CAAC,KAAY,EAAE,MAAc;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;oEAXU,UAAU;oHAAV,UAAU;;;;;;;;;;;;;;;;;;ACAhB,MAAM,kBAAkB;IAE7B,SAAS,CAAC,KAAa,EAAE,GAAG,IAAe;QACzC,IAAI,QAAQ,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YAC7B,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;;oFAVU,kBAAkB;oIAAlB,kBAAkB;;;;;;;;;;;;;;;;;;ACCxB,MAAM,OAAO;IAElB,SAAS,CAAC,KAAkC,EAAE,GAAG,IAAW;QAC1D,IAAI,KAAK,IAAI,SAAS,EAAE;YACtB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACZ,OAAO,KAAK,CAAC;aACd;YACD,KAAK,GAAG,CAAC,CAAC;SACX;QACD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;IAC7E,CAAC;;8DAdU,OAAO;8GAAP,OAAO;;;;;;;;;;;;;;;;;;ACDb,MAAM,qBAAqB;IAE9B,SAAS,CAAC,IAAI;QACV,IAAG,IAAI,CAAC,MAAM,IAAI,EAAE,EAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;SAC5C;aAAI;YACD,IAAI,SAAS,GAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAC,GAAG,GAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAClE;IACL,CAAC;IACD,SAAS,CAAC,CAAC;QACP,IAAI,CAAC,GAAU,EAAE,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,KAAK,EAAE,EAAE;YAC1B,IAAG,KAAK,GAAC,CAAC,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;iBAAI;gBACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;;0FApBM,qBAAqB;0IAArB,qBAAqB;;;;;;;;;;;;;;;;;;;;ACC3B,MAAM,gBAAgB;IAE3B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAChD,CAAC;IACD,SAAS,CAAC,KAAU,EAAE,GAAG,IAAe;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;;gFANU,gBAAgB;gIAAhB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNiB;AAE4C;AACtC;AACkB;AACf;AACP;AACE;AACmB;AACxB;AAC+B;AACH;AAChB;AACrB;;AAU7B,MAAM,WAAW;;sEAAX,WAAW;yGAAX,WAAW;6GALZ,0DAAY;oIAKX,WAAW,mBAPP,gEAAW,EAAE,qGAAmB,EAAE,8DAAW,EAAE,gFAAqB;QACjF,yDAAY,EAAE,2DAAU,EAAE,8EAAgB,EAAE,sDAAW,EAAE,qFAAkB,EAAE,kFAAwB,EAAE,mEAAgB,EAAE,+CAAO,aACxH,0DAAY,aACZ,gEAAW,EAAE,qGAAmB,EAAE,8DAAW,EAAE,gFAAqB,EAAE,yDAAY;QAC1F,2DAAU,EAAE,8EAAgB,EAAE,sDAAW,EAAE,qFAAkB,EAAE,kFAAwB,EAAE,mEAAgB,EAAE,+CAAO;;;;;;;;;;;;;;;;;;ACf/G,MAAM,wBAAwB;IAEnC,SAAS,CAAC,KAAU,EAAE,GAAG,IAAe;QACtC,6BAA6B;QAC7B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;;gGANU,wBAAwB;gJAAxB,wBAAwB;;;;;;;;;;;;;;;;;;ACA9B,MAAM,WAAW;IAEtB,SAAS,CAAC,KAAc,EAAE,GAAG,IAAe;QAC1C,IAAI,GAAG,GAAQ,KAAK,CAAC;QACrB,sDAAsD;QACtD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;;sEANU,WAAW;sHAAX,WAAW;;;;;;;;;;;;;;;;;;;;ACCjB,MAAM,YAAY;IACvB,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IACjD,SAAS,CAAC,KAAa;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAExD,CAAC;;wEANU,YAAY;wHAAZ,YAAY;;;;;;;;;;;;;;;;;;;;ACAlB,MAAM,WAAW;IACpB,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAE/C,SAAS,CAAC,GAAG;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC;IAC7D,CAAC;;sEALQ,WAAW;sHAAX,WAAW;;;;;;;;;;;;;;;;;;ACDjB,MAAM,gBAAgB;IAE3B;QACE,mCAAmC;IACrC,CAAC;IAED,SAAS,CAAC,KAAU,EAAE,EAAQ;QAC5B,mCAAmC;QAGnC,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,GAAG,IAAI,QAAQ,EAAE;YACnB,GAAG,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC3C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SAC1C;aACI,IAAI,GAAG,IAAI,IAAI,EAAE;YACpB,kCAAkC;YAClC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACvB;QACD,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAC3B,OAAO,GAAG,GAAG,GAAG,CAAC;aAClB;YAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACvB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAA,CAAC;;gFA9BS,gBAAgB;gIAAhB,gBAAgB;;;;;;;;;;;;;;;;;;ACAtB,MAAM,mBAAmB;IAC5B,SAAS,CAAC,KAAa,EAAE,UAAU,GAAG,CAAC;QACnC,MAAM,MAAM,GAAa,EAAE;QAC3B,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,OAAO,MAAM;IACjB,CAAC;;sFARQ,mBAAmB;sIAAnB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;ACL2B;AACM;AACF;;;;AAOxD,MAAM,iBAAiB;IAE5B,YAAoB,IAAgB,EACzB,qBAA0C;QADjC,SAAI,GAAJ,IAAI,CAAY;QACzB,0BAAqB,GAArB,qBAAqB,CAAqB;IAErD,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,OAAY,EAAE,IAAS;QAC9B,IAAI,OAAO,GAAG,IAAI,6DAAW,EAAE;QAC/B,IAAI,OAAO,EAAE,IAAI,EAAE;YACjB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,sFAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;aAC/F,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,OAAY,EAAE,IAAS;QACnC,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,kFAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;aAC1D,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAGF,uBAAuB;IACvB,OAAO,CAAC,IAAS;QACf,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CAAM,sFAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;aACpD,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAEF,oFAAoF;IACpF,qBAAqB,CAAC,OAAY,EAAE,IAAS;QAC3C,IAAI,OAAO,GAAG,IAAI,6DAAW,EAAE;QAC/B,IAAI,OAAO,EAAE,IAAI,EAAE;YACjB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,sFAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;aAC/F,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,OAAY,EAAE,IAAS,EAAE,OAAa;QAClD,MAAM,GAAG,GAAG,OAAO,EAAC,CAAC,OAAO,GAAC,IAAI,EAAC,CAAC,kFAAwB,GAAG,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,GAAG,EAAE,OAAO,CAAC;aACvB,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAEF,sBAAsB,CAAC,OAAY,EAAE,IAAS,EAAE,OAAa;QAC3D,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAE;QAC9D,IAAI,GAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;QACjD,OAAO,KAAP,OAAO,GAAK,SAAS,CAAC,CAAC,CAAC,qFAA2B,CAAC,CAAC,CAAC,6EAAmB,EAAC;QAC1E,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvF,CAAC;IAAA,CAAC;IAEF,oFAAoF;IACpF,mBAAmB,CAAC,OAAY;QAC9B,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,gFAAsB,EAAE,OAAO,CAAC;aAC1C,IAAI,CAAC,2CAAK,CAAC,CAAC,CAAC,EAAE,gDAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAAA,CAAC;IAEF,iBAAiB;IACjB,UAAU,CAAC,GAAQ;QACjB,mBAAmB;QAEnB,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE;YACnC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3B;aAAM;YACL,KAAK,GAAG,eAAe,GAAG,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC;SAC9D;QACD,OAAO,gDAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAChC,CAAC;;kFA7EU,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;ACLmB;;;AAMhC,MAAM,eAAe;IAI1B,YAAoB,WAAyB;QAAzB,gBAAW,GAAX,WAAW,CAAc;QAF7C,aAAQ,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACzD,oBAAe,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAElD,WAAW;QACT,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAQ,EAAC,EAAE;gBAClE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;8EAzBU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAHd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;ACHoD;AACxE,yCAAyC;AACzC,6BAA6B;AACc;AAGJ;AACV;;;;;AAQtB,MAAM,aAAa;IAGxB,YAAoB,SAAmB,EACX,QAAkB,EACpC,WAA4B,EAC5B,kBAAqC;QAH3B,cAAS,GAAT,SAAS,CAAU;QACX,aAAQ,GAAR,QAAQ,CAAU;QACpC,gBAAW,GAAX,WAAW,CAAiB;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAmB;QAL/C,cAAS,GAA4B,IAAI,iDAAe,CAAS,EAAE,CAAC,CAAC;QACrE,YAAO,GAAyB,IAAI,iDAAe,CAAM,IAAI,CAAC,CAAC;IAK3D,CAAC;IACL,cAAc;QACZ,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,cAAc;YACjB,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,eAAe;YAClB,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,qBAAqB;SACzB;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,WAAW;QACT,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,kBAAkB;SACvB;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,eAAe;QACb,MAAM,OAAO,GAAG;YACd,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5B,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACnC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;YACnC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE;SAC5C;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IACF,qBAAqB;QACnB,MAAM,OAAO,GAAG;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SAC5B;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IACF,gBAAgB;QACd,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,SAAS;SACb;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,QAAQ;QACN,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,KAAK;SACT;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAGF,SAAS;QACP,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,SAAS;SACb;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,cAAc;QACZ,MAAM,OAAO,GAAG;YACd,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;SACrC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAAA,CAAC;IAEF,sBAAsB;IACtB,gBAAgB,CAAC,IAAS,EAAE,OAAa;QACvC,OAAO,GAAG,OAAO,IAAI,YAAY,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,wBAAwB;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,QAAQ,OAAO,EAAE;YACf,KAAK,YAAY;gBACf,IAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC;oBAClD,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpF;gBACD,MAAM;YACR,KAAK,YAAY;gBACf,IAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC;oBAClD,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpF;gBACD,MAAM;SACT;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yCAAyC;IACzC,oBAAoB,CAAC,MAAW;QAC9B,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;QACxB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,gBAAgB,GAAG,IAAI,KAAK,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACjC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBACjD,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACnB,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAQ,CAAC,CAAC;wBAC9C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBAChB;iBACF;aACF;YACD,IAAI,KAAK,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBACzB;qBAAM;oBACL,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;iBACpC;gBACD,IACE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAC7C;oBACA,YAAY,IAAI,SAAS,CAAC;iBAC3B;gBACD,IACE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAC7C;oBACA,YAAY,IAAI,QAAQ,CAAC;iBAC1B;gBACD,IACE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAC7C;oBACA,YAAY,IAAI,WAAW,CAAC;iBAC7B;gBACD,IACE,CAAC,IAAI,CAAC;oBACN,KAAK,IAAI,CAAC;oBACV,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAC5C;oBACA,YAAY,IAAI,cAAc,CAAC;iBAChC;qBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;oBAC/B,YAAY,IAAI,UAAU,CAAC;iBAC5B;aACF;YACD,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,UAAU,CAAC,OAAmC;QAC5C,IAAI,GAAG,GAA+B;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;YACnD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;YACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,iBAAiB;YACzD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;SACrD,CAAC;QACF,GAAG,GAAG;YACJ,GAAG,GAAG;YACN,GAAG,OAAO;SACX,CAAC;QACF,qBAAqB;QACrB,yBAAyB;QACzB,OAAO,uDAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,gEAAgE;IAChE,6CAA6C;IAC7C,mCAAmC;IACnC,wBAAwB;IACxB,0BAA0B;IAC1B,6DAA6D;IAC7D,gCAAgC;IAEhC,yDAAyD;IACzD,gCAAgC;IAChC,iEAAiE;IACjE,sBAAsB;IACtB,0EAA0E;IAC1E,2CAA2C;IAC3C,MAAM;IAEN,eAAe,CAAC,GAAY;QAC1B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;IAClC,CAAC;IAGD,cAAc,CAAC,MAAM,EAAE,IAAwB;QAC7C,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7C,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aACzC;YACD,OAAO;QACT,CAAC,CAAC,CAAC;QACH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,CAAC,OAAW,EAAE,GAAO,EAAE,QAA6B,EAAE,SAAiB,EAAG,aAAiB,aAAa;QAClH,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACpE,IAAI,QAAQ,GAAQ,SAAS,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;YACtD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE;gBACzB,IAAI,QAAQ,GAAQ,EAAE,CAAC;gBACvB,IAAI,IAAI,GAAU,EAAE,CAAC;gBACtB,MAAM,OAAO,GAA2B;oBACvC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;oBAC1B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;iBACtB,CAAC;gBAEF,iCAAiC;gBACjC,sCAAsC;gBACtC,oDAAoD;gBACpD,mCAAmC;gBACnC,SAAS;gBACT,sBAAsB;gBACtB,IAAI;gBAEH,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;gBAErC,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpB,IAAI,GAAG,GAAQ,EAAE,CAAC;oBAClB,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBACpD,IAAI,CAAC,CAAC,OAAO,EAAE;4BACb,IAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACvB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gCAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtC;iCACI;gCACH,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gCACtB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCACrE,4BAA4B;6BAC7B;yBACF;oBACH,CAAC,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC;gBAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;wBACnB,MAAM,KAAK,GAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC1B,MAAM,KAAK,GAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;wBACrC,MAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,YAAY,EAAE,GAAG;6BAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;yBAClC;6BAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;4BACxB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBAChB;qBACJ;oBACD,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;oBACjF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEjB,CAAC,CAAC;gBACF,MAAM,EAAE,GAAmB,qDAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,EAAE,GAAkB,gDAAmB,EAAE,CAAC;gBAChD,yDAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBAChD,2CAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC9B;iBAAM;gBACL,uDAAS,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;;0EAnUU,aAAa,wKAId,qDAAQ;8GAJP,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;;;ACf2B;AAET;AACqB;;;AAKpD,MAAM,aAAa;IAExB,YACU,cAAqC;QAArC,mBAAc,GAAd,cAAc,CAAuB;QAsB/C,oBAAe,GAAG;YAChB,SAAS,EAAE,UAAU,YAAY;gBAC/B,IAAI,CAAC,GAAQ,EAAC,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,iDAAmB,CAAC,EAAC,CAAC;gBACzE,IAAI,YAAY,CAAC,EAAE;oBAAE,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACvD,IAAI,YAAY,CAAC,IAAI;oBAAE,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,EAAE,UAAU,OAAO;gBACtB,IAAI,CAAC,GAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,YAAY,GAAG,8DAAgC,CAAC,EAAC,UAAU,EAAE,uDAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,CAAC,EAAE;oBAAE,YAAY,CAAC,EAAE,GAAG,oDAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,CAAC,CAAC;oBAAE,YAAY,CAAC,IAAI,GAAG,oDAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,OAAO,YAAY,CAAC;YACtB,CAAC;SACF;IAnCG,CAAC;IAEL,UAAU,CAAC,IAAS;QAClB,IAAI,GAAG,GAAG,mEAAiB,CAAC,CAAC,WAAW;QACxC,IAAI,EAAE,GAAG,kEAAgB,CAAC;QAC1B,IAAI,MAAM,GAAG,kDAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,qDAAuB,CAAC,GAAG,CAAC,EAAE;YACpF,EAAE,EAAE,qDAAuB,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,+CAAiB;SACxB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD,UAAU,CAAC,IAAS;QAClB,IAAI,GAAG,GAAG,mEAAiB,CAAC,CAAC,WAAW;QACxC,IAAI,EAAE,GAAG,kEAAgB,CAAC;QAC1B,IAAI,MAAM,GAAG,kDAAoB,CAAC,IAAI,EAAE,qDAAuB,CAAC,GAAG,CAAC,EAAE;YACpE,EAAE,EAAE,qDAAuB,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,+CAAiB;SACxB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,+CAAiB,CAAC,CAAC;IAC5C,CAAC;IAkBD,OAAO,CAAC,IAAS;QACf,OAAO,kDAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9G,CAAC;IAED,OAAO,CAAC,IAAS;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,kDAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC,QAAQ,CAAC,+CAAiB,CAAC,CAAC,CAAC;IAC3H,CAAC;IAEO,MAAM;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,EAAE;YACX,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,0CAA0C;SAClF;QAED,IAAG,CAAC,OAAO,EAAE;YACX,OAAO,+EAAqB,CAAC;SAC9B;QACD,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACb,CAAC;;0EAlEU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;ACLS;;AAEtB,MAAM,kBAAkB;IAG7B,gBAAgB,CAAC;IAEjB,kBAAkB,CAAC,EAAO;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,EAAE,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aAC3B;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,QAAQ,GAAQ,IAAI,CAAC;YACzB,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,mCAAmC;YACnC,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,QAAQ,GAAG,sCAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/C,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAY,EAAE,IAAS,EAAE,EAAE;oBAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,qDAAwB,CAAC,KAAK,CAAC,CAAC;oBAChD,OAAO,OAAO,CAAC;gBACjB,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClC,CAAC,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,QAAa,EAAE,WAAgB,WAAW;QAEzD,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC9B,MAAM,EAAE,GAAmB,qDAAwB,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAkB,gDAAmB,EAAE,CAAC;QAChD,yDAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/C,2CAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;;oFAvCU,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB;;;;;;;;;;;;;;;;;;;;ACF/B;AACA;AACA;;;;AAOM,MAAOI,iBAAP,CAAwB;EAM5B;EACAvB,YACUwB,IADV,EAEUtB,cAFV,EAE+C;IADrC;IACA;IARV,yBAAoB;MAClBuB,OAAO,EAAE,IAAIJ,6DAAJ,CAAgB;QAAE,gBAAgB;MAAlB,CAAhB;IADS,CAApB;IAGA,gBAAWC,gFAAX;IACA,gBAAWA,kFAAX,CAI+C,CAG7C;EACD;;EAGDM,YAAY,CAACC,IAAD,EAAYC,SAAZ,EAA2B;IACrC,OAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAoB;MACrC,MAAMC,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;MACAD,QAAQ,CAACE,MAAT,CAAgB,OAAhB,EAAyB,KAAKC,QAA9B,EAFqC,CAGrC;;MACAH,QAAQ,CAACE,MAAT,CAAgB,OAAhB,EAAyBP,IAAzB;MACAK,QAAQ,CAACE,MAAT,CAAgB,SAAhB,EAA2B,OAA3B;;MACA,IAAI,CAAChB,wDAAS,EAAV,IAAgBU,SAApB,EAA+B;QAC7BI,QAAQ,CAACE,MAAT,CAAgB,QAAhB,EAA0BN,SAA1B;MACD;;MAGD,KAAKN,IAAL,CAAUc,IAAV,CAAe,KAAKC,QAApB,EAA8BL,QAA9B,EAAwC,KAAKM,iBAA7C,EACGC,SADH,CACcC,GAAD,IAAa;QACtBV,OAAO,CAACU,GAAD,CAAP;MACD,CAHH;IAKD,CAhBM,CAAP;EAiBD;;EAEDC,WAAW,CAACC,GAAD,EAAS;IAClB;IACJ;IAEM,IAAIpC,OAAO,GAAQ,EAAnB;IACA,IAAIE,YAAY,GAAG,EAAnB;IACAF,OAAO,GAAG,KAAKN,cAAL,CAAoBO,OAApB,CAA4B,aAA5B,CAAV,CANgB,CAOhB;;IACA,IAAID,OAAJ,EAAa;MACXE,YAAY,GAAGC,IAAI,CAACC,KAAL,CAAWJ,OAAX,EAAoBK,SAAnC,CADW,CACmC;IAC/C;;IAED,IAAIY,OAAO,GAAG,IAAIJ,6DAAJ,CAAgB;MAC5B,iBAAiBX,YAAY,GAAG,WAAWA,YAAd,GAA6B,EAD9B;MAE5B,SAAS;IAFmB,CAAhB,CAAd;IAKA,MAAMwB,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;IAEA,OAAO,KAAKX,IAAL,CAAUc,IAAV,CAAehB,sFAAA,GAA6BsB,GAAG,CAACA,GAAhD,EAAoD,IAApD,EAA0D;MAAEnB;IAAF,CAA1D,CAAP,CAnBgB,CAqBlB;EACD;;AA1D2B;;;mBAAjBF,mBAAiBN,sDAAAA,CAAAA,4DAAAA,GAAAA,sDAAAA,CAAAA,2EAAAA;AAAA;;;SAAjBM;EAAiBL,SAAjBK,iBAAiB;EAAAJ,YAHd;;;;;;;;;;;;;;;;;;ACLgC;;AAOzC,MAAM,aAAa;IAIxB;QAFO,cAAS,GAAG,IAAI,iDAAe,CAAC,KAAK,CAAC,CAAC;IAE9B,CAAC;IAEjB,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;;0EAZU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAJZ,MAAM;;;;;;;;;;;;;;;;;;;;ACGb,MAAM,wBAAwB;IAGnC,YAAoB,sBAA6C;QAA7C,2BAAsB,GAAtB,sBAAsB,CAAuB;IAAI,CAAC;IAGtE,eAAe;QACb,IAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACtD,yCAAyC;YACzC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO,EAAE;SACV;QAAA,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;QAC9F,iCAAiC;QAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,CAAC;IACD,SAAS,CAAC,MAA0B;QAClC,IAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,KAAhB,IAAI,CAAC,WAAW,GAAK,IAAI,CAAC,eAAe,EAAE,EAAC;QAC5C,IAAG,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAe,EAAE,EAAE;YAC/C,OAAO,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,UAA8B,EAAE,MAAe;QAC3D,IAAG,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,KAAhB,IAAI,CAAC,WAAW,GAAK,IAAI,CAAC,eAAe,EAAE,EAAC;QAE5C,0BAA0B;QAC1B,IAAI,MAAM,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YACvE,IAAG,GAAG,EAAE;gBACN,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC7C;YACD,OAAO,KAAK,CAAC;SACd;QACD,IAAG,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;;gGA1CU,wBAAwB;yHAAxB,wBAAwB,WAAxB,wBAAwB,mBAHvB,MAAM;;;;;;;;;;;;;;;;ACLpB,eAAe;AACR,MAAM,MAAM,GAAQ;IAEzB,0BAA0B;IAC1B,MAAM,EAAE;QACN,GAAG,EAAE,kCAAkC;QACvC,EAAE,EAAE,kBAAkB;KACvB;IAED,uBAAuB;IACvB,OAAO,EAAE;QACP,KAAK,EAAE,sCAAsC;QAC7C,GAAG,EAAE,gCAAgC;KACtC;IAED,SAAS,EAAE;QACT,eAAe,EAAE;YACf,GAAG,EAAE,mBAAmB;SACzB;QAED,SAAS,EAAE;YACT,GAAG,EAAE,WAAW;SACjB;QACD,eAAe,EAAE;YACf,GAAG,EAAE,gBAAgB;SACtB;QAED,WAAW,EAAE;YACX,GAAG,EAAE,aAAa;SACnB;QAED,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,sBAAsB;SAC5B;QAED,mBAAmB,EAAE;YACnB,GAAG,EAAE,sBAAsB;SAC5B;KACF;IAED,OAAO,EAAE;QACP,GAAG,EAAE,cAAc;KACpB;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,GAAG,EAAE,YAAY;SAClB;QAED,SAAS,EAAE;YACT,GAAG,EAAE,aAAa;SACnB;QAED,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QAED,oBAAoB,EAAE;YACpB,GAAG,EAAE,2BAA2B;SACjC;QAED,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QAED,MAAM,EAAE;YACN,GAAG,EAAE,aAAa;SACnB;QAED,cAAc,EAAE;YACd,GAAG,EAAE,2BAA2B;SACjC;QACD,uBAAuB,EAAE;YACvB,GAAG,EAAE,WAAW;SACjB;QAED,UAAU,EAAE;YACV,GAAG,EAAE,qBAAqB;SAC3B;KACF;IACD,uBAAuB;IACvB,MAAM,EAAE;QACN,UAAU,EAAE;YACV,GAAG,EAAE,gBAAgB;SACtB;QACD,cAAc,EAAE;YACd,GAAG,EAAE,mBAAmB;SACzB;QACD,aAAa,EAAE;YACb,GAAG,EAAE,iBAAiB;SACvB;QACD,aAAa,EAAE;YACb,GAAG,EAAE,iBAAiB;SACvB;QACD,sBAAsB;QACtB,aAAa,EAAE;YACb,GAAG,EAAE,kBAAkB;SACxB;QACD,WAAW,EAAE;YACX,GAAG,EAAE,eAAe;SACrB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,kBAAkB;SACxB;QACD,SAAS,EAAE;YACT,GAAG,EAAE,kBAAkB;SACxB;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,oBAAoB;SAC1B;QACD,cAAc,EAAE;YACd,GAAG,EAAE,gBAAgB;SACtB;QACD,eAAe,EAAE;YACf,GAAG,EAAE,sBAAsB;SAC5B;KACF;IACD,2BAA2B;IAC3B,WAAW,EAAE;QACX,GAAG,EAAE;YACH,GAAG,EAAE,aAAa;SACnB;KACF;IACD,mBAAmB;IACnB,OAAO,EAAE;QACP,aAAa,EAAE;YACb,GAAG,EAAE,iBAAiB;SACvB;QACD,UAAU,EAAE;YACV,GAAG,EAAE,cAAc;SACpB;QACD,WAAW,EAAE;YACX,GAAG,EAAE,uBAAuB;SAC7B;QACD,aAAa,EAAE;YACb,GAAG,EAAE,gBAAgB;SACtB;QACD,aAAa,EAAE;YACb,GAAG,EAAE,kBAAkB;SACxB;QACD,iBAAiB,EAAE;YACjB,GAAG,EAAE,4BAA4B;SAClC;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,yBAAyB;SAC/B;QAED,gBAAgB,EAAE;YAChB,GAAG,EAAE,wBAAwB;SAC9B;QAED,mBAAmB,EAAE;YACnB,GAAG,EAAE,yBAAyB;SAC/B;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,wBAAwB;SAC9B;QAED,WAAW,EAAE;YACX,GAAG,EAAE,kBAAkB;SACxB;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,eAAe;SACrB;QAED,SAAS,EAAE;YACT,GAAG,EAAE,cAAc;SACpB;QAED,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QACD,cAAc,EAAE;YACd,GAAG,EAAE,sBAAsB;SAC5B;QACD,oBAAoB,EAAE;YACpB,GAAG,EAAE,iBAAiB;SACvB;QACD,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QACD,eAAe,EAAE;YACf,GAAG,EAAE,mBAAmB;SACzB;QACD,cAAc,EAAE;YACd,oBAAoB,EAAE,EAAC,GAAG,EAAE,aAAa,EAAC;YAC1C,SAAS,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC;YAClC,SAAS,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC;YAClC,SAAS,EAAE,EAAC,GAAG,EAAE,aAAa,EAAC;YAC/B,eAAe,EAAE,EAAC,GAAG,EAAE,wBAAwB,EAAC;YAChD,cAAc,EAAE,EAAC,GAAG,EAAE,aAAa,EAAC;YACpC,eAAe,EAAE,EAAC,GAAG,EAAE,sBAAsB,EAAC;YAE9C,aAAa,EAAE,EAAC,GAAG,EAAE,oBAAoB,EAAC;YAC1C,gBAAgB,EAAE,EAAC,GAAG,EAAE,uBAAuB,EAAC;YAChD,SAAS,EAAE,EAAC,GAAG,EAAE,uBAAuB,EAAC;YACzC,eAAe,EAAE,EAAC,GAAG,EAAE,0BAA0B,EAAC;YAClD,aAAa,EAAE,EAAC,GAAG,EAAE,2BAA2B,EAAC;YACjD,QAAQ,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC;YACjC,QAAQ,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC;YACjC,YAAY,EAAE,EAAC,GAAG,EAAE,kBAAkB,EAAC;YACvC,UAAU,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC;YACnC,SAAS,EAAE,EAAC,GAAG,EAAE,uBAAuB,EAAC;YACzC,SAAS,EAAE,EAAC,GAAG,EAAE,mBAAmB,EAAC;YACrC,YAAY,EAAE,EAAC,GAAG,EAAE,mBAAmB,EAAC;YACxC,eAAe,EAAE,EAAC,GAAG,EAAE,yBAAyB,EAAC;YACjD,iCAAiC;YACjC,sCAAsC;SACvC;QACD,eAAe,EAAE;YACf,GAAG,EAAE,sBAAsB;SAC5B;QACD,kBAAkB;QAClB,kCAAkC;QAClC,IAAI;KACL;IACD,aAAa;IACb,SAAS,EAAE;QACT,gBAAgB,EAAE;YAChB,GAAG,EAAE,kBAAkB;SACxB;QACD,aAAa,EAAE;YACb,GAAG,EAAE,uBAAuB;SAC7B;KACF;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE;YAChB,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,kBAAkB;SAC7B;QAED,gBAAgB,EAAE;YAChB,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,iBAAiB;SAC5B;QAED,mBAAmB,EAAE;YACnB,GAAG,EAAE,iBAAiB;YACtB,QAAQ,EAAE,mBAAmB;SAC9B;KAEF;IACD,WAAW,EAAE;QACX,cAAc,EAAE;YACd,GAAG,EAAE,oBAAoB;SAC1B;QACD,UAAU,EAAE;YACV,GAAG,EAAE,iBAAiB;SACvB;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,uBAAuB;SAC7B;KACF;IACD,UAAU,EAAE;QACV,UAAU,EAAE;YACV,GAAG,EAAE,oBAAoB;SAC1B;QACD,WAAW,EAAE;YACX,GAAG,EAAE,qBAAqB;SAC3B;KACF;IACD,cAAc,EAAE;QACd,GAAG,EAAE,6BAA6B;KACnC;IACD,eAAe,EAAE;QACf,GAAG,EAAE,8BAA8B;KACpC;IACD,cAAc,EAAE;QACd,cAAc,EAAE;YACd,GAAG,EAAE,iBAAiB;SACvB;QACD,cAAc,EAAE;YACd,GAAG,EAAE,kBAAkB;SACxB;QACD,cAAc,EAAE;YACd,GAAG,EAAE,OAAO;SACb;QACD,aAAa,EAAE;YACb,GAAG,EAAE,MAAM;SACZ;QACD,UAAU,EAAE;YACV,GAAG,EAAE,SAAS;SACf;QACD,mBAAmB,EAAE;YACnB,GAAG,EAAE,qBAAqB;SAC3B;KACF;IACD,aAAa,EAAE;QACb,SAAS,EAAE;YACT,GAAG,EAAE,iBAAiB;SACvB;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,2BAA2B;SACjC;KACF;IACD,SAAS,EAAE;QACT,GAAG,EAAE,wBAAwB;KAC9B;IAED,SAAS,EAAE;QACT,GAAG,EAAE,kBAAkB;KACxB;IAED,WAAW,EAAE;QACX,GAAG,EAAE,uBAAuB;KAC7B;IACD,gBAAgB,EAAE;QAChB,GAAG,EAAE,yBAAyB;KAC/B;IACD,UAAU,EAAE;QACV,GAAG,EAAE,wBAAwB;KAE9B;IACD,WAAW,EAAE;QACX,GAAG,EAAE,yBAAyB;KAE/B;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,gBAAgB;KACtB;IACD,cAAc,EAAE;QACd,GAAG,EAAE,sBAAsB;KAC5B;IACD,aAAa;IACb,YAAY,EAAE;QACZ,kBAAkB,EAAE;YAClB,GAAG,EAAE,kCAAkC;SACxC;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE;YACR,GAAG,EAAE,8BAA8B;SACpC;QACD,SAAS,EAAE;YACT,GAAG,EAAE,0BAA0B;SAChC;QACD,WAAW,EAAE;YACX,GAAG,EAAE,uBAAuB;SAC7B;QACD,SAAS,EAAE;YACT,GAAG,EAAE,oBAAoB;SAC1B;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,wBAAwB;SAC9B;QACD,aAAa,EAAE;YACb,GAAG,EAAE,yBAAyB;SAC/B;QACD,cAAc,EAAE;YACd,GAAG,EAAE,uBAAuB;SAC7B;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,+BAA+B;SACrC;QACD,SAAS,EAAE;YACT,GAAG,EAAE,0BAA0B;SAChC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,yBAAyB;SAC/B;QACD,iBAAiB,EAAE;YACjB,GAAG,EAAE,yBAAyB;SAC/B;QACD,SAAS,EAAE;YACT,GAAG,EAAE,0BAA0B;SAChC;QACD,cAAc,EAAE;YACd,GAAG,EAAE,+BAA+B;SACrC;QACD,mBAAmB,EAAE;YACnB,GAAG,EAAE,oCAAoC;SAC1C;QACD,sBAAsB,EAAE;YACtB,GAAG,EAAE,wCAAwC;SAC9C;QACD,mBAAmB,EAAE;YACnB,GAAG,EAAE,mCAAmC;SACzC;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,iCAAiC;SACvC;QACD,eAAe,EAAE;YACf,GAAG,EAAE,yBAAyB;SAC/B;QACD,qBAAqB,EAAE;YACrB,GAAG,EAAE,2BAA2B;SACjC;QACD,aAAa,EAAE;YACb,GAAG,EAAE,yBAAyB;SAC/B;QACD,cAAc,EAAE;YACd,GAAG,EAAE,yBAAyB;SAC/B;QACD,iBAAiB,EAAE;YACjB,GAAG,EAAE,+BAA+B;SACrC;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,iCAAiC;SACvC;QAED,iBAAiB,EAAE;YACjB,GAAG,EAAE,0BAA0B;SAChC;QACD,cAAc,EAAE;YACd,GAAG,EAAE,gCAAgC;SACtC;QACD,mBAAmB,EAAE;YACnB,GAAG,EAAE,oCAAoC;SAC1C;QACD,aAAa,EAAE;YACb,GAAG,EAAE,8BAA8B;SACpC;QACD,uBAAuB,EAAE;YACvB,GAAG,EAAE,+BAA+B;SACrC;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,mCAAmC;SACzC;QACD,yBAAyB,EAAE;YACzB,GAAG,EAAE,mCAAmC;SACzC;QACD,8BAA8B,EAAE;YAC9B,GAAG,EAAE,wCAAwC;SAC9C;QACD,wBAAwB,EAAE;YACxB,GAAG,EAAE,kCAAkC;SACxC;QACD,iBAAiB,EAAE;YACjB,GAAG,EAAE,kCAAkC;SACxC;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,6BAA6B;SACnC;QACD,aAAa,EAAE;YACb,GAAG,EAAE,+BAA+B;SACrC;QACD,cAAc,EAAE;YACd,GAAG,EAAE,iCAAiC;SACvC;QACD,eAAe,EAAE;YACf,GAAG,EAAE,mCAAmC;SACzC;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,8BAA8B;SACpC;QACD,aAAa,EAAE;YACb,GAAG,EAAE,+BAA+B;SACrC;QAED,eAAe,EAAE;YACf,GAAG,EAAE,mCAAmC;SACzC;QACD,oBAAoB,EAAE;YACpB,GAAG,EAAE,wCAAwC;SAC9C;KAEF;IAED,eAAe,EAAE;QAEf,cAAc,EAAE;YACd,GAAG,EAAE,sBAAsB;SAC5B;QACD,UAAU,EAAE;YACV,GAAG,EAAE,wBAAwB;SAC9B;QACD,UAAU,EAAE;YACV,GAAG,EAAE,wBAAwB;SAC9B;QACD,aAAa,EAAE;YACb,GAAG,EAAE,gCAAgC;SACtC;QACD,WAAW,EAAE;YACX,GAAG,EAAE,gCAAgC;SACtC;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,oCAAoC;SAC1C;QACD,4BAA4B,EAAC;YAC3B,GAAG,EAAC,6CAA6C;SAClD;QACD,UAAU,EAAC;YACT,GAAG,EAAC,oCAAoC;SACzC;QACD,kBAAkB,EAAC;YACjB,GAAG,EAAC,6CAA6C;SAClD;KACF;IACD,QAAQ,EAAE;QACR,iBAAiB,EAAE;YACjB,GAAG,EAAE,4BAA4B;SAClC;QACD,iBAAiB,EAAE;YACjB,GAAG,EAAE,uBAAuB;SAC7B;QACD,aAAa,EAAE;YACb,GAAG,EAAE,wBAAwB;SAC9B;QACD,cAAc,EAAE;YACd,GAAG,EAAE,0BAA0B;SAChC;QACD,SAAS,EAAE;YACT,GAAG,EAAE,qBAAqB;SAC3B;QACD,eAAe,EAAE;YACf,GAAG,EAAE,+BAA+B;SACrC;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,qCAAqC;SAC3C;QACD,aAAa,EAAE;YACb,GAAG,EAAE,kCAAkC;SACxC;QACD,eAAe,EAAE;YACf,GAAG,EAAE,2BAA2B;SACjC;QACD,cAAc,EAAE;YACd,GAAG,EAAE,0BAA0B;SAChC;KACF;IACD,KAAK,EAAC;QACJ,OAAO,EAAC;YACN,GAAG,EAAC,gBAAgB;SACrB;QACD,SAAS,EAAC;YACR,GAAG,EAAC,kBAAkB;SACvB;QACD,eAAe,EAAC;YACd,GAAG,EAAC,wBAAwB;SAC7B;QACD,SAAS,EAAC;YACR,GAAG,EAAC,kBAAkB;SACvB;QACD,QAAQ,EAAC;YACP,GAAG,EAAC,iBAAiB;SACtB;QACD,iBAAiB,EAAC;YAChB,GAAG,EAAC,0BAA0B;SAC/B;QACD,iBAAiB,EAAC;YAChB,GAAG,EAAC,uBAAuB;SAC5B;QACD,gBAAgB,EAAC;YACf,GAAG,EAAC,oCAAoC;SACzC;QACD,qBAAqB,EAAC;YACpB,GAAG,EAAC,qCAAqC;SAC1C;QACD,gBAAgB,EAAC;YACf,GAAG,EAAC,oCAAoC;SACzC;QACD,WAAW,EAAC;YACV,GAAG,EAAC,8BAA8B;SACnC;QACD,MAAM,EAAC;YACL,GAAG,EAAC,yBAAyB;SAC9B;KACF;CACO,CAAC;;;;;;;;;;;;;;;;;;;;;;AC/iB2B;;;;;AAO/B,MAAM,qBAAqB;IAQhC,YACU,cAA6B,EAC7B,iBAAmC,EACnC,YAAyB;QAFzB,mBAAc,GAAd,cAAc,CAAe;QAC7B,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,iBAAY,GAAZ,YAAY,CAAa;QAVnC,gBAAW,GAAW,kBAAkB,CAAC;QACzC,cAAS,GAAQ,EAAE,CAAC;IAUhB,CAAC;IAEL,+IAA+I;IAC/I,iDAAiD;IACjD,OAAO,CAAC,GAAW,EAAE,IAAS;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAAA,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,GAAW;QACjB,IAAI,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,2CAA2C;IAC3C,YAAY;QACV,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,KAAK,EAAE;QACpB,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IAAA,CAAC;IAEF,wCAAwC;IACxC,UAAU,CAAC,GAAW;QACpB,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAA,CAAC;IAEF,mHAAmH;IAEnH,oHAAoH;IACpH,UAAU,CAAC,GAAG,EAAE,KAAK;QACnB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;IAChD,CAAC;IAAA,CAAC;IAEF,UAAU,CAAC,GAAG;QACZ,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IACF,oHAAoH;IAEpH,+CAA+C;IAC/C,mBAAmB,CAAC,GAAW,EAAE,KAAU;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC;IAC9C,CAAC;IAED,kCAAkC;IAClC,mBAAmB,CAAC,GAAW;QAC7B,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAQ;QACvC,8CAA8C;QAC9C,IAAI,IAAI,GAAG,qDAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,GAAG,GAAG,qDAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,SAAS,GAAG,kDAAoB,CAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;YAC/B,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,+CAAiB;YACvB,OAAO,EAAE,gDAAkB;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7B,yBAAyB;QACzB,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,IAAI,OAAO,EAAE;YAC7B,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SAC7B;QACD,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAAA,CAAC;IAEF,kBAAkB,CAAC,aAAa;QAC9B,wCAAwC;QACxC,IAAI,aAAa,EAAE;YACjB,IAAI,IAAI,GAAG,qDAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,GAAG,GAAG,qDAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpD,OAAO,kDAAoB,CACzB,aAAa,EAAE,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,+CAAiB;gBACvB,OAAO,EAAE,gDAAkB;aAC5B,CAAC,CAAC,QAAQ,CAAC,+CAAiB,CAAC,CAAC;SAChC;IAEH,CAAC;IAAA,CAAC;;0FAvGS,qBAAqB;sHAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;;;;;;;;;;;;;;;;;;;;ACFb,MAAM,iBAAiB;IAE5B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAI,CAAC;IAE9C,WAAW,CAAC,OAAY,EAAE,KAAU;QAClC,IAAI,aAAa,GAAG,EACnB;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,OAAY,EAAE,KAAU;QAChC,IAAI,aAAa,GAAG;QAClB,kBAAkB;SAEnB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,OAAY,EAAE,KAAU;QAC/B,IAAI,aAAa,GAAG,EACnB;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,OAAY,EAAE,KAAU;QAClC,IAAI,aAAa,GAAG,EACnB;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;;kFA5BU,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;ACJgC;AACI;AAIzB;AACoB;;;AAQ5C,MAAM,aAAa;IAmBxB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAjBjC,YAAO,GAAG,IAAI,yCAAO,EAAS,CAAC;QAC/B,cAAS,GAAG,eAAe,CAAC;QAEpC,kBAAa,GAAkB,IAAI,aAAa,EAAE,CAAC;QAClD,SAAI,GAAG,wDAAU,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,8DAAc,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,gEAAgB,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IAG0C,CAAC;IAE9C,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAiB,EAAE,aAAmC;QACjF,8BAA8B;QAE9B,IAAI,CAAC,aAAa,GAAG;YACnB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,aAAa,EAAE,OAAO;YAC/B,MAAM,EAAE,aAAa,EAAE,MAAM;YAC7B,aAAa,EAAE,aAAa,EAAE,aAAa;YAC3C,IAAI,EAAE,aAAa,EAAE,IAAI;SAC1B;QAED,2CAA2C;QAC3C,QAAO,IAAI,EAAC;YACV,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACnD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACjD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACnD,MAAM;YAER,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAChD,MAAM;YAER;gBACI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBACnD,MAAM;SACX;IACH,CAAC;IAAA,CAAC;IAEJ,sHAAsH;IAClH,0CAA0C;IAC5C,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,4CAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAA,CAAC;IAEF,sBAAsB;IACtB,OAAO,CAAC,OAAe,EAAE,OAAqB;QAC5C,2EAA2E;QAC3E,uDAAS,CAAC;YACR,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,eAAe;YACf,mCAAmC;YACnC,KAAK;YACL,eAAe;YACf,oCAAoC;YACpC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,OAAe,EAAE,OAAqB;QAC1C,yEAAyE;QACzE,uDAAS,CAAC;YACR,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/C,IAAI,EAAE,OAAO;YACb,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB;YACrC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI;YACrD,eAAe;YACf,oCAAoC;YACpC,KAAK;YACL,eAAe;YACf,gCAAgC;YAChC,IAAI;SACL,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAAA,CAAC;IACF,SAAS,CAAC,OAAe,EAAE,OAAqB;QAC9C,yEAAyE;QACzE,uDAAS,CAAC;YACR,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/C,IAAI,EAAE,OAAO;YACb,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB;YACrC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI;YACrD,eAAe;YACf,oCAAoC;YACpC,KAAK;YACL,eAAe;YACf,gCAAgC;YAChC,IAAI;SACL,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAAA,CAAC;IAEF,IAAI,CAAC,OAAe,EAAE,OAAqB;QACzC,uEAAuE;QACvE,uDAAS,CAAC;YACR,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/C,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,eAAe;YACf,+BAA+B;YAC/B,KAAK;YACL,eAAe;YACf,gCAAgC;YAChC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IACF,YAAY,CAAC,OAAe,EAAE,OAAqB;QACjD,0EAA0E;QAC1E,uDAAS,CAAC;YACR,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/C,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,eAAe;YACf,+BAA+B;YAC/B,KAAK;YACL,eAAe;YACf,gCAAgC;YAChC,IAAI;SACL,CAAC;IACJ,CAAC;IAAA,CAAC;IAEF,IAAI,CAAC,OAAe,EAAE,OAAqB;QACzC,0EAA0E;QAC1E,uDAAS,CAAC;YACR,mBAAmB;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/C,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;YAC7C,eAAe,EAAE,IAAI;YACrB,eAAe;YACf,+BAA+B;YAC/B,KAAK;YACL,eAAe;YACf,gCAAgC;YAChC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,oBAAoB;IACpB,KAAK,CAAC,KAAY;QAChB,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF,eAAe;IACf,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAAA,CAAC;IAEF,YAAY,CAAC,OAAe,EAAE,OAAqB,EAAE,QAAa;QAChE,uDAAS,CAAC;YACR,KAAK,EAAE,6BAA6B;YACpC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB;YACrC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI;SACtD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,EAAE,WAAW,EAAE;gBACtB,QAAQ,CAAC,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;;0EAjNS,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAHZ,MAAM;AAyNpB,kIAAkI;AACzH,MAAM,KAAK;IAQhB,YAAY,IAAoB;QANhC,SAAI,GAAc,CAAC,CAAC;QAGpB,WAAM,GAAU,IAAI,CAAC;QAIjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,+CAAO;IACP,2CAAK;IACL,yCAAI;IACJ,+CAAO;AACT,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAgBH,0EAA0E;AACnE,MAAM,aAAa;IAOtB,YAAY,WAAiB,EAAE,OAAa,EAAE,MAAe,EAAE,aAAmB,EAAE,IAAkB;QANtG,gBAAW,GAAY,IAAI,CAAC;QAC5B,YAAO,GAAW,GAAG,CAAC;QACtB,WAAM,GAAQ,kBAAkB,CAAC;QACjC,kBAAa,GAAqB,uEAAwB,CAAC;QAC3D,SAAI,GAAQ,kEAAmB,CAAC;QAG9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;ACtRkD;AAExB;;;;;;AAUpB,MAAM,kBAAkB;IAI7B,YACU,cAAqC,EACrC,UAAuB,EACvB,iBAA2C,EAC3C,cAA8B;QAH9B,mBAAc,GAAd,cAAc,CAAuB;QACrC,eAAU,GAAV,UAAU,CAAa;QACvB,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,mBAAc,GAAd,cAAc,CAAgB;QAPxC,qBAAgB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IAUjE,CAAC;IAED,IAAI,mBAAmB,CAAC,IAAS;QAC/B,oBAAoB;QACpB,kDAAkD;QAClD,wCAAwC;QACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;QACpC,iEAAiE;QACjE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAA,CAAC;IAEF,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAAA,CAAC;IAEF,MAAM,CAAC,KAAW;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,KAAK,EAAE;YACT,IAAI,MAAM,GAAG,wCAAM,CAAC,YAAY,EAAE,KAAK,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC;IACH,CAAC;IAAA,CAAC;IAGF,kBAAkB,CAAC,GAAQ;QACzB,MAAM,MAAM,GAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,QAAQ,GAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,OAAO,GAAQ,QAAQ,CAAC;QAC5B,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,EAAE;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;oBACvB,uCAAK,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;gBACnB,uCAAK,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;SACF;QACD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;IACrC,CAAC;IACD,eAAe,CAAC,GAAQ;QACtB,IAAI,UAAU,GAAQ,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7D,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,EAAE;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;oBACvB,uCAAK,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;gBACnB,uCAAK,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAEzC;SACF;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;;oFA1EU,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;;;ACPkB;AACZ;;;AAKnB,MAAM,cAAc;IACzB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IACxC,yBAAyB,CAAC,SAAoB,EAAE,WAAmB;QACjE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YACxD,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,qFAAqF;IACvF,CAAC;IACD,kBAAkB,CAChB,IAAe,EAAE,sBAAsB;IACvC,KAAgB,EAChB,OAA0B,EAC1B,UAAuC,EACvC,iBAA0B,KAAK;QAE/B,IAAI,QAAQ,GAAa,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAClG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC/B,IACE,cAAc;gBACd,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,EACnD;gBACA,OAAO;aACR;YACD,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aACvD;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aAC1D;YACD,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,OAAO;aACT,aAAa,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;aAChD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,WAAW,CACT,eAAoB,EACpB,QAAa,EACb,SAA+B,UAAU,EACzC,UAAoB;QAEpB,IAAI,cAAc,GAAQ,EAAE,eAAe,EAAE,CAAC;QAC9C,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC;QAChD,kDAAW,CAAC,cAAc,EAAE;YAC1B,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,QAAkB,EAAE,OAAoB;gBACxD,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACvE,CAAC;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,uBAAuB;YAEvB,MAAM,0BAA0B,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEjE,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YACxE,IAAI,IAAI,GAAQ,IAAI;YACpB,IAAI,UAAU,EAAE;gBACd,IAAI,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,oBAAoB,CAAC;aAC9C;YACD,IAAI,GAAG,GAAG,IAAI,6CAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,GAAG,CAAC,QAAQ,CACV,0BAA0B,EAC1B,KAAK,EACL,CAAC,EACD,CAAC,EACD,SAAS,EACT,oBAAoB,EACpB,EAAE,EACF,QAAQ,CACT,CAAC;YACF,GAAG,CAAC,IAAI,CACN,CAAC,EACD,CAAC,EACD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,EAChC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EACjC,GAAG,CACJ,CAAC;YACF,gFAAgF;YAChF,iEAAiE;YAEjE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,UAAU,EAAE;gBACxB,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;aAC7B;iBAAM,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC5B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAE,eAAoB,EAAE,QAAa,EAAE,UAAoB;QACpE,IAAI,cAAc,GAAQ,EAAE,eAAe,EAAE,CAAC;QAC9C,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC;QAChD,kDAAW,CAAC,cAAc,EAAE;YAC1B,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,QAAkB,EAAE,OAAoB;gBACxD,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjE,CAAC;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,0BAA0B,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAGH,gCAAgC;QAChC,cAAc;QACd,wDAAwD;QACxD,qEAAqE;QACrE,OAAO;QACP,wBAAwB;QACxB,sEAAsE;QAEtE,2DAA2D;QAC3D,qDAAqD;QACrD,sCAAsC;QACtC,+CAA+C;QAC/C,2CAA2C;QAC3C,8EAA8E;QAE9E,2DAA2D;QAC3D,6DAA6D;QAC7D,yCAAyC;QACzC,2CAA2C;QAE3C,2CAA2C;QAE3C,mDAAmD;QACnD,2CAA2C;QAE3C,yCAAyC;QAEzC,4CAA4C;QAC5C,0CAA0C;QAE1C,2EAA2E;QAC3E,+BAA+B;QAC/B,2BAA2B;QAC3B,uDAAuD;QACvD,qBAAqB;QACrB,wCAAwC;QACxC,gCAAgC;QAChC,kDAAkD;QAClD,2DAA2D;QAC3D,kCAAkC;QAClC,sBAAsB;QACtB,uBAAuB;QAEvB,mDAAmD;QACnD,4BAA4B;QAC5B,QAAQ;QACR,OAAO;QACP,4CAA4C;QAC5C,MAAM;IACR,CAAC;;4EA/JU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;ACA+C;AAE5D,SAAS,MAAM,CAAC,GAAW;IAChC,OAAO,CAAC,OAAwB,EAAiC,EAAE;QACjE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAQ,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACtE,MAAM,YAAY,GAAG,gBAAgB,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;SAC9C;QACD,IACE,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;YACvC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE;gBACxC,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EACxC;YACA,eAAe,GAAG,CAAC,CAAC;SACrB;QAED,MAAM,OAAO,GAAG,eAAe,IAAI,GAAG,CAAC;QACvC,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;;YACpB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,8BAA8B,GAAG,GAAG,EAAE,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,cAAc,CAAC,OAAgB;IAC7C,OAAO,CAAC,OAAwB,EAAiC,EAAE;QACjE,qCAAqC;QAErC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAQ,YAAY,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,gBAAgB,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;SACjD;QACD,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE;YAC5C,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;SACxD;QACD,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;YACzC,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClF,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC;aACrD;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,eAAe,CAC7B,WAAmB,EACnB,mBAA2B;IAE3B,OAAO,CAAC,SAAoB,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAQ,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,eAAe,GAAQ,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAErE,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE;YAC/D,OAAO;SACR;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,EAAE;YAC3C,eAAe,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAChD;aAAM;YACL,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,YAAY,CAAC,OAAwB;IACnD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACxE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACtB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAAS,uBAAuB;IACrC,OAAO,CAAC,OAAwB,EAAiC,EAAE;QACjE,MAAM,UAAU,GAAW,uCAAuC,CAAC;QACnE,IAAI,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnD,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;SACpC;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,eAAe;IAC7B,OAAO,CAAC,OAAwB,EAA+B,EAAE;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QACjC,IAAI,UAAU,IAAI,UAAU,IAAI,KAAK,EAAE;YACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,sBAAsB,CACpC,KAAa,EACb,KAAuB;IAEvB,YAAY;IACZ,oJAAoJ;IACpJ,2EAA2E;IAC3E,mCAAmC;IACnC,8CAA8C;IAE9C,OAAO,CAAC,OAAwB,EAAqC,EAAE;QACrE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,sCAAsC;YACtC,OAAO,IAAI,CAAC;SACb;QAED,4DAA4D;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAExC,wFAAwF;QACxF,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,4BAA4B,CAC1C,KAAiC,EACjC,KAAuB,EACvB,oBAA6B,KAAK;IAElC,YAAY;IACZ,oJAAoJ;IACpJ,8EAA8E;IAC9E,oCAAoC;IACpC,+CAA+C;IAE/C,OAAO,CAAC,OAAwB,EAAqC,EAAE;QACrE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,EAAG,qBAAqB;YACjF,sCAAsC;YACtC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,KAAe,CAAC;QACpB,oCAAoC;QAEpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,KAAK,CAAC;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,CAAC,GAAQ,EAAE,OAA0B,EAAE,EAAE;oBACjD,KAAK,GAAG,GAAG,CAAC;oBACZ,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACjE,KAAK,GAAG,IAAI,MAAM,CAChB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,6EAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAChE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,qCAAqC;QAErC,4DAA4D;QAE5D,2CAA2C;QAE3C,wFAAwF;QACxF,IAAI,iBAAiB,EAAE;YACrB,KAAK,GAAG,CAAC,KAAK,CAAC;SAChB;QACD,sBAAsB;QAEtB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,uCAAuC;AAEvC,qBAAqB;AACrB,gCAAgC;AAChC,oBAAoB;AACpB,2BAA2B;AAC3B,wBAAwB;AACxB,kDAAkD;AAClD,oCAAoC;AACpC,uBAAuB;AACvB,8BAA8B;AAC9B,uEAAuE;AACvE,YAAY;AACZ,aAAa;AACb,4BAA4B;AAC5B,QAAQ;AACR,OAAO;AACP,MAAM;AACN,0DAA0D;AAC1D,MAAM;AACN,KAAK;AAEL,uDAAuD;AACvD,gCAAgC;AAChC,oIAAoI;AACpI,MAAM;AACN,yDAAyD;AACzD,MAAM;AACN,KAAK;AACE,MAAM,WAAW;IACtB,YAAoB,cAA6B;QAA7B,mBAAc,GAAd,cAAc,CAAe;IAAG,CAAC;IACrD,MAAM,CAAC,SAAS;QACd,OAAO,CAAC,OAAwB,EAA+B,EAAE;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,0DAA0D;YAC1D,iEAAiE;YAEjE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,4BAA4B,EAAE,CAAC;YAC3D,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,EAAE;aACxB;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AACD,6CAA6C;AAE7C,wEAAwE;AAExE,iCAAiC;AAEjC,iCAAiC;AACjC,+DAA+D;AAC/D,eAAe;AACf,qBAAqB;AACrB,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,wDAAwD;AACxD,4EAA4E;AAE5E,SAAS;AAET,IAAI;;;;;;;;;;;;;;;;ACrPG,MAAM,aAAa,GAAuC;IAE/D,KAAK,EAAE,2DAA2D;IAClE,MAAM,EAAE,iEAAiE;IACzE,GAAG,EAAE,oDAAoD;IACzD,8CAA8C;IAC9C,OAAO,EAAE,oCAAoC;IAC7C,UAAU,EAAC,6CAA6C;IACxD,iBAAiB,EAAE,yDAAyD;IAC5E,iBAAiB,EAAE,yDAAyD;IAC5E,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,2CAA2C;IACzD,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,wBAAwB;IAC/B,IAAI,EAAE,wBAAwB;IAC9B,aAAa,EAAE,qBAAqB;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC;;;;;;;;;;;;;;;;;;;;AChBkG;;;;AAQ7F,MAAM,sBAAsB;IAGjC,YACU,gBAAkC,EACnC,SAA8B,EACA,IAAS;QAFtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QACnC,cAAS,GAAT,SAAS,CAAqB;QACA,SAAI,GAAJ,IAAI,CAAK;IAGhD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,qCAAqC;YACrC,IAAG,IAAI,CAAC,eAAe,IAAI,KAAK,EAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aACrD;QAEH,CAAC,CAAC;IACJ,CAAC;IACD,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;IACtD,CAAC;;4FA5BU,sBAAsB,+XAMvB,8GAAoB;oHANnB,sBAAsB;QCYnC,yEAA0I;QAG9H,oEAKM;QACN,yEAAwB;QAC+B,uFAA4B;QAAA,4DAAK;QAEpF,qEAAI;QAAA,wEAAa;QAAA,4DAAK;QACtB,oEAAG;QAAA,wDAAqB;QAAA,4DAAI;QAEhC,0EAAiD;QACC,+IAAS,eAAW,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QACrF,6EAAkE;QAApB,+IAAS,aAAS,IAAC;QAAC,kEAAM;QAAA,4DAAS;;QAJ9E,2DAAqB;QAArB,oFAAqB;;;;;;;;;;;;;;;;;;;;;;;;AClCO;AAC6B;AAEvB;AACE;AACqC;AACL;;;AAEvF,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,qFAAmB;KAC/B;CAAE;AAcE,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHANzB,yDAAY;QACZ,+DAAmB;QACnB,sGAAkB;QAClB,kEAAqB,CAAC,MAAM,CAAC;mIAGpB,gBAAgB,mBAVzB,qFAAmB;QACnB,gGAAsB,aAGtB,yDAAY;QACZ,+DAAmB;QACnB,sGAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBtB;AAKA;;;;;;;;;;;;;;ICsDIF,4DAAAA,cAAkC,CAAlC,EAAkC,QAAlC,EAAkC,CAAlC;IACqDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,6BAAT;IAA6B,CAA7B;IACrDA,4DAAAA;IAAyBA,oDAAAA;IAAOA,0DAAAA;IAE5BA,4DAAAA,cAAc,CAAd,EAAc,IAAd,EAAc,CAAd,EAAc,GAAd;IACWA,oDAAAA;IAA4BA,0DAAAA;IACnCA,4DAAAA,cAAyB,CAAzB,EAAyB,MAAzB;IACUA,oDAAAA;IAAaA,0DAAAA;IACnBA,4DAAAA;IAA2BA,oDAAAA;IAAqBA,0DAAAA;IAGpDA,4DAAAA,eAA4B,EAA5B,EAA4B,QAA5B,EAA4B,CAA5B;IACYA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAoB,CAApB;IAAsBA,oDAAAA;IAAQA,0DAAAA;IACtCA,4DAAAA;IAAQA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAT;IAAkB,CAAlB;IAAoBA,oDAAAA;IAAMA,0DAAAA;;;;;IALPA,uDAAAA;IAAAA,+DAAAA;;;;ADtDrC,MAAO+B,mBAAP,CAA0B;EAe9BhD,YACUiD,MADV,EAEUC,EAFV,EAGUC,qBAHV,EAIUC,OAJV,EAMSC,SANT,EAOuCC,IAPvC,EAOgD;IANtC;IACA;IACA;IACA;IAED;IAC8B;IAdvC,uBAAkB,GAAlB;IAkCA;;;;IAGA,sBAAkBC,IAAD,IAAiB;MAChC,IAAIA,IAAI,GAAG,CAAX,EAAc;QACZ,IAAIC,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWH,IAAI,GAAG,IAAlB,CAAd;QAEA,KAAKI,kBAAL,CAAwBH,OAAxB;QAEA,IAAII,GAAG,GAAG,CAAV;;QACA,IAAIJ,OAAO,IAAI,EAAf,EAAmB;UACjBI,GAAG,GAAGH,IAAI,CAACC,KAAL,CAAWF,OAAO,GAAG,EAArB,CAAN,CADiB,CAEjB;;UACAA,OAAO,IAAKI,GAAG,GAAG,EAAlB;QACD;;QAED,OAAO,GAAGA,GAAG,IAAIJ,OAAO,EAAxB;MACD;;MACD,OAAO,KAAP;IACD,CAhBD;;IAkBA,0BAAsBK,WAAD,IAAwB;MAC3C,MAAMC,UAAU,GAAQ,KAAKC,SAAL,CAAeC,KAAvC;MACA,MAAMC,SAAS,GAAGH,UAAU,CAACI,eAAX,GAA6B,EAA/C;MAEA,KAAKC,UAAL,GAAkBN,WAAW,GAAGI,SAAhC;MACA,MAAMG,eAAe,GAAG,GAAG,CACzB,KAAKD,UAAL,GAAkB,KAAKE,eADE,EAEzBC,OAFyB,CAEjB,CAFiB,CAEf,MAFZ;MAGAC,QAAQ,CAACC,cAAT,CAAwB,2BAAxB,GAAsDC,YAAtD,CAAmE,kBAAnE,EAAuFL,eAAvF;IACD,CATD;;IAyCA,0BAAsBM,MAAD,IAAmB;MACtC,QAAQA,MAAR;QACE,KAAK,gBAAL;UACE;;QAEF,KAAK,aAAL;UACE;;QAEF,KAAK,eAAL;UACE,KAAKC,mBAAL;UACA;;QAEF;UACE,KAAKC,aAAL,GAAqB,KAAKC,cAAL,CAAoBC,MAAM,CAACJ,MAAD,CAA1B,CAArB;UACA;MAbJ;IAeD,CAhBD;;IAkBA,2BAAuBA,MAAD,IAAmB;MACvC,QAAQA,MAAR;QACE,KAAK,uBAAL;UACE;;QAEF,KAAK,sBAAL;UACE;;QAEF,KAAK,sBAAL;UACE,KAAKK,MAAL;UACA;;QAEF;UACE,KAAKC,eAAL,GAAuBN,MAAvB;UACA;MAbJ;IAeD,CAhBD;EAlGK;;EAELO,QAAQ;IACN,KAAKlB,SAAL,GAAiB,KAAKb,EAAL,CAAQgC,KAAR,CAAc;MAC7BhB,eAAe,EAAE,CAAC,EAAD,EAAKpB,+DAAL,CADY;MAE7BsC,gBAAgB,EAAE,CAAC,EAAD,EAAKtC,+DAAL;IAFW,CAAd,CAAjB;IAIA,KAAKuC,SAAL,CAAe,GAAf,EAAoB,CAApB;EACD;;EAEDC,SAAS;IACP,KAAKjC,SAAL,CAAekC,KAAf,CAAqB,KAAKjC,IAA1B,EAAgC,UAAhC;EACD;;EAEDkC,OAAO;IACL,KAAKnC,SAAL,CAAekC,KAAf,CAAqB,KAAKjC,IAA1B;EACD;;EAkCDmC,QAAQ;IACN,IAAI,KAAK1B,SAAL,CAAe2B,OAAnB,EAA4B;MAC1B;IACD;;IAED,MAAM5B,UAAU,GAAG,KAAKC,SAAL,CAAeC,KAAlC;IACA,KAAKqB,SAAL,CAAevB,UAAU,CAACI,eAA1B,EAA2CJ,UAAU,CAACsB,gBAAtD;EACD;;EAEDC,SAAS,CAACM,eAAD,EAA0BC,gBAA1B,EAAkD;IACzD;IACA,KAAK3C,MAAL,CAAY4C,4BAAZ,GAA2CF,eAA3C;IACA,KAAK1C,MAAL,CAAY6C,8BAAZ,GAA6CF,gBAA7C,CAHyD,CAIzD;IAEA;;IACA,KAAK3C,MAAL,CAAY8C,uBAAZ;IACA,KAAK9C,MAAL,CAAY+C,mBAAZ,CAAgCvD,SAAhC,CAA2CiC,MAAD,IAAmB;MAC3D,IAAIA,MAAJ,EAAY;QACV,KAAKuB,kBAAL,CAAwBvB,MAAxB;MACD;IACF,CAJD;IAMA,KAAKzB,MAAL,CAAYiD,0BAAZ,CAAuCzD,SAAvC,CAAkDiC,MAAD,IAAmB;MAClE,IAAIA,MAAJ,EAAY;QACV,KAAKyB,mBAAL,CAAyBzB,MAAzB;MACD;IACF,CAJD;EAKD;;EAsCDC,mBAAmB;IACjB;IACA;IACA,KAAKyB,YAAL,GAAoB,EAApB;IACA,KAAKC,WAAL,GAAmB,KAAKlD,qBAAL,CAA2BmD,IAA3B,CAAgC,KAAKC,aAArC,EAAoD,EAApD,EAAwD,KAAKH,YAA7D,CAAnB;IACA,KAAKC,WAAL,CAAiBG,YAAjB,CAA8B/D,SAA9B,CAAyCgE,GAAD,IAAQ,CAAI,CAApD;EACD;;EAEKC,QAAQ;IAAA;;IAAA;MACZ;MACA;MACA,IAAIC,EAAE,SAAS,KAAI,CAACC,kBAAL,EAAf;;MACA,IAAID,EAAJ,EAAQ;QACN;QAEA;QACA,KAAI,CAAC1D,MAAL,CAAY4D,cAAZ,GAA6B,KAA7B;;QACA,KAAI,CAAC5D,MAAL,CAAY8C,uBAAZ;MACD;IAVW;EAWb;;EAEKhB,MAAM;IAAA;;IAAA;MACV;MACA;MACA,IAAI4B,EAAE,SAAS,MAAI,CAACC,kBAAL,EAAf;;MAEA,IAAID,EAAJ,EAAQ;QACN;QAEA;QACA,MAAI,CAAC1D,MAAL,CAAY6D,QAAZ,GAAuB,KAAvB;QACA,MAAI,CAAC7D,MAAL,CAAY4D,cAAZ,GAA6B,KAA7B;;QACA,MAAI,CAACzD,OAAL,CAAa2D,aAAb,CAA2B,QAA3B;MACD;IAZS;EAaX;;EAEDH,kBAAkB,CAACI,MAAD,EAA6B;IAE7C,IAAI,KAAKX,WAAT,EAAsB;MACpB,KAAKA,WAAL,CAAiBd,KAAjB,CAAuB,KAAKa,YAA5B;MACA,KAAKC,WAAL,GAAmB,IAAnB;IACD;;IACD,OAAO,IAAP;EACD;;AAvL6B;;;mBAAnBrD,qBAAmB/B,+DAAAA,CAAAA,2EAAAA,GAAAA,+DAAAA,CAAAA,uDAAAA,GAAAA,+DAAAA,CAAAA,kHAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,wGAAAA,GAAAA,+DAAAA,CAsBpB8B,8GAtBoB;AAsBA;;;QAtBnBC;EAAmBiE;EAAAC;IAAA;;;;;;;;;;;;;;;MC6ChCjG,wDAAAA,4EAAAA,oEAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DmD;AAMmC;AACE;;;;;AAExF,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAO5B,MAAM,iBAAiB;IAmC5B,YACU,IAAY,EACZ,OAAe,EACf,qBAA4C,EAC5C,cAAqC;QAHrC,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAuB;QAlC/C,wBAAmB,GAA4B,IAAI,iDAAe,CAAS,gBAAgB,CAAC,CAAC;QAE7F,+BAA0B,GAA4B,IAAI,iDAAe,CAAS,uBAAuB,CAAC,CAAC;QAC3G,aAAQ,GAAiB,IAAI,yCAAO,EAAE,CAAC;QAIvC,sBAAiB,GAAyB,IAAI,iDAAe,CAAM,EAAE,CAAC,CAAC;QAIvE,mBAAc,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAEtC,oCAAoC;gBAEpC,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;oBAC/B,oBAAoB;oBACpB,OAAO,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;iBACvB;gBAED,OAAO,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;aAC5B;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAkNO,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QA3MC,mCAAmC;QACnC,8EAA8E;QAC9E,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;YACpD,IAAI,MAAM,EAAE;gBACV,6CAA6C;gBAC7C,QAAQ,MAAM,EAAE;oBACd,KAAK,gBAAgB;wBACnB,MAAM;oBAER,KAAK,aAAa;wBAChB,MAAM;oBAER,KAAK,eAAe;wBAClB,8BAA8B;wBAC9B,IAAI,YAAY,GAAoB;4BAClC,IAAI,EAAE;gCACJ,eAAe,EAAE,IAAI,CAAC,iBAAiB;gCACvC,iBAAiB;gCACjB,MAAM,EAAE,yBAAyB;6BAClC;4BACD,yDAAyD;4BACzD,iBAAiB;4BACjB,qCAAqC;4BACrC,qCAAqC;4BACrC,KAAK;4BACL,gDAAgD;yBACjD,CAAC;wBAEF,IAAI,CAAC,SAAS;4BACZ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC7B,gGAAsB,EACtB,YAAY,CACb,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;4BACpD,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE;gCAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gCAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;6BAChC;iCAAM;gCACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gCACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gCAC5B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;gCACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAClC,kCAAkC;6BACnC;wBACH,CAAC,CAAC;wBACF,MAAM;oBAER;wBACE,4DAA4D;wBAC5D,MAAM;iBACT;gBACD,IAAI;aAGL;QACH,CAAC,CAAC,CAAC;QACH,IAAI;QAEJ,0CAA0C;QAC1C,4FAA4F;QAC5F,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;YAC3D,IAAI,MAAM,EAAE;gBACV,8CAA8C;gBAC9C,QAAQ,MAAM,EAAE;oBACd,KAAK,uBAAuB;wBAC1B,MAAM;oBAER,KAAK,sBAAsB;wBACzB,MAAM;oBAER,KAAK,sBAAsB;wBACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;wBACtB,kCAAkC;wBAClC,iBAAiB;wBACjB,MAAM;oBAER;wBACE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnC,kCAAkC;wBAClC,iCAAiC;wBACjC,MAAM;iBACT;gBACD,IAAI;aACL;QACH,CAAC,CAAC,CAAC;QACH,IAAI;IACN,CAAC;IA1HD,CAAC;IAC0G,CAAC;IA0HrG,IAAI;QACT,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,uBAAuB,EAAE;IAChC,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACM,uBAAuB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,4BAA4B,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;YACxF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,UAAU,CAAC,KAAK;QAClB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,0BAA0B,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACjF,IAAI,MAAM,GAAQ;gBAChB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;aAEjR;YACD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC7B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YACH,uCAAuC;YACvC,kBAAkB;YAClB,2BAA2B;YAC3B,0DAA0D;YAC1D,mCAAmC;YACnC,aAAa;YACb,+FAA+F;YAC/F,MAAM;YACN,MAAM;YAEN,+FAA+F;YAC/F,mGAAmG;YACnG,kGAAkG;YAClG,iGAAiG;YACjG,+FAA+F;YAC/F,kGAAkG;QACpG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,KAAK;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC9C;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,8CAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CACnD,yCAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,+CAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC/B,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,cAAc;aAChB,SAAS,CAAC,GAAG,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;YACjF,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAEzC,IAAI,SAAS,EAAE;gBACb,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;gBACpF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,IAAI,CAAC,mBAAmB,EAAE;wBAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAE/C,IAAI,IAAI,CAAC,8BAA8B,GAAG,CAAC,EAAE;4BAC3C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;4BAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;yBAC1B;qBACF;oBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,qBAAqB;QAC1B,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAOO,oBAAoB;QAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,8CAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CACjD,yCAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,+CAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CACrC,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YAC/B,IAAI,EAAE,YAAY,KAAK,CAAC,EAAE;gBACxB,IAAI,EAAE,SAAS,KAAK,CAAC,EAAE;oBACrB,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnD;gBACD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;oBAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAE5B,IAAI,IAAI,CAAC,0BAA0B,EAAE;wBACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;qBAC9D;iBACF;gBACD,IAAI,SAAS,GAAG,CAAC,EAAE;oBACjB,SAAS,GAAG,CAAC,CAAC;oBACd,UAAU,CAAC,GAAG,EAAE;wBACd,YAAY,GAAG,EAAE,CAAC;oBACpB,CAAC,EAAE,GAAG,CAAC,CAAC;iBACT;qBAAM;oBACL,YAAY,GAAG,EAAE,CAAC;iBACnB;aACF;YAED,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,kCAAkC;QAClC,4CAA4C;QAC5C,uCAAuC;QACvC,IAAI;QAEJ,yCAAyC;QACzC,mDAAmD;QACnD,8CAA8C;QAC9C,IAAI;IACN,CAAC;;kFA1SU,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAHd,MAAM;;;;;;;;;;;;;;;;;;ACbyF;AACtC;;;;AAelE,MAAM,oBAAoB;IAbjC;QAeE,UAAK,GAAG,EAAE,CAAC;QAMF,gBAAW,GAAG,EAAE,CAAC;QAEjB,cAAS,GAAG,KAAK,CAAC;KAyD5B;IA5CC,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE;SACf;IACH,CAAC;IACD,QAAQ;IAER,CAAC;IACD,UAAU,CAAC,KAAU;QACnB,oBAAoB;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,MAAe;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,KAAU;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC;IAED,SAAS,CAAC,QAAa,EAAE;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;SACpB;IACH,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAEjC,+BAA+B;QAC/B,qCAAqC;IACvC,CAAC;;wFAlEU,oBAAoB;kHAApB,oBAAoB;;;;;uQARpB;YACT;gBACE,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;gBACnD,KAAK,EAAE,IAAI;aACZ;SACF;QCdH,8EAAuP;QAAnM,uLAAmB,yGAAkB,mBAAe,IAAjC,uFAAuI,qBAAiB,IAAxJ,mFAAmK,aAAS,IAA5K;QAAvE,4DAAuP;;QAAtN,+EAAkB;;;;;;;;;;;;;;;;;;;;;ACCJ;AACiB;AACE;;AAY3D,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHAL1B,yDAAY;QACZ,uDAAW,EAAE,+DAAmB;mIAIvB,iBAAiB,mBAPb,yEAAoB,aAEjC,yDAAY;QACZ,uDAAW,EAAE,+DAAmB,aAExB,yEAAoB;;;;;;;;;;;;;;;;;;;;;;;ACHT;AAMC;AACI;;;;;;;;;IChB5B,6EAAiG;IAApC,qSAAS,2FAAyB,KAAC;IACxF,2EAAyB;IAAA,iEAAO;IAAA,4DAAO;;;IAG/C,sEAA4D;IACxD,sEAA0D;IAC9D,4DAAM;;;IADW,0DAAqC;IAArC,mKAAqC;;;IAGlD,mEAAmE;;;IAAxB,kJAAmB;;;IAC9D,mEAAoE;;;IAA1B,oJAAqB;;;IAFnE,0EAAqE;IACjE,iHAAmE;IACnE,iHAAoE;IACxE,4DAAM;;;IAF4B,0DAAW;IAAX,8EAAW;IACd,0DAAa;IAAb,gFAAa;;;;;IAO5B,4EAAwO;IAA1D,mVAAY,oFAAkB,KAAC;IAA7M,4DAAwO;;;;;;IAArK,uJAAgC;;;;IAGnG,4EAA6O;IAA/D,mVAAY,qFAAkB,IAAI,CAAC,KAAC;IAAlN,4DAA6O;;;;;;IAA1K,uJAAgC;;;IAJvG,4JAEc;IACd,4JAEc;;;;IALD,kHAAyC;IAGzC,0DAA+B;IAA/B,oGAA+B;;;IALpD,wEAAqD;IACjD,8IAOc;IAClB,qEAAe;;;IARoB,0DAAyB;IAAzB,yFAAyB;;;;IAUxD,4EACmM;IAAzF,qTAAe,kFAAgB,KAAK,uDAAkC,KAAK,GAAC,iBAAS,KAAC;IADhM,4DACmM;;;IAD3H,0FAAiC;;;IAOrG,2EAAmC;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,8GAAgC;;;;IAC3E,wEAAuF;IAA5B,kSAAS,8EAAY,IAAI,CAAC,KAAC;IAAE,sEAAU;IAAA,4DAAI;;;IAH1G,0EAAiE;IAErD,uHAA0E;IAClF,iHAAsG;IACtG,4DAAO;;;IAHkB,0DAAgC;IAAhC,qFAAgC;IAC3B,0DAAW;IAAX,8EAAW;IACI,0DAAY;IAAZ,+EAAY;;;IAMjD,2EAAoC;IAAA,uDAAmC;IAAA,4DAAO;;;IAA1C,0DAAmC;IAAnC,iHAAmC;;;IAFnF,0EAAyE;IAE7D,uHAA8E;IACtF,4DAAO;;;IAFkB,0DAAgC;IAAhC,qFAAgC;IAC3B,0DAAW;IAAX,8EAAW;;;;IAI7C,0EAA2C;IACoE,mSAAS,2EAAS,KAAC;IACtH,uDACJ;IAAA,4DAAS;;;IAFyI,0DAAwB;IAAxB,+EAAwB;IAAtI,oJAAkE;IAClG,0DACJ;IADI,gGACJ;;ADvBD,MAAM,kBAAkB;IA+B7B,YAAoB,EAAe;QAAf,OAAE,GAAF,EAAE,CAAa;QA5B1B,iBAAY,GAAY,IAAI,CAAC;QAE7B,WAAM,GAAW,CAAC,CAAC,CAAC,0BAA0B;QAE9C,gBAAW,GAAY,IAAI,CAAC,CAAC,oBAAoB;QACjD,kBAAa,GAAQ,YAAY,CAAC,CAAC,wBAAwB;QAC3D,mBAAc,GAAQ,gBAAgB,CAAC,CAAC,aAAa;QACpD,YAAO,GAAG,IAAI,uDAAY,EAAO,CAAC,CAAC,cAAc;QAElD,kBAAa,GAAY,IAAI,CAAC,CAAC,oBAAoB;QAClD,uBAAkB,GAAG,IAAI,uDAAY,EAAO,CAAC,CAAC,oBAAoB;QAEnE,gBAAW,GAAY,IAAI,CAAC,CAAC,oBAAoB;QAChD,cAAS,GAAG,IAAI,uDAAY,EAAE,CAAC,CAAC,iBAAiB;QAClD,qBAAgB,GAAW,EAAE,CAAC,CAAC,mBAAmB;QAClD,yBAAoB,GAAY,KAAK,CAAC,CAAC,oBAAoB;QAE3D,UAAK,GAAQ,IAAI,CAAC,CAAC,0BAA0B;QAC7C,YAAO,GAAQ,IAAI,CAAC,CAAC,0BAA0B;QAC/C,4BAAuB,GAAQ,IAAI,CAAC,CAAC,0BAA0B;QAC/D,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAW,OAAO,CAAC;IAQvC,CAAC;IAED,OAAO;QACL,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,GAAG,GAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC1E,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;YACpB,uBAAuB;SACxB;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC/B,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,uDAAW,CAAC,IAAI,EAAE,CAAC,+DAAmB,EAAE,gEAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACrG;aAAM;YACL,MAAM,QAAQ,GAAU,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,+DAAmB,CAAC,CAAC,CAAC,CAAC;gBAC3C,mEAAmE;aACpE;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,yGAAyG;QACzG,6CAA6C;QAC7C,IAAI,OAAO,EAAE;YACX,qCAAqC;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,mCAAC,CAAC,mCAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACxE,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,IAAI;SACL;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAmB,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAC;IAC7D,CAAC;IACD,UAAU,CAAC,KAAU,EAAE,QAAc;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,IAAI,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE;YACrD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU;QACR,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,WAAW,CAAC,KAAc;QAExB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC7B;QAED,UAAU,CAAC,GAAG,EAAE;YACd,mCAAC,CAAC,mCAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxE,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,KAAK,GAAW,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;iBAC7B;aACF;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvB;IACH,CAAC;;oFA1HU,kBAAkB;gHAAlB,kBAAkB;;;;;;QCtB/B,oHAEe;QAEf,8GAEM;QACN,8GAGM;QAEN,4EAA0D;QACtD,gIASe;QACf,0MAGc;QAClB,4DAAM;QAEN,8GAKM;QAEN,8GAIM;QAEN,gHAIM;;;QA9CG,mFAAmB;QAItB,0DAAoD;QAApD,4HAAoD;QAGpD,0DAAoD;QAApD,4HAAoD;QAMvC,0DAAoB;QAApB,mFAAoB;QAgBO,0DAAiB;QAAjB,iFAAiB;QAOT,0DAAiB;QAAjB,iFAAiB;QAM/C,0DAAiB;QAAjB,iFAAiB;;;;;;;;;;;;;;;;;;;;;AC1CmB;AACP;AACN;;AAYxC,MAAM,eAAe;;8EAAf,eAAe;4GAAf,eAAe;gHALxB,yDAAY;QACZ,+DAAY;mIAIH,eAAe,mBAPX,qEAAkB,aAE/B,yDAAY;QACZ,+DAAY,aAEJ,qEAAkB;;;;;;;;;;;;;;;;;;;;;ACZiB;AACM;AAC0B;AACF;;AAQtE,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHAHlB,yDAAY,EAAE,+DAAa;mIAG1B,iBAAiB,mBAJb,wFAA2B,EAAE,sFAAoB,aACtD,yDAAY,EAAE,+DAAa,aAC3B,wFAA2B,EAAE,sFAAoB;;;;;;;;;;;;;;;;;ACFtC;;;;ICPrB,yEAAgD;IAA3C,uSAAS,6EAAY,oBAAa,GAAE,KAAK,KAAC;IAE7C,6DAAyB;IAC3B,4DAAM;;;ADWD,MAAM,oBAAoB;IAK/B;QAHU,WAAM,GAAG,IAAI,uDAAY,EAAQ,CAAC;QACxB,cAAS,GAAY,IAAI,CAAC;IAE/B,CAAC;IAEhB,QAAQ,KAAU,CAAC;;wFAPR,oBAAoB;kHAApB,oBAAoB;kEACpB,sDAAW;;;;;;QChBxB,6HAKc;;;;;;;;;;;;;;;;;;;;;;;;ACKS;AAC8B;AACa;AAGa;;;AAQxE,MAAM,2BAA2B;IAgBtC,YACU,OAAgB,EAChB,UAAmC,EACnC,UAAqB,EACrB,gBAAkC;QAHlC,YAAO,GAAP,OAAO,CAAS;QAChB,eAAU,GAAV,UAAU,CAAyB;QACnC,eAAU,GAAV,UAAU,CAAW;QACrB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAnBpC,mBAAc,GAAG,KAAK,CAAC;QAEvB,8BAAyB,GAAG,oDAAkB,CAAC;QAG/B,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC9B,oBAAe,GAAW,UAAU,CAAC;QAE1C,cAAS,GAA0B,IAAI,uDAAY,EAAW,CAAC;QAElE,YAAO,GAAY,KAAK,CAAC;QAC1B,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;IAO7C,CAAC;IACL,QAAQ,KAAW,CAAC;IACpB,cAAc;QAEZ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,OAAO,GAAa,GAAG,EAAE;gBAC3B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrE,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;SACpE;IACH,CAAC;IAED,YAAY;QAEV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,aAAa,EAAE,kCAAkC;YACjD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;YACrD,gBAAgB,EAAE,IAAI,CAAC,OAAO;iBAC3B,QAAQ,EAAE;iBACV,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACpC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sFAAoB,CAAC;YACtE,mBAAmB;YACnB,kBAAkB;YAClB,MAAM;YACN,wBAAwB;YACxB,sBAAsB;YACtB,uBAAuB;YACvB,0BAA0B;YAC1B,kBAAkB;YAClB,oBAAoB;YACpB,6BAA6B;YAC7B,OAAO;YACP,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,+DAAc,CACvC,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,SAAS,CACtE,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,MAAM,cAAc,GAClB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa;YACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YACjC,CAAC,CAAC,uCAAK,CAAC;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAEjD,OAAO,2CAAK,CAAC,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe;QAEb,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC5C,OAAO;SACR;QAED,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAClF;IAEH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;;sGA7GU,2BAA2B;yHAA3B,2BAA2B;mJAA3B,oBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrB4B;AACJ;AACE;AACJ;AACsC;AACP;AACM;AACb;AACM;AACR;AACP;AACnB;AAC8B;;AAwCtE,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;oHArBhB;QACP,oFAAqB;QACrB,0FAAwB;QACxB,kFAAoB;QACpB,sFAAsB;KACzB,YAbG,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,gEAAa;QACb,kEAAc;QACd,oEAAe;QACf,8DAAY,EASZ,gEAAa;QACb,kEAAc;QACd,oEAAe;QACf,8DAAY;mIAWP,kBAAkB,mBAlCvB,kGAAqB;QACrB,2FAAkB;QAClB,iGAAoB,aAGpB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,gEAAa;QACb,kEAAc;QACd,oEAAe;QACf,8DAAY,aASZ,gEAAa;QACb,kEAAc;QACd,oEAAe;QACf,8DAAY;QAEZ,kGAAqB;QACrB,2FAAkB;QAClB,iGAAoB;;;;;;;;;;;;;;;;;AC9CW;AAGhC,MAAM,2BAA2B;IAGpC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAFnC,WAAM,GAAG,IAAI,iDAAe,CAAM,IAAI,CAAC,CAAC;IAED,CAAC;IAExC,KAAK,CAAC,YAAsC;QAC/C,IAAI,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACvF,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC7B;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;AClB8B;AAMxB,MAAM,mBAAmB;IAE5B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAD1C,iBAAY,GAAG,IAAI,yCAAO,EAA0B,CAAC;IACP,CAAC;IAG/C,KAAK,CAAC,YAA8B,EAAE,MAAY;QAC9C,IAAI,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACvF,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;SACtD;IACL,CAAC;IAEO,MAAM,CAAC,IAAoB,EAAE,IAAU;QAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,IAAI;YACJ,IAAI;SACP,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACJ;;;;;;;;;;;;;;;;;AC9B8B;AAOxB,MAAM,uBAAuB;IAGlC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF1C,iBAAY,GAAG,IAAI,yCAAO,EAA0B,CAAC;IAEP,CAAC;IAE/C,KAAK,CAAC,YAAuC,EAAE,MAAY;QACzD,IAAI,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACvF,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;YAC/C,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;SAC9C;IACH,CAAC;IAEO,MAAM,CAAC,IAAoB,EAAE,IAAU;QAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;;;;;;;;;;;;;;;;;;;;AC9B8E;;;;;ICAvE,uEAA0C;IAAA,oEAMH;IAAA,4DAAI;;;IANI,0DAMT;IANS,uhBAMT;;;IACtC,oEAAqE;;;IAAtC,8JAAgC;;;IAE/D,oEAAuE;;;IAAvC,+JAAiC;;;IACjE,qEAAmE;;;IAArC,4JAA8B;;;;IAG5D,6EAA+H;IAA5D,4SAAS,qFAAoB,KAAC;IAA8B,uDAA2B;IAAA,4DAAS;;;IAApC,0DAA2B;IAA3B,+FAA2B;;;;IAC1J,6EAAsH;IAArD,6SAAS,mFAAkB,KAAC;IAAyB,uDAAyB;IAAA,4DAAS;;;IAAlC,0DAAyB;IAAzB,6FAAyB;;;;IAC/I,6EAA6H;IAA3D,8SAAS,qFAAmB,KAAC;IAA8B,uDAA0B;IAAA,4DAAS;;;IAAnC,0DAA0B;IAA1B,8FAA0B;;ADRxJ,MAAM,qBAAqB;IAEhC,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;IAC/C,CAAC;IAEL,QAAQ;QACN,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;IAChC,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;0FAhCU,qBAAqB,6NAItB,oFAAuB;mHAJtB,qBAAqB;QCTlC,yEAAwB;QAEhB,6GAM2C;QAC3C,+GAAqE;QAErE,+GAAuE;QACvE,iHAAmE;QACvE,4DAAM;QACN,yEAAuB;QACnB,uHAAmK;QACnK,uHAAwJ;QACxJ,uHAAgK;QACpK,4DAAM;;QAhBE,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAAwB;QAAxB,wFAAwB;QAExB,0DAAyB;QAAzB,yFAAyB;QACxB,0DAAsB;QAAtB,sFAAsB;QAGQ,0DAA6B;QAA7B,6FAA6B;QAC7B,0DAA2B;QAA3B,2FAA2B;QAC3B,0DAA4B;QAA5B,4FAA4B;;;;;;;;;;;;;;;;;;ACjBA;;AAOjE,MAAM,oBAAoB;IAE7B;QADiB,UAAK,GAAG,IAAI,uDAAY,EAAO,CAAC;IACjC,CAAC;IAEjB,QAAQ;IACR,CAAC;IAEM,UAAU,CAAC,MAAW;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5B,CAAC;;wFATQ,oBAAoB;kHAApB,oBAAoB;QCPjC,oEAAG;QACC,+FACJ;QAAA,4DAAI;QAEJ,4EAAqD;QAA7B,kJAAS,sBAAkB,IAAC;QAAC,gEAAK;QAAA,4DAAS;;;;;;;;;;;;;;;;;;;;;;ACF0C;AACpC;;;;;;ICC7D,sEAA6D;IAAA,iFAAsB;IAAA,4DAAM;;;IAMzF,sEAA4D;IAAA,iFAAsB;IAAA,4DAAM;;ADA7F,MAAM,kBAAkB;IAG3B,YACY,EAAe,EAChB,SAA8B,EACA,IAAS;QAFtC,OAAE,GAAF,EAAE,CAAa;QAChB,cAAS,GAAT,SAAS,CAAqB;QACA,SAAI,GAAJ,IAAI,CAAK;QAE9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;YACpC,QAAQ,EAAE,CAAC,EAAE,EAAE,+DAAmB,CAAC;SACtC,CAAC,CAAC;QAEH,yBAAyB;QACzB,qBAAqB;IAEzB,CAAC;IAED,QAAQ;IACR,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,2CAA2C;YAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;;oFA/BQ,kBAAkB,uUAMf,8EAAoB;gHANvB,kBAAkB;QCV/B,0EAA4D;QAAnC,8IAAY,cAAU,IAAC;QAC5C,sEAAK;QAEG,sEAAkG;QAClG,8GAAyF;QAC7F,4DAAM;QAEV,sEAAK;QAEG,sEAA+F;QAC/F,8GAAwF;QAE5F,4DAAM;QAEV,gEAAI;QACJ,uEAAK;QACuC,2IAAS,YAAQ,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAC1E,6EAAsC;QAAA,gEAAI;QAAA,4DAAS;;QAjBrD,+EAAkB;QAIN,0DAAqD;QAArD,qHAAqD;QAMrD,0DAAoD;QAApD,oHAAoD;;;;;;;;;;;;;;;;;;;;ACR1C;;AAIrB,MAAM,sBAAsB;IAEjC;QAwHA,sBAAiB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;YAErC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C;aACF;iBACI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAChC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;oBACrB,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;wBACpF,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC7C;yBACI;wBACH,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC1B,uCAAuC;wBACvC,SAAS;wBAET,IAAI;qBACL;oBACD,iCAAiC;oBACjC,0BAA0B;oBAC1B,wBAAwB;oBACxB,qBAAqB;oBACrB,IAAI;oBACJ,kDAAkD;iBACnD;aACF;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IAtJc,CAAC;IACjB,mBAAmB,CAAC,YAAiC,EAAE,gBAAwC;QAC7F,IAAI,YAAY,CAAC,IAAI,EAAE;YACrB,gBAAgB,GAAG,gBAAgB;iBAChC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC9B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;QAED,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3B,gBAAgB,GAAG,gBAAgB;iBAChC,kBAAkB,EAAE;iBACpB,gBAAgB,EAAE,CAAC;SACvB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,OAAO,EAAE;YAC/C,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAExF,gBAAgB,GAAG,gBAAgB;iBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACd,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,SAAS,EAAE;YACjD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAG1F,gBAAgB,GAAG,gBAAgB;iBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACd,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjC;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,QAAQ,EAAE;YAChD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAEzF,gBAAgB,GAAG,gBAAgB;iBAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACd,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACrB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,UAAU,EAAE;YAClD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;YAE3F,gBAAgB,GAAG,gBAAgB;iBAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,WAAW,EAAE;YACnD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAE5F,gBAAgB,GAAG,gBAAgB;iBAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC3B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACrB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,UAAU,EAAE;YAClD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;YAE3F,gBAAgB,GAAG,gBAAgB;iBAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,YAAY,EAAE;YACpD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;YAE7F,gBAAgB,GAAG,gBAAgB;iBAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjB,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAI,YAAY,CAAC,qBAAqB,EAAE,WAAW,EAAE;YACnD,IAAI,MAAM,GAAa,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAE5F,gBAAgB,GAAG,gBAAgB;iBAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,MAAkC;QAC/C,IAAI,UAAU,GAAW,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAW,KAAK,CAAC;QAChC,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;YAChC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,YAAiB,EAAE,cAAmB;QACpD,IAAI,QAAQ,GAAQ,cAAc,CAAC;QACnC,IAAI,YAAY,EAAE,WAAW,EAAE;YAC7B,IAAI,SAAS,GAAQ,CAAC,mBAAmB,EAAE,cAAc,CAAC;YAC1D,IAAI,SAAS,GAAQ,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;YACjE,IAAI,SAAS,EAAE;gBACb,IAAI,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE;oBACnC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC1B,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;oBACvC,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;iBACxC;aACF;YACD,QAAQ,GAAG,SAAS,CAAC;SAEtB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,OAAY,EAAE,MAAW;QACtC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YAClD,0FAA0F;YAC1F,OAAO,yCAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa,CAAC,QAAa,EAAE,OAAY;QACvC,OAAO,yCAAO,CAAC,QAAQ,EAAE,wCAAM,CAAC,OAAO,EAAE,wCAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;;4FAzHU,sBAAsB;uHAAtB,sBAAsB,WAAtB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;ACNuC;AACW;AAClB;AAEH;AAGM;;;;AAsBtE,MAAM,cAAc,GAAoB;IACpC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,2BAA2B;IAC1C,UAAU,EAAE,gBAAgB;CAC/B,CAAC;AAGK,MAAM,qBAAqB;IAE9B,YACY,QAAkB,EAClB,OAAgB,EAChB,uBAA+C;QAF/C,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,4BAAuB,GAAvB,uBAAuB,CAAwB;IACvD,CAAC;IAEL,IAAI,CAAI,SAA2B,EAAE,SAA0B,EAAE;QAC7D,gDAAgD;QAChD,MAAM,WAAW,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,wEAAmB,CAAC,UAAU,CAAC,CAAC;QAEtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAI,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAErG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,2CAA2C;IACnC,oBAAoB,CAAI,UAAsB,EAAE,MAAuB,EAAE,SAA8B,EAAE,SAA2B;QACxI,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,IAAI,gEAAe,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,YAAY,GAAoB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzE,OAAO,YAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,oGAAoG;IACpG,6CAA6C;IAE7C,2DAA2D;IAC3D,yDAAyD;IACzD,iEAAiE;IACjE,IAAI;IACI,cAAc,CAAC,MAAuB,EAAE,SAA8B;QAC5E,OAAO,0DAAe,CAAC;YACrB,SAAS,EAAE,CAAC;oBACV,OAAO,EAAE,wEAAmB,EAAE,QAAQ,EAAE,SAAS;iBAClD;gBACD;oBACE,OAAO,EAAE,8EAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI;iBACrD,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACO,gBAAgB,CAAC,MAAuB;QAC5C,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;aACzC,MAAM,EAAE;aACR,kBAAkB,EAAE;aACpB,gBAAgB,EAAE,CAAC;QAGxB,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9F,IAAI,QAAQ,GAAQ,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAI5F,MAAM,aAAa,GAAG,IAAI,+DAAa,CAAC;YACpC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;YACrD,gBAAgB;SACnB,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,aAAa,CAAC,MAAuB;QACzC,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpD,wBAAwB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;;0FA3EQ,qBAAqB;sHAArB,qBAAqB,WAArB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;ACpCwC;AACW;AACF;AAEH;AAEJ;AAMhD;;;;AACrB,MAAM,wBAAwB,GAAG,IAAI,yDAAc,CAA0B,0BAA0B,CAAC,CAAC;AAiBhH,MAAM,cAAc,GAA4B;IAC9C,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,2BAA2B;IAC1C,UAAU,EAAE,uBAAuB;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,sCAAsC;QAC7C,MAAM,EAAE,wCAAwC;QAChD,GAAG,EAAE,+CAA+C;QACpD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAIK,MAAM,wBAAwB;IAInC,YACU,OAAgB,EAChB,uBAA+C;QAD/C,YAAO,GAAP,OAAO,CAAS;QAChB,4BAAuB,GAAvB,uBAAuB,CAAwB;IACrD,CAAC;IAEL,IAAI,CAAI,SAA2B,EAAE,SAAkC,EAAE;QACvE,gDAAgD;QAEhD,mHAAmH;QAEnH,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,GAAG,yCAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEtC,kEAAkE;QAGlE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,wFAA2B,CAAC,UAAU,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClG,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;gBAC7C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAgB,EAAE,EAAE;YACxD,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACrB,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;oBAC9C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAI,UAAsB,EAAE,MAA+B,EACrF,SAAsC,EAAE,SAA2B;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,IAAI,gEAAe,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,YAAY,GAAoB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzE,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,oHAAoH;IACpH,2CAA2C;IAE3C,iEAAiE;IACjE,+DAA+D;IAC/D,+DAA+D;IAC/D,IAAI;IACI,cAAc,CAAC,MAA+B,EAAE,SAAsC;QAC5F,OAAO,0DAAe,CAAC;YACrB,SAAS,EAAE,CAAC;oBACV,OAAO,EAAE,wFAA2B,EAAE,QAAQ,EAAE,SAAS;iBAC1D;gBACD;oBACE,OAAO,EAAE,oFAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI;iBACxD,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,8GAA8G;IAC9G,6BAA6B;IAC7B,oBAAoB;IACpB,4DAA4D;IAC5D,SAAS;IACT,QAAQ;IACR,uEAAuE;IACvE,SAAS;IACT,QAAQ;IACR,IAAI;IACI,gBAAgB,CAAC,MAA+B;QACtD,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;aAC3C,MAAM,EAAE,CAAC;QAEZ,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9F,IAAI,QAAQ,GAAQ,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5F,MAAM,aAAa,GAAG,IAAI,+DAAa,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;YACrD,gBAAgB;SACjB,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,MAA+B;QACnD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpD,wBAAwB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;;gGAtGU,wBAAwB;yHAAxB,wBAAwB,WAAxB,wBAAwB;;;;;;;;;;;;;;;;;;;;AChDqC;AACV;AACX;AACmB;;;;AAyBxE,MAAM,cAAc,GAAoB;IACtC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,oCAAoC;IACnD,UAAU,EAAE,yBAAyB;CAEtC,CAAC;AACF,MAAM,qBAAqB,GAAwB;IACjD,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;CACX,CAAC;AAGK,MAAM,oBAAoB;IAM/B,YACU,QAAkB,EAClB,OAAgB,EAChB,uBAA+C;QAF/C,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,4BAAuB,GAAvB,uBAAuB,CAAwB;IACrD,CAAC;IAEL,IAAI,CAAC,WAAsB,EAAE,SAA0B,EAAE,EAAE,eAAoC,EAAE;QAC/F,gDAAgD;QAChD,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,YAAY,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,gFAAuB,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpG,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBACtC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAgB,EAAE,EAAE;YACxD,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACrB,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;oBACvC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBAC/B;aACF;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,+CAA+C;QAC/C,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAC1B,UAAsB,EACtB,MAAuB,EACvB,SAAkC,EAClC,WAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,wGAAwG;IACxG,2CAA2C;IAE3C,6DAA6D;IAE7D,+DAA+D;IAC/D,IAAI;IAEI,cAAc,CAAC,MAAuB,EAAE,SAAkC;QAChF,OAAO,0DAAe,CAAC;YACrB,SAAS,EAAE,CAAC;oBACV,OAAO,EAAE,gFAAuB,EAAE,QAAQ,EAAE,SAAS;iBACtD,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,MAAuB;QAC9C,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;aAC3C,MAAM,EAAE,CAAC;QAGZ,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACzG,IAAI,QAAQ,GAAQ,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAMvG,MAAM,aAAa,GAAG,IAAI,+DAAa,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;YACrD,gBAAgB;SACjB,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,MAAuB;QAC3C,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpD,wBAAwB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAEO,cAAc,CAAC,MAAkC;QACvD,IAAI,UAAU,GAAW,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAW,KAAK,CAAC;QAChC,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;YAChC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;IAClC,CAAC;;wFA1GU,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB;;;;;;;;;;;;;;;;;AC1Cc;AAIxC,MAAM,oBAAoB,GAAG,IAAI,yDAAc,CAAkB,sBAAsB,CAAC,CAAC;;;;;;;;;;;;;;;;;ACJjD;AAIxC,MAAM,uBAAuB,GAAG,IAAI,yDAAc,CAAwB,yBAAyB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACJM;AAE7B;AACzD;;;AAGrB,IAAI,MAAM,GAAwB;IACvC;QACE,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD;QACE,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,OAAO;KACpB;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,MAAM;KACnB;CAEF;AAEM,MAAM,UAAU,GAA2C;IAChE,GAAG,EAAE;QACH,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;KACV;IACD,KAAK,EAAE;QACL,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;KACV;IACD,MAAM,EAAE;QACN,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;KACV;IACD,IAAI,EAAE;QACJ,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC;KACV;CACF;AAKM,MAAM,sBAAsB;IAWjC,YACU,OAAgB,EAChB,sBAA8C,EAC9C,UAAsB,EACtB,gBAAkC;QAHlC,YAAO,GAAP,OAAO,CAAS;QAChB,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,eAAU,GAAV,UAAU,CAAY;QACtB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAd5C,sDAAsD;QACtD,4CAA4C;QACpB,mBAAc,GAA8C,IAAI,CAAC;QAC7D,sBAAiB,GAAc,SAAS,CAAC;QACnD,YAAO,GAAwC,QAAQ,CAAC;IAWtE,CAAC;IAEL,QAAQ;QACN,sCAAsC;QACtC,wCAAwC;QAExC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,8DAA8D;YAC9D,2DAA2D;YAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB;iBACzC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACpC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAE3C,+CAA+C;YAC/C,oDAAoD;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrC,6CAA6C;gBAC7C,2CAA2C;gBAC3C,gBAAgB,EAAE,QAAQ;gBAC1B,uEAAuE;gBACvE,8CAA8C;gBAC9C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBACrD,qCAAqC;gBACrC,6BAA6B;gBAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC;aACvD,CAAC,CAAC;SACJ;QACD,uEAAuE;QACvE,6EAA6E;aACxE;YACH,qFAAqF;YACrF,mFAAmF;SACpF;IACH,CAAC;IAGO,KAAK,CAAC,KAAiB;QAC7B,+CAA+C;QAC/C,sDAAsD;QACtD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,eAA2D,CAAC;YAEhE,2EAA2E;YAC3E,2EAA2E;YAC3E,IAAI,IAAI,CAAC,cAAc,YAAY,sDAAW,EAAE;gBAC9C,eAAe,GAAG,IAAI,+DAAc,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAClF;YACD,+CAA+C;YAC/C,wCAAwC;iBACnC;gBACH,eAAe,GAAG,IAAI,gEAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACnF;YAED,oEAAoE;YACpE,0EAA0E;YAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAE1C;IACH,CAAC;IAGO,KAAK,CAAC,CAAa;QACzB,8CAA8C;QAC9C,yFAAyF;QAEzF,kDAAkD;QAClD,0DAA0D;QAE1D,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,mCAAC,CAAC,CAAC,CAAC,aAA4B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YACpG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;SAC3B;IACH,CAAC;;4FAxFU,sBAAsB;oHAAtB,sBAAsB;8JAAtB,iBAAa,8FAAb,iBAAa;;;;;;;;;;;;;;;;;;;;;;;;IE5E1B,2EAA4C;;ADOrC,MAAM,gBAAgB;IAE3B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;gFALU,gBAAgB;8GAAhB,gBAAgB;QCP7B,gIAA4C;;QAA5B,sEAAU;;;;;;;;;;;;;;;;;;;;ACA6B;AAEF;;AAa9C,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GANtB,+DAAY;mIAMH,aAAa,mBATtB,gEAAgB,aAGhB,+DAAY,aAGZ,gEAAgB;;;;;;;;;;;;;;;;;;ACLb,MAAM,eAAe;IAE1B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8EALU,eAAe;6GAAf,eAAe;QCP5B,yEAA4B;QAER,iFAAiB;QAAA,uEAAkD;QAAA,sEAAW;QAAA,4DAAI;QAAA,iFAAsB;QAAA,4DAAI;QAE5H,yEAAwC;QACxB,sEAAW;QAAA,8DAAmN;QAAnN,0EAAmN;QACpO,sEAEO;QACX,4DAAM;QAGhB,+DAAqF;QAArF,qEAA2F;;;;;;;;;;;;;;;;;;;;ACZtC;AAEA;;AAe9C,MAAM,YAAY;;wEAAZ,YAAY;yGAAZ,YAAY;6GANrB,+DAAY;mIAMH,YAAY,mBATrB,8DAAe,aAGf,+DAAY,aAGZ,8DAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnB;AAIA;AAIA;;;;;;;;;;;;;;;;;IC8DcA,4DAAAA,eAAmH,CAAnH,EAAmH,GAAnH,EAAmH,CAAnH;IACgCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAT;IAAwB,CAAxB;IAC5BA,4DAAAA;IAAAA,4DAAAA,eAC8C,CAD9C,EAC8C,MAD9C,EAC8C,CAD9C,EAC8C,UAD9C,EAC8C,EAD9C;IAIMA,uDAAAA;IAEFA,0DAAAA;IACAA,4DAAAA;IACEA,uDAAAA;IAEFA,0DAAAA;IAEFA,4DAAAA,aAAsF,CAAtF,EAAsF,GAAtF,EAAsF,EAAtF;IAGIA,uDAAAA;IAGFA,0DAAAA;IACAA,4DAAAA,cAAoF,EAApF,EAAoF,GAApF,EAAoF,EAApF;IAGIA,uDAAAA,iBAEsD,EAFtD,EAEsD,MAFtD,EAEsD,EAFtD,EAEsD,EAFtD,EAEsD,MAFtD,EAEsD,EAFtD;IASFA,0DAAAA;IAINA,6DAAAA;IAAAA,4DAAAA;IAAMA,oDAAAA;IAAQA,0DAAAA;;;;ADzF1B,MAAOsG,eAAP,CAAsB;EAU1BvH,YAC4BuE,QAD5B,EAEUiD,eAFV,EAGUC,WAHV,EAIUC,MAJV,EAKUC,gBALV,EAMSC,MANT,EAOUC,YAPV,EAQUC,UARV,EASUC,kBATV,EAUU7H,cAVV,EAWS8H,UAXT,EAYUC,eAZV,EAYyC;IAXb;IAClB;IACA;IACA;IACA;IACD;IACC;IACA;IACA;IACA;IACD;IACC;IAlBV,mBAAmB,EAAnB,CAkByC,CA8DzC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IACA,mBAAuB,KAAvB;IAvEE,KAAKC,eAAL,GAAuB,IAAId,0CAAJ,EAAvB;IACA,KAAKW,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB,KAAKqE,WAAL,GAAiBrE,KAAK,EAAEV,IAAxB;MACD;IAHgD,CAAnD,EAHuC,CAQvC;IACA;IACA;EACD;;EAED2B,QAAQ;IACN,KAAKqD,WAAL,GAAmB,KAAKL,eAAL,CAAqBM,YAArB,CAAkCvE,KAAlC,IAA2C,CAA9D;IACA,KAAKyD,WAAL,CAAiBe,UAAjB,CACGC,IADH,CACQpB,gDAAS,CAAC,KAAKa,eAAN,CADjB,EAEGzF,SAFH,CAEcmF,MAAD,IAAgB;MACzB,IAAIA,MAAJ,EAAY;QACV,MAAMc,MAAM,GAAGnE,QAAQ,CAACoE,sBAAT,CAAgC,gCAAhC,CAAf;QACAD,MAAM,CAAC,CAAD,CAAN,CAAUE,SAAV,CAAoBC,GAApB,CAAwB,eAAxB;MAED,CAJD,MAIO;QACL,MAAMH,MAAM,GAAGnE,QAAQ,CAACoE,sBAAT,CAAgC,gCAAhC,CAAf;QACAD,MAAM,CAAC,CAAD,CAAN,CAAUE,SAAV,CAAoBE,MAApB,CAA2B,eAA3B;MAED;IAEF,CAbH;IAeA,KAAKC,WAAL,GAAmB,KAAKpB,gBAAL,CAAsBqB,gBAAtB,CAAuCvG,SAAvC,CAAkDwG,GAAD,IAAa;MAC/E,IAAIA,GAAJ,EAAS;QACP,KAAKC,WAAL,GAAoBD,GAAD,CAAME,OAAN,CAAc,qCAAd,EAAqD,GAArD,CAAnB;MACD;IACF,CAJkB,CAAnB;IAKA,IAAI3I,OAAO,GAAQ,KAAKN,cAAL,CAAoBO,OAApB,CAA4B,aAA5B,CAAnB;IAEA,IAAIC,YAAY,GAAGF,OAAO,GAAGG,IAAI,CAACC,KAAL,CAAWJ,OAAX,EAAoBK,SAAvB,GAAmC,KAA7D;;IACA,IAAIH,YAAJ,EAAkB;MAChB,KAAK0I,cAAL;IACD;EACF;;EAEDA,cAAc;IACZ,KAAKzB,gBAAL,CAAsBuB,WAAtB;EACD;;EAEDG,QAAQ;IACN,KAAK7B,eAAL,CAAqBzC,MAArB;EACD;;EACDuE,SAAS;IACP,KAAK5B,MAAL,CAAY1G,QAAZ,CAAqB,CAAC,UAAD,CAArB;EACD;;EAGKuI,aAAa;IAAA;;IAAA;MACjB,MAAMC,MAAM,SAAS,KAAI,CAAC1B,UAAL,CAAgB2B,YAAhB,EAArB;;MACA,KAAI,CAAC3B,UAAL,CAAgB4B,WAAhB,CAA4BtB,IAA5B,CAAiCoB,MAAjC;;MACA,MAAMG,QAAQ,GAAG,KAAI,CAAC9B,YAAL,CAAkBvB,IAAlB,CAAuBgB,2EAAvB,CAAjB;;MACAqC,QAAQ,CAACC,MAAT,CAAgBnH,SAAhB,CAA0BC,GAAG,IAAG,CAC/B,CADD;IAJiB;EAMlB;;EAcDmH,WAAW;IACT;IACA,KAAK3B,eAAL,CAAqBE,IAArB,CAA0B,IAA1B;;IAEA,KAAKF,eAAL,CAAqB4B,QAArB;EACD;;AAtGyB;;;mBAAfvC,iBAAetG,+DAAAA,CAWhBkG,sDAXgB,GAWRlG,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,uEAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,mFAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA,GAAAA,+DAAAA,CAAAA,+FAAAA,GAAAA,+DAAAA,CAAAA,wGAAAA;AAAA;;;QAXPsG;EAAeN;EAAA8C;EAAAC;EAAAC;EAAAC;IAAA;MCpB5BjJ,4DAAAA,cAAuB,CAAvB,EAAuB,QAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB;MAOUA,4DAAAA;MAAAA,4DAAAA;MAEEA,uDAAAA;MAGFA,0DAAAA;MAEFA,6DAAAA;MAAAA,4DAAAA,cAAoB,CAApB,EAAoB,KAApB;MACOA,oDAAAA;MAAqBA,0DAAAA;MAC1BA,4DAAAA;MAAKA,oDAAAA;MAAmBA,0DAAAA;MAE1BA,4DAAAA,eAAuB,EAAvB,EAAuB,GAAvB,EAAuB,CAAvB;MACgCA,wDAAAA;QAAA,OAASkJ,oBAAT;MAAyB,CAAzB;MAA2BlJ,4DAAAA;MAAAA,4DAAAA,gBACb,EADa,EACb,GADa,EACb,EADa;MAGnDA,uDAAAA,iBAEgB,EAFhB,EAEgB,MAFhB,EAEgB,EAFhB;MAMFA,0DAAAA;MAMRA,6DAAAA;MAAAA,4DAAAA,YAAK,EAAL,EAAK,IAAL,EAAK,EAAL,EAAK,EAAL,EAAK,IAAL,EAAK,EAAL,EAAK,EAAL,EAAK,GAAL,EAAK,EAAL;MAMQA,4DAAAA;MAAAA,4DAAAA;MAGEA,uDAAAA,mBAAuC,EAAvC,EAAuC,MAAvC,EAAuC,EAAvC;MAIFA,0DAAAA;MAEFA,6DAAAA;MAAAA,4DAAAA,gBAAqG,EAArG,EAAqG,KAArG,EAAqG,EAArG,EAAqG,EAArG,EAAqG,GAArG,EAAqG,EAArG;MAYOA,wDAAAA;QAAA,OAASkJ,eAAT;MAAoB,CAApB;MACDlJ,4DAAAA;MAAAA,4DAAAA;MAGEA,uDAAAA,iBAA2D,EAA3D,EAA2D,QAA3D,EAA2D,EAA3D;MAEFA,0DAAAA;MACAA,6DAAAA;MAAAA,4DAAAA;MAAMA,oDAAAA;MAAUA,0DAAAA;MAIpBA,wDAAAA;MAwCAA,4DAAAA,gBAA2B,EAA3B,EAA2B,GAA3B,EAA2B,CAA3B;MACgCA,wDAAAA;QAAA,OAASkJ,cAAT;MAAmB,CAAnB;MAC5BlJ,4DAAAA;MAAAA,4DAAAA;MAGEA,uDAAAA,iBAAyD,EAAzD,EAAyD,UAAzD,EAAyD,EAAzD,EAAyD,EAAzD,EAAyD,MAAzD,EAAyD,EAAzD;MAGFA,0DAAAA;MACAA,6DAAAA;MAAAA,4DAAAA;MAAMA,oDAAAA;MAAOA,0DAAAA;;;;MAzGhBA,uDAAAA;MAAAA,gEAAAA;MAwD2BA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;ACxEW;AAEA;AACM;;AAgBpD,MAAM,YAAY;;wEAAZ,YAAY;yGAAZ,YAAY;6GAPrB,+DAAY;QACZ,qEAAS;mIAMA,YAAY,mBAVrB,8DAAe,aAGf,+DAAY;QACZ,qEAAS,aAGT,8DAAe;;;;;;;;;;;;;;;;;;;;;;ACLZ,MAAM,aAAa;IAOxB,YACU,gBAAkC,EAClC,OAA0B;QAD1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,YAAO,GAAP,OAAO,CAAmB;QANpC,WAAM,GAAG,KAAK,CAAC;IAOT,CAAC;IAEP,QAAQ;IACR,CAAC;IAAA,CAAC;IAKA,WAAW;IAEX,CAAC;;0EApBQ,aAAa;2GAAb,aAAa;;;;;;;;;;;;;;;;;;;ACXuB;AAEF;;AAexC,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;2GANnB,yDAAY;mIAMH,UAAU,mBATnB,0DAAa,aAGb,yDAAY,aAGZ,0DAAa;;;;;;;;;;;;;;;;;;;;;ACbqD;AAMhB;;;;AAM/C,MAAM,cAAc;IAIzB,YAAoB,kBAA2C,EAAU,eAAsC;QAA3F,uBAAkB,GAAlB,kBAAkB,CAAyB;QAAU,oBAAe,GAAf,eAAe,CAAuB;QAH/G,iBAAY,GAA4B,IAAI,iDAAe,CAAC,CAAC,CAAC,CAAC;QAC/D,gBAAW,GAAyB,IAAI,iDAAe,CAAC,IAAI,CAAC,CAAC;IAI9D,CAAC;IAGD,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAG,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC;YAAE,OAAO;QAClD,IAAI,OAAO,GAAQ,CAAC,GAAG,gEAAQ,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAChD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;gBACJ,SAAS;aACV;YACD,IAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;oBACxC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC9D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvB,CAAC,EAAE,CAAC;qBACL;iBACF;aACF;SACF;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;4EA/BU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPkC;AAGX;;;;;;;;;;;;;;;;ICmBnC,wEAEqE;IAFlE,uaAAS,wFAAiB,KAAC;IAG5B,0EAAoC;IAClC,qEAAoE;;IACpE,uEAAM;IAAA,uDAAe;IAAA,4DAAO;;;;;;IAHN,wKAA0C;IAFd,wGAAyC;IAInD,0DAAqB;IAArB,iHAAqB;IAAxD,yOAAkC;IACjC,0DAAe;IAAf,oGAAe;;;IAN3B,yEAAgE;IAC9D,+GAOI;IACN,4DAAK;;;;IAPF,0DAAgD;IAAhD,uLAAgD;;;;;IAmEnD,wEAC+G;IAApD,wZAAkB,qGAA4B,IAAI,KAAC;IAC5G,uDACF;IAAA,4DAAI;;;IAH0E,iKAA+B;IAE3G,0DACF;IADE,0FACF;;;IAJF,qEAAoD;IAClD,qHAGI;IACN,4DAAK;;;;IAJkB,0DAAuD;IAAvD,8HAAuD;;;IAJlF,0EAA4C;IACtC,uDAAc;IAAA,4DAAK;IACvB,qEAAI;IACF,kHAKK;IACP,4DAAK;;;IARD,0DAAc;IAAd,kFAAc;IAEK,0DAAkB;IAAlB,0FAAkB;;;AD3EpC,MAAM,gBAAgB;IA+D3B,YAC4B,QAAkB,EACpC,WAA4B,EAC5B,MAAc,EACd,cAAqC,EACrC,SAAuB,EACvB,mBAAuC,EACvC,cAA6B,EAC9B,kBAA4C,EAC3C,eAA+B;QARb,aAAQ,GAAR,QAAQ,CAAU;QACpC,gBAAW,GAAX,WAAW,CAAiB;QAC5B,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAuB;QACrC,cAAS,GAAT,SAAS,CAAc;QACvB,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,mBAAc,GAAd,cAAc,CAAe;QAC9B,uBAAkB,GAAlB,kBAAkB,CAA0B;QAC3C,oBAAe,GAAf,eAAe,CAAgB;QArEzC,gBAAW,GAAQ,CAAC,GAAG,gEAAQ,CAAC,CAAC;QACjC,iBAAY,GAAQ,CAAC,CAAC;QAGtB,oBAAe,GAAG;YAChB,IAAI,EACF,o0EAAo0E;YACt0E,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,WAAW;SACtB;QAED,eAAU,GAAQ;QAChB,uDAAuD;SACxD;QAED,YAAO,GAAY,KAAK;QAsBxB,kBAAa,GAAQ,IAAI,CAAC;QAgCxB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtD,IAAG,GAAG,EAAE;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;aACxB;QACH,CAAC,CAAC;QAEF,mCAAmC;QAGnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,EAAE;gBACL,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;QACL,CAAC,CAAC;IACJ,CAAC;IAxED,IAAW,MAAM,CAAC,CAAS;QACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAID,IAAW,UAAU,CAAC,CAAS;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAKD,IAAW,cAAc,CAAC,CAAM;QAC9B,kBAAkB;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC3D,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACf,CAAC,EAAE,CAAC;aACL;SACF;QACD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,mCAAmC;QACjC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SACzD;IACH,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAqCD,QAAQ;QAEN,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC3E,gCAAgC;QAEhC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,WAAgB,EAAE,EAAE;YAC1E,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,mCAAmC,CAAC;gBAC7I,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;aACpC;QACH,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9H,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;IAEnC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,eAAe;QACb,oCAAoC;IAGtC,CAAC;IACD,SAAS,CAAC,IAAK,EAAE,KAAM;QACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,GAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;QAE1D,IAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAC5C;YACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;SAC1D;aACI,IAAG,IAAI,EAAE,QAAQ;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAG7C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IACnD,CAAC;IAAA,CAAC;IAEF,YAAY;QACV,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAAA,CAAC;IAEF,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC;SACnC;IACH,CAAC;IAED,aAAa,CAAC,QAAQ;QACpB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,IAAS;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;;gFAnLU,gBAAgB,kEAgEjB,qDAAQ;8GAhEP,gBAAgB;QClB7B,4EAA+C;QAGtC,mIAAS,mCAA2B,CAAC,CAAC,IAAC;QACxC,oEAA4E;QAC5E,uEAAM;QAAA,oEAA6C;QAAA,4DAAO;QAG9D,wEAA2B;QACK,mIAAS,cAAU,IAAC;QAAiD,8DAG1D;QAH0D,yEAG1D;QACrC,0EAAiE;QACnE,4DAAM;QAGZ,+DAAiE;QAAjE,2EAAiE;QAC/D,wDACF;QAAA,4DAAM;QAGR,2EAA0E;QAGpE,6GASK;QAEP,4DAAK;QAEL,0EAA0C;QACvB,qIAAS,kBAAc,SAAS,CAAC,IAAC;QACjD,yEACsD;QADwB,oIAAS,kBAAc,IAAC;QAEpG,2EAA+B;QACxB,sEAA2D;QAAA,4DAAM;QACtE,uEAAK;QACG,wDAAyB;QAAA,4DAAO;QAEtC,wEAAM;QAAA,wDAAyB;QAAA,4DAAO;QAM9C,0EAAmD;QAAlC,qIAAS,kBAAc,QAAQ,CAAC,IAAC;QAChD,yEACqD;QAC/B,sIAAS,YAAQ,IAAC;QACpC,8DAAuG;QAAvG,2EAAuG;QACrG,uEAEwD;QAI1D,4DAAM;QAEN,+DAAM;QAAN,wEAAM;QAAA,kEAAM;QAAA,4DAAO;QAwB/B,+GAUM;;QAnFmB,2DAAyC;QAAzC,+JAAyC;QAC9D,0DACF;QADE,4HACF;QAMqC,0DAAgB;QAAhB,oFAAgB;QAgB7C,0DAAmD;QAAnD,4KAAmD;QAD1B,2GAAkD;QAG/D,0DAAmC;QAAnC,4LAAmC;QAErC,0DAAyB;QAAzB,wFAAyB;QAEzB,0DAAyB;QAAzB,wFAAyB;QAQnC,0DAAkD;QAAlD,2KAAkD;QADzB,0GAAiD;QAoC9D,0DAAoB;QAApB,oFAAoB;;;;;;;;;;;;;;;;;;;;AC1Fa;AAEF;;AAe9C,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GANtB,+DAAY;mIAMH,aAAa,mBATtB,gEAAgB,aAGhB,+DAAY,aAGZ,gEAAgB;;;;;;;;;;;;;;;;;;ACdwC;;AAWrD,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GANtB,qEAAc,EAGd,qEAAc;mIAGL,aAAa,cANtB,qEAAc,aAGd,qEAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF+B;;;;;;;;;;;;ICK/C,wEAA8D;IAE5D,4EAAiC;IAMnC,qEAAe;;;IACf,wEAAiE;IAE/D,gFAA2D;IAE7D,qEAAe;;;IAWb,wEAA2D;IAEzD,4EAAiC;IAEnC,qEAAe;;;AD1BZ,MAAM,iBAAiB;IA0B5B,YACU,kBAAqC,EACrC,gBAAiC,EACjC,kBAAsC,EACtC,cAA6B;QAH7B,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAe;QAbvC,kBAAa,GAAQ,IAAI,CAAC;QAexB,0BAA0B;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,yCAAO,EAAE,CAAC;QAErC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,EAAE;gBACL,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;QACH,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACjE,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YACzB,uBAAuB;YAEvB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACjD,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;gBACnB,8CAA8C;gBAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IAGL,CAAC;IApDD,IAAW,cAAc,CAAC,CAAM;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IASD,IAAW,cAAc,CAAC,CAAM;QAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAiCD,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,UAAU;aAC7B,IAAI,CAAC,gDAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,MAAW,EAAE,EAAE;YACzB,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;gBACjE,mCAAmC;gBAEnC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;aACxC;iBAAM;gBACL,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;gBACjE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC5C,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;gBACpC,sCAAsC;aACvC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,gDAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAG,GAAG,EAAE;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;aACtC;iBACI;gBACH,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;aACzC;QACH,CAAC,CAAC;IAEN,CAAC;IAED,WAAW;QACT,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;;kFA5FU,iBAAiB;+GAAjB,iBAAiB;QCP9B,yEAA2C;QAEzC,oEAA2B;QAG3B,+HAQe;QACf,+HAIe;QAIf,yEACkR;QAChR,wEAAc;QACZ,6EAAmC;QAErC,qEAAe;QAEf,+HAIe;QAEjB,4DAAM;;QA9BS,0DAA6C;QAA7C,6OAA6C;QAS7C,0DAAgD;QAAhD,mPAAgD;QAS7D,0DAA+Q;QAA/Q,yWAA+Q;QAMhQ,0DAA0C;QAA1C,0GAA0C;;;;;;;;;;;;;;;;;;;;;;;;AClCR;AAMgB;AACH;AACA;AACG;AACZ;;AAiBlD,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAVvB,+DAAY;QACZ,6EAAa;QACb,0EAAY;QACZ,0EAAY;QACZ,6EAAa;mIAMJ,cAAc,mBAbvB,kEAAiB,aAGjB,+DAAY;QACZ,6EAAa;QACb,0EAAY;QACZ,0EAAY;QACZ,6EAAa,aAGb,kEAAiB;;;;;;;;;;;;;;;;;;;;ACvBO;;;;ICCtB,2EAAuC;IACrC,uDACF;IAAA,4DAAQ;;;;IADN,0DACF;IADE,6IACF;;;IAHF,wEAAqE;IACnE,wIAEQ;IACV,qEAAe;;;IAHW,0DAAa;IAAb,4EAAa;;;IAFzC,sEAAgC;IAC9B,uIAIe;IACjB,4DAAM;;;IAL4B,0DAAmB;IAAnB,0FAAmB;;ADOhD,MAAM,mBAAmB;IAmB9B;QAjBS,oBAAe,GAAO,EAAE,CAAC;QACzB,iBAAY,GAAW,UAAU,CAAC;QAClC,gBAAW,GAAW,mBAAmB,CAAC;QAC1C,4BAAuB,GAAY,KAAK,CAAC;QAClD,kBAAa,GAAqB;YAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY;YACjC,mDAAmD;YACnD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YAC/B,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,cAAc,yBAAyB;YAC3E,GAAG,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,sBAAsB;YACxD,SAAS,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,cAAc,yBAAyB;YAC3E,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB;YAChC,iBAAiB,EAAE,GAAG,EAAE,CAAC,gCAAgC;YACzD,6CAA6C;YAC7C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;SACxB,CAAC;IAEc,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,0CAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,uBAAuB,CAAC;IAC7F,CAAC;IAED,YAAY;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;YAEpD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,KAAU;QAElB,OAAO,OAAO,KAAK;IACrB,CAAC;;sFAtCU,mBAAmB;iHAAnB,mBAAmB;QCThC,yEAAyB;QACvB,+GAMM;QACR,4DAAM;;QAPE,0DAAwB;QAAxB,wFAAwB;;;;;;;;;;;;;;;;;;;;ACAe;AACe;;AAOvD,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAHjB,yDAAY;mIAGX,gBAAgB,mBAJZ,uEAAmB,aACxB,yDAAY,aACZ,uEAAmB;;;;;;;;;;;;;;;;;;;;ACNgB;AACiC;AACd;;AAiB3D,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAR3B,yDAAY;QACZ,uDAAW;QACX,+DAAmB;mIAMV,kBAAkB,mBAX3B,yFAAqB,aAGrB,yDAAY;QACZ,uDAAW;QACX,+DAAmB,aAGnB,yFAAqB;;;;;;;;;;;;;;;;;;;ACjB4F;AAC5C;;;;;;ICDzE,yEAA4D;IACvB,6YAAoB,gQAAkB,iFAAgB,KAAlC;IAArD,4DAAgH;IAChH,qEAAkC;IACtC,4DAAM;;;IAFqB,0DAAS;IAAT,yEAAS;;;;IAIpC,yEAAwE;IAGhB,6YAAoB,gQAAkB,iFAAgB,KAAlC;IAAtE,4DAAiI;IACjI,yEAA4G;IAAA,kEAAa;IAAA,4DAAM;IAC/H,qEAAyB;IAC3B,4DAAM;;;IAHoC,0DAAS;IAAT,yEAAS;IAC9B,0DAA4C;IAA5C,wGAA4C;;ADM9D,MAAM,qBAAqB;IAKhC,sEAAsE;IAEtE;QALS,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,OAAE,GAAQ,EAAE,CAAC;QACb,eAAU,GAAO,EAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,MAAM,EAAC,CAAC;QAW9C,mCAAmC;QACnC,WAAM,GAAQ,IAAI,CAAC;QAQnB,YAAO,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QACP,aAAQ,GAAY,KAAK,CAAC;IAlB5B,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,WAAW,CAAC,OAAsB;IAElC,CAAC;IAKD,QAAQ,CAAC,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC;QAErB,4CAA4C;IAC9C,CAAC;IAAA,CAAC;IAIF,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;;0FArCU,qBAAqB;mHAArB,qBAAqB,8NARrB;YACT;gBACE,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;gBACpD,KAAK,EAAE,IAAI;aACZ;SACF;QCbH,iHAGM;QAEN,iHAAwE;;QALnD,qGAAqC;QAKxB,0DAAoC;QAApC,oGAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;ACHR;AAEK;;;;;;;AAY5D,MAAM,eAAe;IAO1B,YAAoB,UAA6B,EACvC,KAAa,EACb,WAA8B,EAC9B,cAAqC,EACrC,kBAAqC;QAJ3B,eAAU,GAAV,UAAU,CAAmB;QACvC,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAmB;QAC9B,mBAAc,GAAd,cAAc,CAAuB;QACrC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAV/C,8CAA8C;QAC9C,2BAAsB,GAAG,IAAI,8CAAY,EAAE,CAAC;QAC5C,qBAAgB,GAA6B,IAAI,iDAAe,CAAC,KAAK,CAAC,CAAC;QACxE,cAAS,GAAwB,SAAS,CAAC;QAE3C,cAAS,GAA6B,IAAI,iDAAe,CAAC,KAAK,CAAC,CAAC;QA6DjE,iBAAY,GAAY,KAAK,CAAC;QACtB,SAAI,GAAG,IAAI,iDAAe,CAAU,IAAI,CAAC,YAAY,CAAC;QAC9D,eAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAxDpC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;QAChC,oBAAoB;IACtB,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,WAAgB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,WAAW,EAAE,iFAAoB,CAAC,CAAC;IAClF,CAAC;IAAA,CAAC;IAEF,yBAAyB;IACzB,SAAS,CAAC,OAAY;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,qFAAwB,CAAC,CAAC;IACrE,CAAC;IAAA,CAAC;IAEF,+BAA+B;IAC/B,cAAc,CAAC,OAAY,EAAE,GAAW;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,2EAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAA,CAAC;IAEF,+BAA+B;IAC/B,cAAc,CAAC,OAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,0FAA6B,CAAC,CAAC;IAC1E,CAAC;IAAA,CAAC;IAEF,uCAAuC;IACvC,cAAc,CAAC,OAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,0FAA6B,CAAC,CAAC;IAC1E,CAAC;IAAA,CAAC;IAEF,yCAAyC;IACzC,uBAAuB,CAAC,OAAY;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,mGAAsC,CAAC,CAAC;IACnF,CAAC;IAAA,CAAC;IAEF,qCAAqC;IACrC,UAAU,CAAC,OAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,sFAAyB,CAAC,CAAC;IACtE,CAAC;IAAA,CAAC;IAGF,4BAA4B;IAC5B,WAAW;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9C,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,CAAC,EACC,GAAG,CAAC,EAAE;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IAIL,CAAC;IAAA,CAAC;IAIF,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,4BAA4B;IAC5B,+BAA+B;IAC/B,IAAI;IACJ,8CAA8C;IAC9C,yDAAyD;IACzD,4EAA4E;IAC5E,WAAW;IACX,iBAAiB;IACjB,uBAAuB;IACvB,YAAY;IACZ,aAAa;IACb,4BAA4B;IAC5B,yBAAyB;IACzB,iCAAiC;IACjC,+BAA+B;IAC/B,+BAA+B;IAC/B,aAAa;IAEb,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;IAIL,MAAM,CAAC,aAAsB,IAAI,EAAE,QAAiB;QAClD,IAAI,UAAU,EAAE;YACd,IAAI,OAAO,GAAa,IAAI,QAAQ,EAAE;YACtC,oCAAoC;YACpC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,kFAAqB,CAAC,CAAC,SAAS,CAErE,CAAC,IAAS,EAAE,EAAE;gBACV,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;iBAEnD;gBACD,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrC,CAAC,EAAC,CAAC,KAAU,EAAE,EAAE;gBACf,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrC,CAAC,CAEJ,CAAC;SACH;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,IAAI,mBAAmB,EAAE,OAAO,CAAC,CAAC;SACtE;QAED,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACnB,+DAA+D;YAC/D,uEAAuE;YACvE,sBAAsB;YACtB,uBAAuB;QACzB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElC,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,8FAAiC,CAAC,CAAC;IACzE,CAAC;;8EAvIU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAHZ,MAAM;;;;;;;;;;;;;;;;;;;;ACXsC;AACD;;;AAMpD,MAAM,aAAa;IAKxB,YACU,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAJvC,wGAAwG;QAExG,qBAAgB,GAAC,sFAA4B,CAAC;IAG1C,CAAC;IAEL,UAAU,CAAC,WAAe;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,wFAAwB,CAAC,CAAC;IACxE,CAAC;IACD,cAAc,CAAC,WAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,4FAA+B,CAAC,CAAC;IAC/E,CAAC;IACD,mBAAmB,CAAC,WAAe;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,2FAA8B,CAAC;IAC7E,CAAC;IACD,mBAAmB,CAAC,WAAe;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,2FAA8B,CAAC;IAC7E,CAAC;IAGD,WAAW,CAAC,WAAe;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,yFAA4B,CAAC;IAC3E,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,OAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,2FAA2B,CAAC,CAAC;IACxE,CAAC;IAAA,CAAC;IAEF,OAAO,CAAC,OAAY;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,qFAAqB,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,OAAY;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,uFAAuB,CAAC,CAAC;IACpE,CAAC;IACD,YAAY,CAAC,OAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,0FAA0B,CAAC,CAAC;IACvE,CAAC;IACD,cAAc,CAAC,OAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,4FAA4B,CAAC,CAAC;IACzE,CAAC;IACD,gBAAgB,CAAC,OAAY;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,6FAA6B,CAAC,CAAC;IAC1E,CAAC;;0EA9CU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;ACPiC;AAEY;AAEE;;;;;;AAS5D,MAAM,gBAAgB;IA4C3B,YACU,iBAAoC,EACpC,kBAAqC,EACrC,cAA6B,EAC7B,eAA+B;QAH/B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,mBAAc,GAAd,cAAc,CAAe;QAC7B,oBAAe,GAAf,eAAe,CAAgB;QAvC/B,kBAAa,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAEhE,aAAQ,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACzD,yBAAoB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAErE,oBAAe,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAChE,oBAAe,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAChE,wBAAmB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACpE,kBAAa,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC9D,uBAAkB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACnE,wBAAmB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACpE,iBAAY,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC7D,wBAAmB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QA8BlE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEjC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE;YAChC,sBAAsB;YACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC9B,6BAA6B;YAC7B,0BAA0B;QAC5B,CAAC,CAAC;IACJ,CAAC;IAlCD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAAA,CAAC;IACF,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAAA,CAAC;IACF,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAAA,CAAC;IACF,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAAA,CAAC;IACF,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAAA,CAAC;IACF,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAAA,CAAC;IAiBD,CAAC;IAEF,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE;YACjD,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;IACH,CAAC;IAED,qBAAqB,CACnB,YAAoB,EAAE,EACtB,UAAkB,EAAE;QAEpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;YACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,QAAQ,EAAE,uGAA0C,CAAC,CAAC,SAAS,CAAC;gBACzI,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;wBAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACnC;yBAAM;wBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACjC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;qBACzD;gBAGH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzD,CAAC;aACF,CAAC;SACH;IAEH,CAAC;IAAA,CAAC;IAEF,sBAAsB,CACpB,YAAoB,EAAE,EACtB,UAAkB,EAAE;QAEpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;YACnC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,QAAQ,EAAE,wGAA2C,CAAC,CAAC,SAAS,CAAC;gBAC3I,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;wBAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACpC;yBAAM;wBACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;qBACzD;gBACH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzD,CAAC;aACF,CAAC;SACH;IACH,CAAC;IAAA,CAAC;IAIF,kBAAkB;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,oGAAuC,CAAC,CAAC,SAAS,CAAC;YAC1H,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC;qBAAM;oBACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;iBACzD;YAGH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAErB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,CAAC;SACF,CAAC;IACJ,CAAC;IAAA,CAAC;IAGF,MAAM,CAAC,YAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,gGAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;gBACzH,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBACvC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzD,GAAG,CAAC,KAAK,CAAC,CAAC;iBACZ;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,0FAA0F;IAE5F,CAAC;IAAA,CAAC;IAEF,SAAS,CACP,WAA0B,OAAO,EACjC,YAAoB,EAAE,EACtB,UAAkB,EAAE;QAEpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAkB,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,mGAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAClH,qBAAqB;YAErB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aACzD;QAGH,CAAC,CAAC;IACJ,CAAC;IAAA,CAAC;IAEF,eAAe,CACb,WAA0B,OAAO,EACjC,YAAoB,EAAE,EACtB,UAAkB,EAAE;QAEpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,oBAAoB;QAEpB,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAkB,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,QAAQ,EAAE,oGAAuC,CAAC,CAAC,SAAS,CAAC;YACpI,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,oBAAoB;gBACpB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACpC;qBAAM;oBACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;iBACzD;YAGH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,CAAC;SACF,CAAC;IACJ,CAAC;IAAA,CAAC;IAGF,WAAW;QACT,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;SACvC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;SACjC;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE;SACzC;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE;SAC1C;IACH,CAAC;IAAA,CAAC;IAEF,cAAc;QACZ,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,GAAG,EAAE;gBACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,WAAW;QACT,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,6BAA6B;QAC7B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IACD,uBAAuB;QACrB,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,wCAAwC;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;;gFArSU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXpB;AACA;AAKA;AAEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;ICH4BA,6DAAAA;IAAuDA,qDAAAA;IAAaA,2DAAAA;;;;;IAA9BA,yDAAAA;IAAiBA,wDAAAA;IAAAA,gEAAAA;;;;;;IAG3DA,6DAAAA;IAAsEA,qDAAAA;IAAYA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAClHA,6DAAAA;IAAsDA,qDAAAA;IAAYA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAyC9FA,6DAAAA;IACIA,qDAAAA;IACJA,2DAAAA;;;;;;IAEAA,6DAAAA;IAEIA,qDAAAA;IAAqDA,2DAAAA;;;;;;IAP7DA,6DAAAA;IACIA,yDAAAA;IAIAA,yDAAAA;IAIJA,2DAAAA;;;;;IAR+BA,wDAAAA;IAAAA,yDAAAA;IAKtBA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAmBbA,6DAAAA;IAAoDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAA4C,CAA5C;IAChDA,6DAAAA;IACIA,wDAAAA,eAAmC,CAAnC,EAAmC,IAAnC;IACAA,6DAAAA;IAAoDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,gDAAV;IAAuC,CAAvC;IAApDA,2DAAAA;IAEAA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;;;;;IAHrCA,wDAAAA;IAAAA,yDAAAA,yBAAAA,4DAAAA;;;;;;;;IAMbA,6DAAAA;IAAkBA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mCAAT;IAA0B,CAA1B;IAChBA,wDAAAA;IACFA,2DAAAA;;;;;IADOA,wDAAAA;IAAAA,yDAAAA,yBAAAA,4DAAAA;;;;;;;;IAUXA,6DAAAA,eAA+D,CAA/D,EAA+D,QAA/D,EAA+D,EAA/D;IACiCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,4BAAT;IAA2B,CAA3B;IACgCA,qDAAAA;IAAWA,2DAAAA;;;;;IAApEA,wDAAAA;IAAAA,yDAAAA;;;;ADhFlB,MAAO0J,mBAAP,CAA0B;EAY9B3K,YACU4K,OADV,EAEUC,WAFV,EAGU3H,EAHV,EAIU4H,kBAJV,EAKUC,eALV,EAMUhD,kBANV,EAOUiD,yBAPV,EAO6D;IANnD;IACA;IACA;IACA;IACA;IACA;IACA;IAhBA,sBAAiB,IAAIX,wDAAJ,EAAjB;IACV,iBAAqB,KAArB;IACA,gBAAmB,mCAAnB;IACA,gBAAkB,KAAKU,eAAL,CAAqBE,QAArB,CAA8BC,QAA9B,EAAlB;IAKA,cAAc,EAAd;IAUE,KAAKH,eAAL,CAAqBE,QAArB,CAA8BxI,SAA9B,CAAwCC,GAAG,IAAE;MAC3C,IAAI,CAACA,GAAL,EAAU;QACR,KAAKqI,eAAL,CAAqBI,WAArB;MACD,CAFD,MAEO;QACL,KAAKF,QAAL,GAAcvI,GAAd;MACD;IACF,CAND;EAOD;;EAEDuC,QAAQ;IACN,KAAK8C,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB,KAAKoH,QAAL,GAAgBpH,KAAK,EAAEV,IAAP,EAAa+H,QAA7B;MACD;IAHgD,CAAnD;IAKA,KAAKC,IAAL,GAAY,KAAKpI,EAAL,CAAQgC,KAAR,CAAc;MACxBqG,MAAM,EAAE,CAAC,EAAD,EAAK,CAACzI,gEAAD,CAAL,CADgB;MAExB0I,iBAAiB,EAAE,CAAC,EAAD,EAAK,CAAC1I,gEAAD,CAAL,CAFK;MAGxB2I,aAAa,EAAE,CAAC,EAAD,EAAK,CAAC3I,gEAAD,CAAL,CAHS;MAIxB4I,eAAe,EAAE,CAAC,EAAD,EAAK,CAAC5I,gEAAD,CAAL,CAJO;MAKxB6I,QAAQ,EAAE,CAAC,EAAD,EAAK,CACb7I,gEADa,EACQyH,qFAA4B,CAC/C,MAD+C,EACvC;QAAEqB,kBAAkB,EAAE,MAAM;MAA5B,CADuC,CADpC,CAAL,CALc;MAUxBC,eAAe,EAAE,CAAC,EAAD,EAAK/I,gEAAL;IAVO,CAAd,EAWT;MACDgJ,SAAS,EAAExB,gFAAkB,CAAC,eAAD,EAAkB,iBAAlB,CAD5B,CACkE;;IADlE,CAXS,CAAZ;IAcAyB,UAAU,CAAC,MAAK;MACd,KAAKC,cAAL;IACD,CAFS,EAEP,GAFO,CAAV;IAGA,KAAKV,IAAL,CAAUW,GAAV,CAAc,QAAd,GAAyBC,YAAzB,CAAsCzJ,SAAtC,CAAiDgE,GAAD,IAAa;MAC3D,KAAK6E,IAAL,CAAUW,GAAV,CAAc,UAAd,GAA2BE,QAA3B,CAAoC1F,GAAG,CAAC2F,IAAxC;IACD,CAFD;EAID;;EAEDJ,cAAc;IACZ,MAAMK,QAAQ,GAAG,KAAKxB,WAAL,CAAiBnB,WAAjB,CAA6BwB,QAA7B,EAAjB;IACA,MAAMoB,SAAS,GAAGD,QAAQ,CAACE,QAA3B;IACA,KAAK7H,MAAL,GAAc4H,SAAS,CAACE,UAAV,CAAqB9H,MAAnC;;IACA,IAAI4H,SAAS,CAACE,UAAV,CAAqB9H,MAArB,IAA+B,CAA/B,IAAoC4H,SAAS,CAACE,UAAV,CAAqB9H,MAArB,IAA+B,CAAvE,EAA0E;MACxE,KAAKA,MAAL,GAAc,EAAd;MACA,KAAK+H,QAAL,GAAgBH,SAAS,CAACE,UAAV,CAAqBE,WAArC;MACA,KAAKhI,MAAL,GAAc4H,SAAS,CAACE,UAAV,CAAqB9H,MAAnC;MACA,KAAK4G,IAAL,CAAUqB,UAAV,CAAqB;QACnBpB,MAAM,EAAE,KAAKN,QAAL,CAAcR,MAAd,CAAqBmC,EAAE,IAAIA,EAAE,CAACC,EAAH,IAASP,SAAS,CAACE,UAAV,CAAqBM,OAAzD,EAAkE,CAAlE,CADW;QAEnBtB,iBAAiB,EAAEc,SAAS,CAACE,UAAV,CAAqBO,WAFrB;QAGnBtB,aAAa,EAAEa,SAAS,CAACE,UAAV,CAAqBQ,cAHjB;QAInBtB,eAAe,EAAEY,SAAS,CAACE,UAAV,CAAqBQ,cAJnB;QAKnBrB,QAAQ,EAAEW,SAAS,CAACE,UAAV,CAAqBJ,IALZ;QAMnBP,eAAe,EAAES,SAAS,CAACE,UAAV,CAAqBE;MANnB,CAArB,EAOG;QAAEO,SAAS,EAAE;MAAb,CAPH;;MAQA,IAAIX,SAAS,CAACE,UAAV,CAAqB9H,MAArB,IAA+B,CAAC4H,SAAS,CAACE,UAAV,CAAqBU,cAAzD,EAAyE;QACvE,KAAK5B,IAAL,CAAU6B,OAAV;MACD;IACF;EACF;;EAEqB,IAAlBC,kBAAkB;IACpB,OAAO,KAAK9B,IAAL,CAAU+B,QAAjB;EACD;;EACDC,YAAY,CAACC,KAAD,EAAQC,SAAR,EAAiB;IAC3B,MAAMC,QAAQ,GAAID,SAAS,IAAI,mCAAd,GAAqD,EAArD,GAA0DA,SAA3E;IACA,KAAKE,cAAL,CAAoBH,KAApB,EAA2BE,QAA3B;EACD;;EAEKC,cAAc,CAAC7L,IAAD,EAAO8L,UAAP,EAAiB;IAAA;;IAAA;MACnC,KAAI,CAACC,KAAL,GAAmB/L,IAAI,CAACgM,MAAL,CAAYC,KAAZ,CAAkB,CAAlB,CAAnB,CADmC,CAEnC;;MACA,MAAMC,OAAO,GAAG,KAAI,CAACH,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA4B,KAAI,CAACL,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,MAA5B,GAAsC,CAAjE,EAAoEC,WAApE,EAAhB;;MACA,IAAIJ,OAAO,IAAI,MAAX,IAAqBA,OAAO,IAAI,KAAhC,IAAyCA,OAAO,IAAI,KAAxD,EAA+D;QAC7D,KAAI,CAACK,YAAL,CAAkBC,aAAlB,CAAgCrK,KAAhC,GAAwC,EAAxC;;QACA,KAAI,CAAC4G,OAAL,CAAa0D,SAAb,CAAuB,4CAAvB,EAAqE,OAArE;;QACA;MACD;;MACD,IAAIC,YAAY,SAAS,KAAI,CAACzD,kBAAL,CAAwBlJ,YAAxB,CAAqC,KAAI,CAACgM,KAA1C,EAAiDD,UAAjD,CAAzB;;MACA,IAAIY,YAAY,CAACC,QAAb,IAAyB,CAA7B,EAAgC;QAC9B,KAAI,CAAC/B,QAAL,GAAgB8B,YAAY,CAACE,SAA7B;;QACA,KAAI,CAACnD,IAAL,CAAUqB,UAAV,CAAqB;UAAEd,eAAe,EAAE0C,YAAY,CAACE;QAAhC,CAArB,EAF8B,CAG9B;;MACD,CAJD,MAIO;QACL,KAAI,CAAC7D,OAAL,CAAa0D,SAAb,CAAuBC,YAAY,CAACG,OAApC,EAA6C,OAA7C;MACD;IAhBkC;EAiBpC;;EAEDC,gBAAgB;IAAA;;IACd,KAAKC,SAAL,GAAiB,IAAjB;;IACA,IAAI,KAAKtD,IAAL,CAAU5F,OAAd,EAAuB;MACrB;IACD;;IAED,IAAIU,YAAY,GAA4B;MAC1C9C,IAAI,EAAE;QACJuL,IAAI,EAAE,MADF;QAEJC,KAAK,EAAE,oBAFH;QAGJC,MAAM,EAAE,EAHJ;QAIJC,GAAG,EAAE,iGAJD;QAKJC,UAAU,EAAE,SALR;QAMJC,QAAQ,EAAE;MANN;IADoC,CAA5C;;IAWA,IAAIC,eAAe,GACjB,KAAKnE,yBAAL,CAA+B1E,IAA/B,CACEkE,kIADF,EAEEpE,YAFF,CADF;;IAKA+I,eAAe,CAACC,MAAhB,CAAuB3G,IAAvB,CACEgC,6CAAM,CAAE8C,KAAD,IAAU;MACf;MACA,OAAO,CAAC,CAACA,KAAT;IACD,CAHK,CADR,EAKE9K,SALF;MAAA,oKAKY,WAAO2M,MAAP,EAAiB;QAC3B,QAAQA,MAAM,CAACC,IAAf;UACE,KAAK,SAAL;YACEF,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;YACA,MAAMkJ,YAAY,GAAIC,MAAM,CAACC,IAAP,CAAY,MAAI,CAAClE,IAAL,CAAUtH,KAAtB,EAA6BkK,MAA7B,IAAuC,CAAxC,GAA6C,MAAI,CAAC5C,IAAL,CAAUtH,KAAvD,GAA+D,MAAI,CAACsH,IAAL,CAAUmE,WAAV,EAApF;YACA,MAAMC,OAAO,GAAG,IAAIvN,QAAJ,EAAhB;YACAuN,OAAO,CAACtN,MAAR,CAAe,MAAf,EAAuB,MAAI,CAACwL,KAA5B;YACA8B,OAAO,CAACtN,MAAR,CAAe,MAAf,EAAuB,QAAvB;YACAsN,OAAO,CAACtN,MAAR,CAAe,SAAf,EAA0B,MAAI,CAACqK,QAA/B;YACAiD,OAAO,CAACtN,MAAR,CAAe,SAAf,EAA0BkN,YAAY,CAAC/D,MAAb,CAAoBsB,EAA9C;YACA6C,OAAO,CAACtN,MAAR,CAAe,aAAf,EAA8BkN,YAAY,CAAC9D,iBAA3C;YACAkE,OAAO,CAACtN,MAAR,CAAe,gBAAf,EAAiCkN,YAAY,CAAC7D,aAA9C;YACAiE,OAAO,CAACtN,MAAR,CAAe,MAAf,EAAuBkN,YAAY,CAAC3D,QAApC;;YACA,MAAI,CAACd,WAAL,CAAiB8E,SAAjB,CAA2BD,OAA3B,EAAoCjN,SAApC,CAA8C;cAC5C2F,IAAI,EAAE1F,GAAD,IAAY;gBACjB,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAtB,EAA2B;kBACzB,IAAGlN,GAAG,CAACmN,QAAP,EAAgB;oBACd,MAAI,CAACjF,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAmC,OAAnC;kBACD,CAFD,MAEM,IAAG,CAAChM,GAAG,CAACmN,QAAL,IAAiB,CAACnN,GAAG,CAACoN,eAAzB,EAAyC;oBAC7C,MAAI,CAACC,YAAL;;oBACA,MAAI,CAACnF,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAqC,SAArC;kBACD,CAHK,MAGD;oBAEH;oBACA;oBACA;oBAEA,IAAIuB,QAAQ,GAAa,IAAI9N,QAAJ,EAAzB;oBACA8N,QAAQ,CAAC7N,MAAT,CAAgB,SAAhB,EAA2BkN,YAAY,CAAC/D,MAAb,CAAoBsB,EAA/C;oBACAoD,QAAQ,CAAC7N,MAAT,CAAgB,aAAhB,EAA+BkN,YAAY,CAAC9D,iBAA5C;oBACAyE,QAAQ,CAAC7N,MAAT,CAAgB,gBAAhB,EAAkCkN,YAAY,CAAC7D,aAA/C;oBACAwE,QAAQ,CAAC7N,MAAT,CAAgB,MAAhB,EAAwBkN,YAAY,CAAC3D,QAArC;;oBACA,MAAI,CAACd,WAAL,CAAiBqF,cAAjB,CAAgCD,QAAhC,EAA0CxN,SAA1C,CAAoD0N,IAAI,IAAG;sBACzD,IAAIA,IAAI,CAACP,UAAL,IAAmB,GAAvB,EAA4B;wBAC1B,IAAGO,IAAI,CAACN,QAAR,EAAiB;0BACf,MAAI,CAACjF,OAAL,CAAa0D,SAAb,CAAuB6B,IAAI,CAACzB,OAA5B,EAAoC,OAApC;wBACD,CAFD,MAEK;0BACH,MAAI,CAAC9D,OAAL,CAAaoF,WAAb,CAAyBG,IAAI,CAACzB,OAA9B,EAAsC,SAAtC;;0BACA,MAAI,CAACqB,YAAL;wBACD;sBACF,CAPD,MAOO;wBACL,MAAI,CAACnF,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;sBACD;oBACF,CAXD;kBAaD;gBAEF;cACF,CAnC6C;cAmC1C0B,KAAK,EAAGC,GAAD,IAAa;gBACtB,MAAI,CAACzF,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;cACD;YArC6C,CAA9C;;YAuCA;;UACF,KAAK,OAAL;YACES,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;YACA;QAtDJ;MAwDD,CA9DD;;MAAA;QAAA;MAAA;IAAA;EAgED;;EAED2J,YAAY;IACV,IAAIO,QAAQ,GAAa,IAAInO,QAAJ,EAAzB;IACA,KAAK0I,WAAL,CAAiB0F,cAAjB,CAAgCD,QAAhC,EAA0C7N,SAA1C,CAAoD+N,IAAI,IAAG;MACzD,IAAIA,IAAJ,EAAU;QACR,KAAKzI,kBAAL,CAAwB0I,kBAAxB,CACE;UAAE,CAAC,eAAD,GAAmBD,IAAI,CAACnF;QAA1B,CADF;QAGA,KAAKqF,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,EAJQ,CAKR;MACD;IACF,CARD;EASD;;EAEDC,OAAO,CAAC5M,KAAD,EAAU;IACf,IAAI6M,gBAAgB,GAA4B;MAAEvN,IAAI,EAAC;QAACwN,GAAG,EAAC9M;MAAL;IAAP,CAAhD;;IACA,IAAImL,eAAe,GAAE,KAAKnE,yBAAL,CAA+B1E,IAA/B,CAAuDoE,+FAAvD,EAAyEmG,gBAAzE,CAArB;EACD;;AApN6B;;;mBAAnBlG,qBAAmB1J,gEAAAA,CAAAA,gFAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,+DAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,6EAAAA,GAAAA,gEAAAA,CAAAA,mFAAAA,GAAAA,gEAAAA,CAAAA,2HAAAA;AAAA;;;QAAnB0J;EAAmB1D;EAAAC;IAAA;;;;;;;;;;;;;;;;;;MCnBhCjG,6DAAAA,cAAsC,CAAtC,EAAsC,MAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC;MAG0CA,qDAAAA;MAAyBA,2DAAAA;MACvDA,6DAAAA,cAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,QAAtB,EAAsB,CAAtB;MAKgBA,yDAAAA;MACJA,2DAAAA;MACAA,wDAAAA;MACAA,yDAAAA;MACAA,yDAAAA;MACAA,wDAAAA;MAEJA,2DAAAA;MAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,kBAC0C,EAD1C,EAC0C,MAD1C,EAC0C,CAD1C;MAGAA,6DAAAA;MAAmBA,qDAAAA;MAAoBA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MACvEA,wDAAAA;MAIJA,2DAAAA;MAEJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAGQA,wDAAAA,kBACgF,EADhF,EACgF,MADhF,EACgF,CADhF;MAGAA,6DAAAA;MAAmBA,qDAAAA;MAAeA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAClEA,wDAAAA;MAIJA,2DAAAA;MAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAGQA,wDAAAA,kBAE4B,EAF5B,EAE4B,MAF5B,EAE4B,CAF5B;MAIAA,6DAAAA;MAAmBA,qDAAAA;MAAuBA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAC1EA,yDAAAA;MAUJA,2DAAAA;MAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,kBACgC,EADhC,EACgC,MADhC,EACgC,CADhC;MAGAA,6DAAAA;MAAmBA,qDAAAA;MAAUA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAC7DA,wDAAAA;MAEJA,2DAAAA;MAEJA,6DAAAA,gBAA6B,EAA7B,EAA6B,GAA7B;MACOA,qDAAAA;MAAwBA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAC3DA,yDAAAA;MAQAA,yDAAAA;MAGAA,wDAAAA;MAIJA,2DAAAA;MACAA,6DAAAA,gBAAoB,EAApB,EAAoB,GAApB,EAAoB,EAApB;MACiCA,qDAAAA;MAAiDA,2DAAAA;MAElFA,yDAAAA;MAIJA,2DAAAA;;;;;;MApGFA,wDAAAA;MAAAA,yDAAAA;MAQ2CA,wDAAAA;MAAAA,yDAAAA;MAGQA,wDAAAA;MAAAA,yDAAAA;MACjBA,wDAAAA;MAAAA,yDAAAA;MACHA,wDAAAA;MAAAA,yDAAAA,iCAA2B,cAA3B,EAA2B,kBAA3B;MAWAA,wDAAAA;MAAAA,yDAAAA,4CAAsC,cAAtC,EAAsC,iCAAtC;MASsCA,wDAAAA;MAAAA,yDAAAA;MAItCA,wDAAAA;MAAAA,yDAAAA,wCAAkC,cAAlC,EAAkC,4BAAlC;MAUsCA,wDAAAA;MAAAA,yDAAAA;MAKjDA,wDAAAA;MAAAA,yDAAAA;MAmBWA,wDAAAA;MAAAA,yDAAAA,mCAA6B,cAA7B,EAA6B,uBAA7B;MAMfA,wDAAAA;MAAAA,yDAAAA;MAQFA,wDAAAA;MAAAA,yDAAAA;MAGaA,wDAAAA;MAAAA,yDAAAA,0CAAoC,cAApC,EAAoC,6BAApC;MAQ2BA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;AC/FF;AACT;;AAW9C,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAJzB,+DAAY;mIAIH,gBAAgB,mBANZ,uEAAmB,aAEhC,+DAAY,aAEL,uEAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ9B;AAEA;AAKA;AAKA;AACA;AACA;AAGA;;;;;;;;;;;;;;;;;;;;;;ICR4BA,6DAAAA;IAAyDA,qDAAAA;IAAaA,2DAAAA;;;;;IAA9DA,yDAAAA;IAAiDA,wDAAAA;IAAAA,gEAAAA;;;;;;IAG7DA,6DAAAA;IAAgFA,qDAAAA;IAAcA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAC9HA,6DAAAA;IAAgEA,qDAAAA;IAAcA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAS1GA,6DAAAA;IAAiEA,qDAAAA;IAAaA,2DAAAA;;;;;IAAtEA,yDAAAA;IAAyDA,wDAAAA;IAAAA,gEAAAA;;;;;;IAGrEA,6DAAAA;IAA+EA,qDAAAA;IAAgBA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAC/HA,6DAAAA;IAA+DA,qDAAAA;IAAgBA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAW7GA,6DAAAA;IAAsEA,qDAAAA;IAAaA,2DAAAA;;;;;IAA3EA,yDAAAA;IAA8DA,wDAAAA;IAAAA,gEAAAA;;;;;;IAShFA,6DAAAA,cAAoF,CAApF,EAAoF,KAApF,EAAoF,CAApF;IAEQA,wDAAAA,iBAA4F,CAA5F,EAA4F,MAA5F,EAA4F,CAA5F;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAAwBA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC3EA,wDAAAA;IAEJA,2DAAAA;;;;;IAFqBA,wDAAAA;IAAAA,yDAAAA,gDAAuC,cAAvC,EAAuC,qCAAvC;;;;;;IAUfA,6DAAAA;IAAsJA,qDAAAA;IAAcA,2DAAAA;;;;;;;IAA5JA,yDAAAA,yBAAmB,QAAnB,EAAmB,4LAAnB;IAA8IA,wDAAAA;IAAAA,gEAAAA;;;;;;IALhKA,6DAAAA,cAAsD,CAAtD,EAAsD,KAAtD,EAAsD,CAAtD,EAAsD,CAAtD,EAAsD,QAAtD,EAAsD,EAAtD,EAAsD,CAAtD,EAAsD,QAAtD,EAAsD,EAAtD;IAI8CA,qDAAAA;IAAoBA,2DAAAA;IACxDA,yDAAAA;IACFA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAoCA,qDAAAA;IAAsBA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAE1FA,wDAAAA;IAEJA,2DAAAA;;;;;IAPmDA,wDAAAA;IAAAA,yDAAAA;IAK9BA,wDAAAA;IAAAA,yDAAAA,qCAA4B,cAA5B,EAA4B,2BAA5B;;;;;;IASfA,6DAAAA;IAAqEA,qDAAAA;IAAcA,2DAAAA;;;;;IAA3EA,yDAAAA;IAA6DA,wDAAAA;IAAAA,gEAAAA;;;;;;IAL/EA,6DAAAA,cAAuH,CAAvH,EAAuH,KAAvH,EAAuH,CAAvH,EAAuH,CAAvH,EAAuH,OAAvH,EAAuH,EAAvH;IAE4CA,qDAAAA;IAAaA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACjFA,6DAAAA,kBAAqI,CAArI,EAAqI,QAArI,EAAqI,EAArI;IAC6BA,qDAAAA;IAAYA,2DAAAA;IACvCA,yDAAAA;IACFA,2DAAAA;IACAA,wDAAAA,gBAA+B,EAA/B,EAA+B,iBAA/B,EAA+B,EAA/B;IAIJA,2DAAAA;;;;;IANyDA,wDAAAA;IAAAA,yDAAAA;IAIpCA,wDAAAA;IAAAA,yDAAAA,wCAA+B,cAA/B,EAA+B,mBAA/B;;;;;;;;IAOrBA,6DAAAA,cAAyD,CAAzD,EAAyD,OAAzD,EAAyD,EAAzD;IACqFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,wBAAV;IAAwB,CAAxB;IAAjFA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAUA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC7DA,wDAAAA;IAEJA,2DAAAA;;;;;IAFqBA,wDAAAA;IAAAA,yDAAAA,sCAA4B,cAA5B,EAA4B,uBAA5B;;;;;;;;IAGrBA,6DAAAA,cAA0D,CAA1D,EAA0D,OAA1D,EAA0D,EAA1D;IACsFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAiBA,0DAAAA,+BAAjB;IAAsC,CAAtC;IAAlFA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAaA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAChEA,wDAAAA;IAEJA,2DAAAA;;;;;IAFqBA,wDAAAA;IAAAA,yDAAAA,uCAA6B,cAA7B,EAA6B,0BAA7B;;;;;;;;IAGrBA,6DAAAA,cAA6D,CAA7D,EAA6D,OAA7D,EAA6D,EAA7D;IACyFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAiBA,0DAAAA,gCAAjB;IAAuC,CAAvC;IAArFA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAYA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC/DA,wDAAAA;IAEJA,2DAAAA;;;;;IALkIA,wDAAAA;IAAAA,yDAAAA;IAG7GA,wDAAAA;IAAAA,yDAAAA,0CAAgC,cAAhC,EAAgC,qBAAhC;;;;;;IAGrBA,6DAAAA;IACIA,wDAAAA,iBAA0F,CAA1F,EAA0F,MAA1F,EAA0F,CAA1F;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAAIA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACvDA,wDAAAA;IAEJA,2DAAAA;;;;;IAFqBA,wDAAAA;IAAAA,yDAAAA,kCAAwB,cAAxB,EAAwB,iBAAxB;;;;;;IA6CjBA,6DAAAA;IAA4DA,qDAAAA;IAA0BA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;;;;;;IAsE9HA,sEAAAA;IACIA,6DAAAA,eAAoB,CAApB,EAAoB,KAApB,EAAoB,EAApB;IAC4CA,qDAAAA;IAA2BA,2DAAAA;IAGvEA,6DAAAA,cAA6B,CAA7B,EAA6B,KAA7B,EAA6B,CAA7B;IAEQA,wDAAAA,iBAA+G,CAA/G,EAA+G,MAA/G,EAA+G,CAA/G;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAAWA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC9DA,wDAAAA;IAEJA,2DAAAA;IAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;IAEQA,wDAAAA,kBAA8G,EAA9G,EAA8G,MAA9G,EAA8G,CAA9G;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAASA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC5DA,wDAAAA;IAEJA,2DAAAA;IAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;IAEQA,wDAAAA,kBAA+G,EAA/G,EAA+G,MAA/G,EAA+G,CAA/G;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAAKA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACxDA,wDAAAA;IAEJA,2DAAAA;IAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;IAEQA,wDAAAA,kBAAgH,EAAhH,EAAgH,MAAhH,EAAgH,CAAhH;IAEAA,6DAAAA;IAAmBA,qDAAAA;IAAMA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACzDA,wDAAAA;IAEJA,2DAAAA;IAGRA,oEAAAA;;;;;IAnC6BA,wDAAAA;IAAAA,yDAAAA,oDAA0C,cAA1C,EAA0C,uBAA1C;IAUAA,wDAAAA;IAAAA,yDAAAA,mDAAyC,cAAzC,EAAyC,sBAAzC;IAUAA,wDAAAA;IAAAA,yDAAAA,oDAA0C,cAA1C,EAA0C,kBAA1C;IAUAA,wDAAAA;IAAAA,yDAAAA,qDAA2C,cAA3C,EAA2C,mBAA3C;;;;;;;;IAuBzBA,6DAAAA;IAA2HA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,uCAAT;IAAsC,CAAtC;IAAwCA,qDAAAA;IAAWA,2DAAAA;;;;;IAA7EA,yDAAAA;;;;ADxQ/G,MAAO+P,uBAAP,CAA8B;EAuDlChR,YACU6H,YADV,EAEUoJ,eAFV,EAGUpG,WAHV,EAIUD,OAJV,EAKU1H,EALV,EAMUjD,KANV,EAOU8H,kBAPV,EAQUiD,yBARV,EASUkG,cATV,EAUUC,eAVV,EAUyC;IAT/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IA5DV,kBAAa,YAAb;IACA,YAAyB,KAAKjO,EAAL,CAAQgC,KAAR,CAAc;MACrCkM,OAAO,EAAE,CAAC,EAAD,EAAK,CAACtO,gEAAD,CAAL,CAD4B;MAErCuO,gBAAgB,EAAE,CAAC,EAAD,EAAK,CAACvO,gEAAD,CAAL,CAFmB;MAGrCwO,oBAAoB,EAAE,CAAC,EAAD,EAAK,CAACxO,gEAAD,CAAL,CAHe;MAIrCyO,eAAe,EAAE,CAAC,EAAD,EAAK,CAACzO,gEAAD,CAAL,CAJoB;MAKrC0O,kBAAkB,EAAE,CAAC,EAAD,CALiB;MAMrCC,aAAa,EAAE,CAAC;QAAEzN,KAAK,EAAE,EAAT;QAAa0N,QAAQ,EAAE;MAAvB,CAAD,EAAgC,CAAC5O,gEAAD,CAAhC,CANsB;MAOrC6O,WAAW,EAAE,CAAC,EAAD,EAAI,CAAC7O,gEAAD,CAAJ,CAPwB;MAQrC8O,qBAAqB,EAAE,CAAC,GAAD,EAAM,CAAC9O,gEAAD,CAAN,CARc;MASrC+O,iBAAiB,EAAE,CAAC;QAAE7N,KAAK,EAAE,EAAT;QAAa0N,QAAQ,EAAE;MAAvB,CAAD,EAAgC,CAAC5O,gEAAD,CAAhC,CATkB;MAUrCgP,gBAAgB,EAAE,CAAC;QAAE9N,KAAK,EAAE,EAAT;QAAa0N,QAAQ,EAAE;MAAvB,CAAD,EAAgC,CAAC5O,gEAAD,CAAhC,CAVmB;MAWrCiP,iBAAiB,EAAE,CAAC;QAAE/N,KAAK,EAAE,EAAT;QAAa0N,QAAQ,EAAE;MAAvB,CAAD,EAAgC,CAAC5O,gEAAD,CAAhC,CAXkB;MAYrCkP,kBAAkB,EAAE,CAAC;QAAEhO,KAAK,EAAE,EAAT;QAAa0N,QAAQ,EAAE;MAAvB,CAAD,EAAgC,CAAC5O,gEAAD,CAAhC,CAZiB;MAarCmP,wBAAwB,EAAE,CAAC,EAAD,CAbW;MAcrCC,qBAAqB,EAAE,CAAC,EAAD,EAAK,CAACpP,gEAAD,CAAL,CAdc;MAerCqP,oBAAoB,EAAE,CAAC,EAAD,EAAK,CAACrP,gEAAD,CAAL,CAfe;MAgBrCsP,qBAAqB,EAAE,CAAC,EAAD,EAAK,CAACtP,gEAAD,CAAL,CAhBc;MAiBrCuP,sBAAsB,EAAE,CAAC,EAAD,EAAK,CAACvP,gEAAD,CAAL,CAjBa;MAkBrCwP,OAAO,EAAE,CAAC,EAAD,CAlB4B;MAmBrCC,UAAU,EAAE,CAAC,EAAD,CAnByB;MAoBrCC,OAAO,EAAE,CAAC,EAAD,CApB4B;MAqBrCC,UAAU,EAAE,CAAC,EAAD,CArByB;MAsBrCC,UAAU,EAAE,CAAC,EAAD,CAtByB;MAuBrCC,aAAa,EAAE,CAAC,EAAD,EAAK,CAAC7P,gEAAD,CAAL,CAvBsB;MAwBrC8P,aAAa,EAAE,CAAC,EAAD,EAAK,CAAC9P,gEAAD,CAAL,CAxBsB;MAyBrC+P,QAAQ,EAAE,CAAC,EAAD,EAAK,CAAC/P,gEAAD,CAAL;IAzB2B,CAAd,CAAzB;IA2BU,6BAAwB,IAAIuH,wDAAJ,EAAxB;IACV,4BAAgC,KAAhC;IAEA,oBAAoB;MAAEoH,aAAa,EAAE,EAAjB;MAAqBQ,wBAAwB,EAAE,EAA/C;MAAmDM,UAAU,EAAE,EAA/D;MAAmEO,OAAO,EAAE,EAA5E;MAAgFR,OAAO,EAAE;IAAzF,CAApB;IACA,oBAAsB,CACpB;MAAEzF,EAAE,EAAE,CAAN;MAASwC,IAAI,EAAE,KAAf;MAAsBrL,KAAK,EAAE,WAA7B;MAA0C+O,OAAO,EAAE,IAAnD;MAAyDC,aAAa,EAAE;IAAxE,CADoB,EAEpB;MAAEnG,EAAE,EAAE,CAAN;MAASwC,IAAI,EAAE,MAAf;MAAuBrL,KAAK,EAAE,MAA9B;MAAsC+O,OAAO,EAAE,IAA/C;MAAqDC,aAAa,EAAE;IAApE,CAFoB,EAGpB;MAAEnG,EAAE,EAAE,CAAN;MAASwC,IAAI,EAAE,OAAf;MAAwBrL,KAAK,EAAE,eAA/B;MAAgD+O,OAAO,EAAE,IAAzD;MAA+DC,aAAa,EAAE;IAA9E,CAHoB,CAIpB;IAJoB,CAAtB;IAMA,qBAAuB,EAAvB;IACA,sBAAyB,EAAzB;IAOA,sBAAqB,CACnB;MAAChF,IAAI,EAAC,YAAN;MAAmBhK,KAAK,EAAC;IAAzB,CADmB,EAEnB;MAACgK,IAAI,EAAC,gBAAN;MAAuBhK,KAAK,EAAC;IAA7B,CAFmB,CAArB;EAgBE;;EAEGiB,QAAQ;IAAA;;IAAA;MACX,KAAI,CAAC8C,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;QACjD2F,IAAI,EAAGpE,KAAD,IAAe;UACnB,KAAI,CAACiP,cAAL,GAAsBjP,KAAK,EAAEV,IAAP,EAAa+H,QAAnC;UACA,KAAI,CAAC6H,UAAL,GAAgBlP,KAAK,EAAEV,IAAP,EAAa4P,UAA7B;QACD;MAJgD,CAAnD;;MAOA,KAAI,CAAC5H,IAAL,CAAUW,GAAV,CAAc,kBAAd,GAAmCC,YAAnC,CAAgDzJ,SAAhD,CAA0D0N,IAAI,IAAG;QAC/D;QACA,KAAI,CAAC+C,UAAL,GAAgB/C,IAAhB,CAF+D,CAG/D;QACA;QACE;;QACF,IAAIA,IAAI,IAAI,CAAZ,EAAe;UACb,KAAI,CAAC7E,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BE,QAA1B,CAAmC,KAAnC;UACA,KAAI,CAACb,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BkB,OAA1B;UACApB,UAAU,CAAC,MAAK;YACd;YACA,KAAI,CAACoH,cAAL;;YACA,KAAI,CAAC7H,IAAL,CAAU8H,aAAV,CAAwB,aAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAU8H,aAAV,CAAwB,UAAxB;UACD,CALS,EAKP,CALO,CAAV;;UAMA,KAAI,CAACjC,eAAL,CAAqBkC,kBAArB,CAAwC,GAAxC,EAA4C,KAAI,CAAC/H,IAAjD,EAAsD,CAAC,YAAD,EAAc,SAAd,CAAtD,EAA+ExI,gEAA/E;QACD,CAVD,MAUO;UACL,KAAI,CAACwI,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BqH,MAA1B;UACA,KAAI,CAAChI,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BE,QAA1B,CAAmC,EAAnC;;UACA,KAAI,CAACgF,eAAL,CAAqBkC,kBAArB,CAAwC,GAAxC,EAA4C,KAAI,CAAC/H,IAAjD,EAAsD,SAAtD,EAAgExI,gEAAhE;QACD,CApB8D,CAqB/D;;MAED,CAvBD;MAyBA,KAAI,CAACwI,IAAL,CAAUW,GAAV,CAAc,sBAAd,GAAuCC,YAAvC,CAAoDzJ,SAApD,CAA8D+N,IAAI,IAAG;QACnE,KAAI,CAAClF,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCE,QAArC,CAA8C,EAA9C;;QAEA,IAAIqE,IAAI,IAAI,EAAZ,EAAgB;UACd,KAAI,CAAClF,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCsH,aAArC,CAAmDzQ,gEAAnD;QACD,CAFD,MAEO;UACL,KAAI,CAACwI,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCuH,gBAArC,CAAsD1Q,gEAAtD;QACD;;QACD,KAAI,CAACwI,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCwH,sBAArC;MACD,CATD,EAjCW,CA4CX;;MACA,IAAI,KAAI,CAACR,cAAT,EAAyB;QACvB,IAAI,KAAI,CAACA,cAAL,GAAsB,CAA1B,EAA6B;UAAE,KAAI,CAACS,oBAAL,GAA4B,IAA5B;QAAmC;MACnE;;MAGD,KAAI,CAACC,SAAL,GAAiB,KAAI,CAAC1C,eAAL,CAAqB2C,QAArB,CAA8B1I,QAA9B,EAAjB;MACA,KAAI,CAAC2I,sBAAL,GAA8B,KAAI,CAAC5C,eAAL,CAAqB6C,oBAArB,CAA0C5I,QAA1C,EAA9B;MAEA,KAAI,CAAC6I,UAAL,GAAkB,KAAI,CAAClJ,WAAL,CAAiBmJ,WAAjB,CAA6B9I,QAA7B,EAAlB;;MACA,IAAI,KAAI,CAAC6I,UAAT,EAAqB;QACnB,KAAI,CAACzI,IAAL,CAAUqB,UAAV,CAAqB;UAAE0E,gBAAgB,EAAE,KAAI,CAAC0C,UAAL,CAAgBb,UAApC;UAAgD9B,OAAO,EAAE,KAAI,CAAC2C,UAAL,CAAgBlH;QAAzE,CAArB;MACD;;MAED,KAAI,CAACvB,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BC,YAA1B,CAAuCzJ,SAAvC,CAAiD+N,IAAI,IAAG;QACtD;QACA;QACA,IAAIA,IAAI,IAAK,KAAI,CAAClF,IAAL,CAAUW,GAAV,CAAc,kBAAd,GAAmCjI,KAAnC,IAA4C,CAAzD,EAA8D;UAC5D,KAAI,CAACsH,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BE,QAA7B,CAAsC,EAAtC;UACA,KAAI,CAACb,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BE,QAA1B,CAAmC,EAAnC;;UACA,KAAI,CAACb,IAAL,CAAU8H,aAAV,CAAwB,KAAxB;;UACA,IAAI5C,IAAI,IAAI,MAAZ,EAAoB;YAClB;YACA,KAAI,CAAClF,IAAL,CAAU8H,aAAV,CAAwB,SAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAU8H,aAAV,CAAwB,UAAxB;;YACA,KAAI,CAACa,gBAAL;;YACA,KAAI,CAAC3I,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BsH,aAA7B,CAA2CzQ,gEAA3C;;YACA,KAAI,CAACwI,IAAL,CAAU4I,UAAV,CAAqB,aAArB,EAAoC,KAAI,CAAChR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EACxDA,iEAAA,CAAqB,EAArB,CADwD,EAExDA,iEAAA,CAAqB,EAArB,CAFwD,CAApB,CAApC;UAID,CAVD,MAYK,IAAI0N,IAAI,IAAI,OAAZ,EAAqB;YACxB,KAAI,CAAClF,IAAL,CAAU8H,aAAV,CAAwB,aAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAU8H,aAAV,CAAwB,SAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BuH,gBAA7B,CAA8C1Q,gEAA9C;;YACA,KAAI,CAACwI,IAAL,CAAU4I,UAAV,CAAqB,UAArB,EAAiC,KAAI,CAAChR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EAAsBA,iEAAA,CAAqB,EAArB,CAAtB,EACrDA,iEAAA,CAAqB,EAArB,CADqD,EAC3ByH,qFAA4B,CACpD,SADoD,EAEpD;cACEqB,kBAAkB,EAAE,MAAM;YAD5B,CAFoD,CADD,CAApB,CAAjC;UAOD,CAXI,MAYA,IAAI4E,IAAI,IAAI,KAAZ,EAAmB;YACtB,KAAI,CAAClF,IAAL,CAAU8H,aAAV,CAAwB,aAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAU8H,aAAV,CAAwB,UAAxB;;YACA,KAAI,CAACD,cAAL;;YACA,KAAI,CAAC7H,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BuH,gBAA7B,CAA8C1Q,gEAA9C;UACD,CALI,MAOA;YACH,KAAI,CAACwI,IAAL,CAAU8H,aAAV,CAAwB,aAAxB;;YACA,KAAI,CAAC9H,IAAL,CAAU8H,aAAV,CAAwB,UAAxB;UAED;;UACD,KAAI,CAAC9H,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BwH,sBAA7B;QACD;MAEF,CA9CD,EA1DW,CAyGX;MACA;;MACA,IAAG,KAAI,CAACP,UAAL,IAAmB,CAAtB,EAAyB;QACvB,IAAIxQ,GAAG,SAAS,KAAI,CAACuR,gBAAL,EAAhB;;QACA,IAAIvR,GAAJ,EAAS;UACP,KAAI,CAAC4R,oBAAL;QACD;MACF,CALD,MAKK;QACH,KAAI,CAACA,oBAAL;MACD;IAlHU;EAqHZ;;EAEDC,eAAe;IACb,KAAKjJ,IAAL,CAAUW,GAAV,CAAc,eAAd,GAAgCqH,MAAhC;IACA,KAAKhI,IAAL,CAAUW,GAAV,CAAc,mBAAd,GAAoCqH,MAApC;IACA,KAAKhI,IAAL,CAAUW,GAAV,CAAc,kBAAd,GAAmCqH,MAAnC;IACA,KAAKhI,IAAL,CAAUW,GAAV,CAAc,mBAAd,GAAoCqH,MAApC;IACA,KAAKhI,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCqH,MAArC;EACD;;EACDkB,gBAAgB;IACd,KAAKlJ,IAAL,CAAUW,GAAV,CAAc,eAAd,GAAgCkB,OAAhC;IACA,KAAK7B,IAAL,CAAUW,GAAV,CAAc,mBAAd,GAAoCkB,OAApC;IACA,KAAK7B,IAAL,CAAUW,GAAV,CAAc,kBAAd,GAAmCkB,OAAnC;IACA,KAAK7B,IAAL,CAAUW,GAAV,CAAc,mBAAd,GAAoCkB,OAApC;IACA,KAAK7B,IAAL,CAAUW,GAAV,CAAc,oBAAd,GAAqCkB,OAArC;EACD;;EACDsH,aAAa,CAAClH,KAAD,EAAM;IACjB,IAAI,KAAKjC,IAAL,CAAUW,GAAV,CAAc,UAAd,GAA2ByI,KAA/B,EAAsC;MACpC,KAAKC,cAAL;IACD;EACF;;EACDC,cAAc,CAACrH,KAAD,EAAM;IAClB,IAAI,KAAKjC,IAAL,CAAUW,GAAV,CAAc,aAAd,GAA8ByI,KAAlC,EAAyC;MACvC,KAAKG,aAAL;IACD;EACF;;EAEDZ,gBAAgB;IACd,OAAO,IAAIlS,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAoB;MACrC,MAAMgO,QAAQ,GAAG,IAAI9N,QAAJ,EAAjB;MACA,KAAK0I,WAAL,CAAiBoJ,gBAAjB,CAAkChE,QAAlC,EAA4CxN,SAA5C,CAAsD+N,IAAI,IAAG;QAC3D,IAAIA,IAAI,IAAIA,IAAI,CAACZ,UAAL,IAAmB,GAA3B,IAAkCY,IAAI,CAAC9L,MAA3C,EAAmD;UACjD,KAAKoQ,aAAL,GAAqBtE,IAAI,CAAClN,IAA1B;QACD,CAFD,MAEO,CACL;QACD;;QACDtB,OAAO,CAAC,IAAD,CAAP;MACD,CAPD;IAQD,CAVM,CAAP;EAYD;;EACDsS,oBAAoB;IAClB,MAAMjI,QAAQ,GAAG,KAAKxB,WAAL,CAAiBnB,WAAjB,CAA6BwB,QAA7B,EAAjB;IACA,MAAMoB,SAAS,GAAGD,QAAQ,CAACE,QAA3B;;IACA,IAAID,SAAS,CAACyI,cAAd,EAA8B;MAC5B,MAAMvG,QAAQ,GAAGlC,SAAS,CAACyI,cAA3B,CAD4B,CAE5B;;MACA,KAAKzJ,IAAL,CAAUW,GAAV,CAAc,kBAAd,GAAmCE,QAAnC,CAA4CqC,QAAQ,CAACa,IAArD,EAA2D;QAAEpC,SAAS,EAAE;MAAb,CAA3D;MACA,KAAK+H,UAAL,GAAkB,YAAlB;MACAjJ,UAAU,CAAC,MAAK;QACd,KAAKT,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BE,QAA1B,CAAmCqC,QAAQ,EAAEgE,OAA7C,EADc,CAGd;;QACAzG,UAAU,CAAC,MAAK;UACd,KAAKT,IAAL,CAAUqB,UAAV,CAAqB;YACnB;YACA2E,oBAAoB,EAAE9C,QAAQ,CAACyG,QAFZ;YAGnBzD,kBAAkB,EAAEhD,QAAQ,EAAEgD,kBAHX;YAInBsB,OAAO,EAAEtE,QAAQ,EAAE0G,KAJA;YAKnBC,QAAQ,EAAE3G,QAAQ,EAAE0G,KALD;YAMnBE,WAAW,EAAE5G,QAAQ,EAAE0G,KANJ;YAOnBG,GAAG,EAAE7G,QAAQ,EAAE0G,KAPI;YAQnB;YACAzC,UAAU,EAAEjE,QAAQ,EAAEiE,UATH;YAUnBC,UAAU,EAAE,KAAKoC,aAAL,CAAmBrK,MAAnB,CAA0B6K,CAAC,IAAIA,CAAC,CAAC/U,KAAF,IAAWiO,QAAQ,EAAEiE,UAApD,EAAgE,CAAhE,GAAoEC,UAV7D;YAWnBjB,aAAa,EAAEjD,QAAQ,CAACR,IAXL;YAYnB2D,WAAW,EAAEnD,QAAQ,CAACmD,WAZH;YAanBC,qBAAqB,EAAEpD,QAAQ,CAAC2D,oBAAT,GAAgC,CAAhC,GAAoC,CAbxC;YAcnBN,iBAAiB,EAAErD,QAAQ,CAAC+G,YAdT;YAenBzD,gBAAgB,EAAEtD,QAAQ,CAACgH,WAfR;YAgBnBzD,iBAAiB,EAAEvD,QAAQ,CAACiH,QAhBT;YAiBnBzD,kBAAkB,EAAExD,QAAQ,CAACkH,SAjBV;YAkBnBxD,qBAAqB,EAAE1D,QAAQ,CAACmH,YAlBb;YAmBnBxD,oBAAoB,EAAE3D,QAAQ,CAACoH,WAnBZ;YAoBnBxD,qBAAqB,EAAE5D,QAAQ,CAACqH,QApBb;YAqBnBxD,sBAAsB,EAAE7D,QAAQ,CAACsH,SArBd;YAsBnBvD,UAAU,EAAE/D,QAAQ,CAAC+D,UAtBF;YAuBnBI,aAAa,EAAE,IAAIoD,IAAJ,CAASvH,QAAQ,EAAEmE,aAAnB,CAvBI;YAwBnBC,aAAa,EAACpE,QAAQ,EAAEoE,aAxBL;YAyBnBC,QAAQ,EAACrE,QAAQ,EAAEqE,QAzBA;YA0BnBtB,eAAe,EAAC/C,QAAQ,EAAE+C,eA1BP;YA2BnBU,wBAAwB,EAAG,KAAK0B,SAAL,CAAelJ,MAAf,CAAsBuL,CAAC,IAAIA,CAAC,CAACnJ,EAAF,IAAQ2B,QAAQ,CAACa,IAA5C,CAAD,CAAoD,CAApD,EAAuDrB;UA3B9D,CAArB,EA4BG;YAAEf,SAAS,EAAE;UAAb,CA5BH;;UA6BA,IAAIuB,QAAQ,CAAC0G,KAAb,EAAoB;YAClB,IAAI1G,QAAQ,CAAC9J,MAAT,IAAmB,CAAC8J,QAAQ,CAACtB,cAAjC,EAAiD;cAC/C,KAAK5B,IAAL,CAAU6B,OAAV,CAAkB;gBAAEF,SAAS,EAAE;cAAb,CAAlB;YACD;;YACD,KAAKyG,oBAAL,GAA4B,CAAClF,QAAQ,CAAC9J,MAAV,GAAmB,KAAnB,GAA2B,IAAvD;UACD;QACF,CApCS,EAoCP,CApCO,CAAV;MAqCD,CAzCS,EAyCP,CAzCO,CAAV,CAL4B,CA+C5B;IACD;EACF;;EAEDuR,YAAY;IAEV,IAAI,KAAK3K,IAAL,CAAUtH,KAAV,CAAgB8O,OAAhB,CAAwB5E,MAAxB,IAAkC,EAAlC,IAAwC,CAAC,KAAK5C,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BvG,OAAvE,EAAgF;MAC9E,IAAIwQ,OAAO,GAAG;QAAEhB,KAAK,EAAE,KAAK5J,IAAL,CAAUtH,KAAV,CAAgB8O;MAAzB,CAAd;MACA,KAAKjI,WAAL,CAAiBsL,aAAjB,CAA+BD,OAA/B,EAAwCzT,SAAxC,CAAkDC,GAAG,IAAG;QACtD,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAlB,IAAyBlN,GAAG,CAACgC,MAAjC,EAAyC;UACvC,MAAM0R,QAAQ,GAAG1T,GAAG,CAACY,IAArB,CADuC,CAEvC;;UACA,KAAKgI,IAAL,CAAUqB,UAAV,CAAqB;YACnB8E,aAAa,EAAE2E,QAAQ,CAAC3E,aADL;YAEnBQ,wBAAwB,EAAEmE,QAAQ,CAACnE,wBAFhB;YAGnBM,UAAU,EAAE6D,QAAQ,CAAC7D,UAHF;YAInBD,OAAO,EAAE8D,QAAQ,CAAC9D;UAJC,CAArB;UAMA,KAAK+D,YAAL,CAAkB5E,aAAlB,GAAkC2E,QAAQ,CAAC3E,aAA3C;UACA,KAAK4E,YAAL,CAAkBpE,wBAAlB,GAA6CmE,QAAQ,CAACnE,wBAAtD;UACA,KAAKoE,YAAL,CAAkB9D,UAAlB,GAA+B6D,QAAQ,CAAC7D,UAAxC;UACA,KAAK8D,YAAL,CAAkBvD,OAAlB,GAA4BsD,QAAQ,CAACE,KAArC;UACA,KAAKD,YAAL,CAAkB/D,OAAlB,GAA4B8D,QAAQ,CAAC9D,OAArC;UACA,KAAKiE,gBAAL,CAAsBH,QAAQ,CAAC9D,OAA/B,EAAwC5P,GAAxC,EAA6C,KAAK4I,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BjI,KAAvE;QACD,CAfD,MAeO;UACL,KAAK4G,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC,EADK,CAEL;;UACA,KAAKpD,IAAL,CAAU+B,QAAV,CAAmB,SAAnB,EAA8BlB,QAA9B,CAAuC,EAAvC;;UACA,IAAI,KAAK4H,UAAT,EAAqB;YACnB,KAAKzI,IAAL,CAAUqB,UAAV,CAAqB;cAAE0E,gBAAgB,EAAE,KAAK0C,UAAL,CAAgBb,UAApC;cAAgD9B,OAAO,EAAE,KAAK2C,UAAL,CAAgBlH;YAAzE,CAArB;UACD;;UACD,KAAKvB,IAAL,CAAUW,GAAV,CAAc,uBAAd,GAAwCU,UAAxC,CAAmD,CAAnD;QACD;MACF,CAzBD;IA0BD;EAGF;;EACD4J,gBAAgB,CAACjT,IAAD,EAAekT,KAAf,EAAsBC,WAAtB,EAAsC;IACpD,IAAIA,WAAW,IAAI,MAAf,IAAyBA,WAAW,IAAI,OAA5C,EAAqD;MACnD,IAAIC,QAAQ,GAAG,EAAf;MACA,IAAIC,KAAK,GAAG,EAAZ;MACA,IAAIC,GAAG,GAAG,EAAV;;MACA,IAAIH,WAAW,IAAI,MAAnB,EAA2B;QACzB,MAAMI,UAAU,GAAIL,KAAK,CAAClE,OAAN,CAAcwE,IAAd,EAAD,CAAuB7I,KAAvB,CAA6B,GAA7B,CAAnB;QACA0I,KAAK,GAAGE,UAAU,CAACA,UAAU,CAAC3I,MAAX,GAAoB,CAArB,CAAlB;QACA,MAAM6I,MAAM,GAAGF,UAAU,CAACA,UAAU,CAAC3I,MAAX,GAAoB,CAArB,CAAzB;QACA,MAAM8I,MAAM,GAAGD,MAAM,CAAC9I,KAAP,CAAa,GAAb,CAAf;QACA2I,GAAG,GAAGI,MAAM,CAACA,MAAM,CAAC9I,MAAP,GAAgB,CAAjB,CAAZ;;QACA,KAAK,IAAI+I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,UAAU,CAAC3I,MAAX,GAAoB,CAAxC,EAA2C+I,CAAC,EAA5C,EAAgD;UAC9CP,QAAQ,GAAGA,QAAQ,GAAG,GAAX,GAAiBG,UAAU,CAACI,CAAD,CAAtC;QACD;MAEF;;MACD,KAAK3L,IAAL,CAAUqB,UAAV,CAAqB;QACnBmF,gBAAgB,EAAE2E,WAAW,IAAI,OAAf,GAAyBD,KAAK,CAACI,GAA/B,GAAqCA,GADpC;QAEnB7E,iBAAiB,EAAE0E,WAAW,IAAI,OAAf,GAAyBD,KAAK,CAACU,IAA/B,GAAsCP,KAFtC;QAGnB3E,kBAAkB,EAAEyE,WAAW,IAAI,OAAf,GAAyBD,KAAK,CAACjW,KAA/B,GAAuCiW,KAAK,CAACW,UAH9C;QAInBtF,iBAAiB,EAAE4E,WAAW,IAAI,OAAf,GAA0BD,KAAK,EAAEY,IAAP,GAAcZ,KAAK,EAAEa,OAArB,GAA+Bb,KAAK,EAAEc,KAAhE,GAAyEZ,QAAQ,CAACI,IAAT;MAJzE,CAArB;IAMD,CArBD,MAqBO;MACL,MAAMS,QAAQ,GAAG,KAAK1M,WAAL,CAAiB2M,YAAjB,CAA8BlU,IAA9B,CAAjB;MACA,KAAKgI,IAAL,CAAUqB,UAAV,CAAqB;QACnBmF,gBAAgB,EAAEyF,QAAQ,CAACzF,gBADR;QAEnBC,iBAAiB,EAAEwF,QAAQ,CAACxF,iBAFT;QAGnBC,kBAAkB,EAAEuF,QAAQ,CAACvF,kBAHV;QAInBH,iBAAiB,EAAE0F,QAAQ,CAAC1F;MAJT,CAArB;IAMD;;IAED9F,UAAU,CAAC,MAAK;MACd,KAAK0L,sBAAL;IACD,CAFS,EAEP,IAFO,CAAV;EAGD;;EACDA,sBAAsB;IACpB;IACA;IACA,IAAI,KAAKnM,IAAL,CAAUtH,KAAV,CAAgB4N,qBAApB,EAA2C;MACzC,KAAKtG,IAAL,CAAUqB,UAAV,CAAqB;QACnByF,qBAAqB,EAAE,KAAK9G,IAAL,CAAU+B,QAAV,CAAmB,mBAAnB,EAAwCrJ,KAD5C;QAEnBmO,oBAAoB,EAAE,KAAK7G,IAAL,CAAU+B,QAAV,CAAmB,kBAAnB,EAAuCrJ,KAF1C;QAGnBqO,sBAAsB,EAAE,KAAK/G,IAAL,CAAU+B,QAAV,CAAmB,oBAAnB,EAAyCrJ,KAH9C;QAInBkO,qBAAqB,EAAE,KAAK5G,IAAL,CAAU+B,QAAV,CAAmB,mBAAnB,EAAwCrJ;MAJ5C,CAArB;IAMD,CAPD,MAOO;MACL,KAAKsH,IAAL,CAAUW,GAAV,CAAc,uBAAd,GAAwCE,QAAxC,CAAiD,EAAjD;MACA,KAAKb,IAAL,CAAUW,GAAV,CAAc,sBAAd,GAAuCE,QAAvC,CAAgD,EAAhD;MACA,KAAKb,IAAL,CAAUW,GAAV,CAAc,wBAAd,GAAyCE,QAAzC,CAAkD,EAAlD;MACA,KAAKb,IAAL,CAAUW,GAAV,CAAc,uBAAd,GAAwCE,QAAxC,CAAiD,EAAjD,EAJK,CAKL;MACA;MACA;MACA;IACD;EACF;;EACDuL,wBAAwB;IACtB,KAAKD,sBAAL;EACD;;EACDE,2BAA2B,CAACC,IAAD,EAAalJ,OAAb,EAA+BmJ,KAA/B,EAA0C;IAEnE;IACA,IAAI,KAAKvM,IAAL,CAAU+B,QAAV,CAAmB,SAAnB,GAA+BrJ,KAAnC,EAA0C;MACxC,MAAMwS,KAAK,GAAG,KAAK3L,WAAL,CAAiBiN,eAAjB,CAAiC,KAAKzB,YAAtC,EAAoD,KAAK/K,IAAL,CAAU+B,QAA9D,CAAd;;MACA,IAAImJ,KAAK,IAAIA,KAAK,CAACtI,MAAN,GAAe,CAA5B,EAA+B;QAC7B,KAAKtD,OAAL,CAAa0D,SAAb,CAAuBkI,KAAK,GAAG,iBAA/B,EAAkD,OAAlD;QACA;MACD;IACF;;IAGD,IAAItU,QAAQ,GAAG,IAAIC,QAAJ,EAAf;;IAEA,KAAK,MAAMgS,OAAX,IAAsB,KAAK7I,IAAL,CAAU+B,QAAhC,EAA0C;MAExCnL,QAAQ,CAACE,MAAT,CAAgB+R,OAAhB,EAAyB,KAAK7I,IAAL,CAAU+B,QAAV,CAAmB8G,OAAnB,EAA4BnQ,KAArD;IACD;;IAED,IAAIoC,YAAY,GAA4B;MAC1C9C,IAAI,EAAE;QACJuL,IAAI,EAAE,MADF;QAEJC,KAAK,EAAE,qBAFH;QAGJC,MAAM,EAAE,EAHJ;QAIJC,GAAG,EAAE,wGAJD;QAKJC,UAAU,EAAE,SALR;QAMJC,QAAQ,EAAE;MANN;IADoC,CAA5C;IAWA,KAAKC,eAAL,GACE,KAAKnE,yBAAL,CAA+B1E,IAA/B,CACEkE,kIADF,EAEEpE,YAFF,CADF;IAKA,KAAK+I,eAAL,CAAqBC,MAArB,CAA4B3G,IAA5B,CACEgC,6CAAM,CAAE8C,KAAD,IAAU;MACf;MACA,OAAO,CAAC,CAACA,KAAT;IACD,CAHK,CADR,EAKE9K,SALF,CAKa2M,MAAD,IAAW;MACrB,QAAQA,MAAM,CAACC,IAAf;QACE,KAAK,SAAL;UAGE;UACA,MAAM0I,QAAQ,GAAG,KAAKzM,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BjI,KAA3C;UACA,MAAMgU,MAAM,GAAGD,QAAQ,IAAI,MAAZ,GAAqBnQ,+FAArB,GAAuDmQ,QAAQ,IAAI,OAAZ,GACpEnQ,iGADoE,GAChCA,gGADtC;UAGA,KAAKiD,WAAL,CAAiBuN,iBAAjB,CAAmClW,QAAnC,EAA6C8V,MAA7C,EAAqDvV,SAArD,CAA+DC,GAAG,IAAG;YACnE,KAAKyM,eAAL,CAAqB5J,KAArB,CAA2Ba,YAA3B;;YACA,IAAI1D,GAAJ,EAAS;cACP,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAlB,IAAyBlN,GAAG,CAACgC,MAAjC,EAAyC;gBACvC,KAAK2T,eAAL,GADuC,CAEvC;;gBACA,IAAI,KAAKpF,cAAL,IAAuB,EAA3B,EAA+B;kBAC7B,KAAKlL,kBAAL,CAAwB0I,kBAAxB,CACE;oBAAE,CAAC,eAAD,GAAmB/N,GAAG,CAAC2I;kBAAzB,CADF;gBAGD;;gBACD,KAAKiN,qBAAL,CAA2B3H,IAA3B,CAAgC,IAAhC;gBACA,MAAMhH,QAAQ,GAAG,KAAK9B,YAAL,CAAkBvB,IAAlB,CAAuByK,6GAAvB,CAAjB,CATuC,CAUvC;;gBACA,KAAKhJ,kBAAL,CAAwBsQ,eAAxB,CACE;kBAAE,CAAC,eAAD,GAAmB3V,GAAG,CAAC6V;gBAAzB,CADF;gBAGA,KAAK1N,WAAL,CAAiB2N,oBAAjB,CAAsCpQ,IAAtC,CAA2C1F,GAAG,CAACY,IAA/C;gBACA,KAAKsH,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;cACD,CAhBD,MAgBO;gBACL,KAAK9D,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;cACD;YACF;UACF,CAvBD;UAyBA;;QACF,KAAK,OAAL;UACE;UACA,KAAKS,eAAL,CAAqB5J,KAArB,CAA2Ba,YAA3B;UACA;MAtCJ;IAwCD,CA9CD;EAgDD;;EAGDqS,gBAAgB;IACd,IAAIvW,QAAQ,GAAG,IAAIC,QAAJ,EAAf;;IACA,KAAK,MAAMgS,OAAX,IAAsB,KAAK7I,IAAL,CAAU+B,QAAhC,EAA0C;MACxCnL,QAAQ,CAACE,MAAT,CAAgB+R,OAAhB,EAAyB,KAAK7I,IAAL,CAAU+B,QAAV,CAAmB8G,OAAnB,EAA4BnQ,KAArD;IACD;;IACD,KAAK0U,SAAL,GAAiB,KAAK7N,WAAL,CAAiB8N,cAAjB,CAAgCzW,QAAhC,EAA0CO,SAA1C,CACf;MACE2F,IAAI,EAAGoI,IAAD,IAAc,CAClB;MACD;IAHH,CADe,CAAjB;EAOD;;EAEDoI,gBAAgB;IACd,IAAI1W,QAAQ,GAAG,IAAIC,QAAJ,EAAf;;IACA,KAAK,MAAMgS,OAAX,IAAsB,KAAK7I,IAAL,CAAU+B,QAAhC,EAA0C;MACxCnL,QAAQ,CAACE,MAAT,CAAgB+R,OAAhB,EAAyB,KAAK7I,IAAL,CAAU+B,QAAV,CAAmB8G,OAAnB,EAA4BnQ,KAArD;IACD;;IACD,KAAK6U,SAAL,GAAiB,KAAKhO,WAAL,CAAiBiO,cAAjB,CAAgC5W,QAAhC,EAA0CO,SAA1C,CACf;MACE2F,IAAI,EAAGoI,IAAD,IAAc,CACnB;IAFH,CADe,CAAjB;EAMD;;EAED6H,eAAe;IACb,IAAIU,OAAO,GAAQ,EAAnB;IACAA,OAAO,CAACtD,QAAR,GAAmB,KAAKnK,IAAL,CAAU+B,QAAV,CAAmB,mBAAnB,EAAwCrJ,KAA3D;IACA+U,OAAO,CAACvD,WAAR,GAAsB,KAAKlK,IAAL,CAAU+B,QAAV,CAAmB,kBAAnB,EAAuCrJ,KAA7D;IACA+U,OAAO,CAACrD,SAAR,GAAoB,KAAKpK,IAAL,CAAU+B,QAAV,CAAmB,oBAAnB,EAAyCrJ,KAA7D;IACA+U,OAAO,CAACxD,YAAR,GAAuB,KAAKjK,IAAL,CAAU+B,QAAV,CAAmB,mBAAnB,EAAwCrJ,KAA/D;IACA+U,OAAO,CAAC9D,QAAR,GAAmB,KAAK3J,IAAL,CAAU+B,QAAV,CAAmB,sBAAnB,EAA2CrJ,KAA9D;IACA+U,OAAO,CAACvH,kBAAR,GAA6B,KAAKlG,IAAL,CAAU+B,QAAV,CAAmB,oBAAnB,EAAyCrJ,KAAtE;IACA+U,OAAO,CAACpH,WAAR,GAAsB,KAAKrG,IAAL,CAAU+B,QAAV,CAAmB,aAAnB,EAAkCrJ,KAAxD;IACA+U,OAAO,CAAC7D,KAAR,GAAgB,KAAK5J,IAAL,CAAU+B,QAAV,CAAmB,SAAnB,GAA+BrJ,KAA/B,IAAwC,KAAKsH,IAAL,CAAU+B,QAAV,CAAmB,UAAnB,GAAgCrJ,KAAxE,IAAiF,KAAKsH,IAAL,CAAU+B,QAAV,CAAmB,aAAnB,GAAmCrJ,KAApH,IAA6H,KAAKsH,IAAL,CAAU+B,QAAV,CAAmB,KAAnB,GAA2BrJ,KAAxK,CATa,CAUb;IACA;IACA;;IACA+U,OAAO,CAACvG,OAAR,GAAkB,KAAKlH,IAAL,CAAU+B,QAAV,CAAmB,SAAnB,GAA+BrJ,KAAjD;IACA+U,OAAO,CAAC/K,IAAR,GAAe,KAAK1C,IAAL,CAAU+B,QAAV,CAAmB,eAAnB,EAAoCrJ,KAAnD;IACA+U,OAAO,CAAClD,QAAR,GAAmB,KAAKvK,IAAL,CAAU+B,QAAV,CAAmB,uBAAnB,EAA4CrJ,KAA/D;IACA+U,OAAO,CAACnD,WAAR,GAAsB,KAAKtK,IAAL,CAAU+B,QAAV,CAAmB,sBAAnB,EAA2CrJ,KAAjE;IACA+U,OAAO,CAACjD,SAAR,GAAoB,KAAKxK,IAAL,CAAU+B,QAAV,CAAmB,wBAAnB,EAA6CrJ,KAAjE;IACA+U,OAAO,CAACpD,YAAR,GAAuB,KAAKrK,IAAL,CAAU+B,QAAV,CAAmB,uBAAnB,EAA4CrJ,KAAnE;IACA+U,OAAO,CAACxG,UAAR,GAAqB,KAAKjH,IAAL,CAAU+B,QAAV,CAAmB,YAAnB,EAAiCrJ,KAAtD;IACA+U,OAAO,CAACrU,MAAR,GAAiB,CAAjB;IACAqU,OAAO,CAAC1J,IAAR,GAAe,KAAK/D,IAAL,CAAU+B,QAAV,CAAmB,kBAAnB,EAAuCrJ,KAAtD;IACA+U,OAAO,CAAC7L,cAAR,GAAyB,CAAzB;IACA6L,OAAO,CAACtG,UAAR,GAAqB,KAAKnH,IAAL,CAAU+B,QAAV,CAAmB,YAAnB,EAAiCrJ,KAAtD;IACA+U,OAAO,CAACrG,UAAR,GAAqB,KAAKpH,IAAL,CAAU+B,QAAV,CAAmB,YAAnB,EAAiCrJ,KAAtD;IACA,KAAK+D,kBAAL,CAAwBsQ,eAAxB,CACE;MAAE,CAAC,yBAAD,GAA6BU;IAA/B,CADF;IAGA,KAAKhR,kBAAL,CAAwB0I,kBAAxB,CACE;MAAE,CAAC,iBAAD,GAAqB,KAAKnF,IAAL,CAAU+B,QAAV,CAAmB,kBAAnB,EAAuCrJ;IAA9D,CADF;EAGD;;EACD6Q,aAAa;IACX,MAAM5E,QAAQ,GAAG,IAAI9N,QAAJ,EAAjB;IACA,MAAM6W,MAAM,GAAG,KAAKlE,aAAL,CAAmBrK,MAAnB,CAA0B6K,CAAC,IAAIA,CAAC,CAAC5C,UAAF,IAAgB,KAAKpH,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BjI,KAA5E,EAAmF,CAAnF,CAAf;IACA,KAAKsH,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BE,QAA7B,CAAsC6M,MAAM,CAACzY,KAA7C;IACA0P,QAAQ,CAAC7N,MAAT,CAAgB,YAAhB,EAA8B,KAAKkJ,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BjI,KAA3D;IACAiM,QAAQ,CAAC7N,MAAT,CAAgB,YAAhB,EAA8B4W,MAAM,CAACzY,KAArC;IACA0P,QAAQ,CAAC7N,MAAT,CAAgB,aAAhB,EAA+B,KAAKkJ,IAAL,CAAUW,GAAV,CAAc,aAAd,GAA8BjI,KAA7D;IACA,KAAKiV,cAAL,GAAsB,KAAKpO,WAAL,CAAiBgK,aAAjB,CAA+B5E,QAA/B,EAAyCxN,SAAzC,CAAmD+T,KAAK,IAAG;MAC/E,IAAIA,KAAK,IAAIA,KAAK,CAAC5G,UAAN,IAAoB,GAA7B,IAAoC4G,KAAK,CAAC9R,MAA9C,EAAsD;QACpD,KAAKwU,gBAAL,CAAsB1C,KAAK,CAAClT,IAA5B,EAAkC,KAAKgI,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BjI,KAA5D;MACD;IACF,CAJqB,CAAtB;EAKD;;EACD2Q,cAAc;IACZ,MAAM1E,QAAQ,GAAG,IAAI9N,QAAJ,EAAjB;IACA8N,QAAQ,CAAC7N,MAAT,CAAgB,SAAhB,EAA2B,KAAKkJ,IAAL,CAAUW,GAAV,CAAc,UAAd,GAA2BjI,KAAtD;IACA,KAAKmV,eAAL,GAAuB,KAAKtO,WAAL,CAAiB8J,cAAjB,CAAgC1E,QAAhC,EAA0CxN,SAA1C,CAAoD+T,KAAK,IAAG;MACjF,IAAIA,KAAK,IAAIA,KAAK,CAAC5G,UAAN,IAAoB,GAA7B,IAAoC4G,KAAK,CAAC9R,MAA9C,EAAsD;QACpD,KAAKwU,gBAAL,CAAsB1C,KAAK,CAAClT,IAAN,CAAW8V,YAAjC,EAA+C,KAAK9N,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BjI,KAAzE;MACD,CAFD,MAEO;QACL,KAAK4G,OAAL,CAAa0D,SAAb,CAAuBkI,KAAK,CAAC9H,OAA7B,EAAsC,OAAtC;MACD;IACF,CANsB,CAAvB;EAOD;;EACD2K,YAAY;IACV,MAAMpJ,QAAQ,GAAG,IAAI9N,QAAJ,EAAjB;IACA8N,QAAQ,CAAC7N,MAAT,CAAgB,OAAhB,EAAyB,KAAKkJ,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BjI,KAAnD;IACA,KAAK6G,WAAL,CAAiBsL,aAAjB,CAA+BlG,QAA/B,EAAyCxN,SAAzC,CAAmDC,GAAG,IAAG,CAExD,CAFD;EAGD;;EACDwW,gBAAgB,CAAC9C,QAAD,EAAgBK,WAAhB,EAAgC;IAC9C,IAAIA,WAAW,IAAI,MAAf,IAAyBA,WAAW,IAAI,OAA5C,EAAqD;MACnD,KAAKnL,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BuH,gBAA7B,CAA8C1Q,gEAA9C;MACA,KAAKwI,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BuH,gBAA1B,CAA2C1Q,gEAA3C,EAFmD,CAGnD;;MACA,KAAKwI,IAAL,CAAUW,GAAV,CAAc,YAAd,GAA6BwH,sBAA7B;MACA,KAAKnI,IAAL,CAAUW,GAAV,CAAc,SAAd,GAA0BwH,sBAA1B;IACD;;IACD,KAAKnI,IAAL,CAAUqB,UAAV,CAAqB;MACnB8E,aAAa,EAAEgF,WAAW,IAAI,OAAf,GAAyBL,QAAQ,CAACkD,kBAAlC,GAAuDlD,QAAQ,CAAC3E,aAD5D;MAEnBQ,wBAAwB,EAAEmE,QAAQ,EAAEnE,wBAFjB;MAGnBM,UAAU,EAAE6D,QAAQ,EAAE7D,UAHH;MAInBD,OAAO,EAAE8D,QAAQ,EAAE9D;IAJA,CAArB;IAMA,KAAK+D,YAAL,CAAkB5E,aAAlB,GAAkCgF,WAAW,IAAI,OAAf,GAAyBL,QAAQ,CAACkD,kBAAlC,GAAuDlD,QAAQ,CAAC3E,aAAlG;IACA,KAAK4E,YAAL,CAAkBpE,wBAAlB,GAA6CmE,QAAQ,EAAEnE,wBAAvD;IACA,KAAKoE,YAAL,CAAkB9D,UAAlB,GAA+B6D,QAAQ,EAAE7D,UAAzC;IACA,KAAK8D,YAAL,CAAkBvD,OAAlB,GAA4BsD,QAAQ,EAAEE,KAAtC;IACA,KAAKD,YAAL,CAAkB/D,OAAlB,GAA4B8D,QAAQ,EAAE9D,OAAtC;IACA,KAAKiE,gBAAL,CAAsBH,QAAQ,CAAC9D,OAA/B,EAAwC8D,QAAxC,EAAkDK,WAAlD;EACD;;EACD5M,WAAW;IACT,IAAI,KAAK6O,SAAT,EAAoB;MAClB,KAAKA,SAAL,CAAea,WAAf;IACD;;IAAA;;IAED,IAAI,KAAKV,SAAT,EAAoB;MAClB,KAAKA,SAAL,CAAeU,WAAf;IACD;;IAAA;;IAED,IAAI,KAAKN,cAAT,EAAyB;MACvB,KAAKA,cAAL,CAAoBM,WAApB;IACD;;IAAA;;IAED,IAAI,KAAKJ,eAAT,EAA0B;MACxB,KAAKA,eAAL,CAAqBI,WAArB;IACD;;IAAA;EACF;;EACDpG,cAAc;IACZ,KAAK7H,IAAL,CAAU4I,UAAV,CAAqB,SAArB,EAAgC,KAAKhR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EAAsBA,iEAAA,CAAqB,EAArB,CAAtB,EAAgDA,iEAAA,CAAqB,EAArB,CAAhD,EACpDyH,qFAA4B,CAC1B,OAD0B,EAE1B;MACEqB,kBAAkB,EAAE,MAAM;IAD5B,CAF0B,CADwB,CAApB,CAAhC;IAOA,KAAKN,IAAL,CAAUmI,sBAAV;EACD;;EACD+F,WAAW;IACT,KAAKlO,IAAL,CAAU4I,UAAV,CAAqB,UAArB,EAAiC,KAAKhR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EAAsBA,iEAAA,CAAqB,EAArB,CAAtB,EACrDA,iEAAA,CAAqB,EAArB,CADqD,EAC3ByH,qFAA4B,CACpD,SADoD,EAEpD;MACEqB,kBAAkB,EAAE,MAAM;IAD5B,CAFoD,CADD,CAApB,CAAjC;IAOA,KAAKN,IAAL,CAAU4I,UAAV,CAAqB,SAArB,EAAgC,KAAKhR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EAAsBA,iEAAA,CAAqB,EAArB,CAAtB,EAAgDA,iEAAA,CAAqB,EAArB,CAAhD,EACpDyH,qFAA4B,CAC1B,OAD0B,EAE1B;MACEqB,kBAAkB,EAAE,MAAM;IAD5B,CAF0B,CADwB,CAApB,CAAhC;IAOA,KAAKN,IAAL,CAAU4I,UAAV,CAAqB,aAArB,EAAoC,KAAKhR,EAAL,CAAQiR,OAAR,CAAgB,EAAhB,EAAoB,CAACrR,gEAAD,EACxDA,iEAAA,CAAqB,EAArB,CADwD,EAExDA,iEAAA,CAAqB,EAArB,CAFwD,CAApB,CAApC;EAMD;;AA5mBiC;;;mBAAvBkO,yBAAuB/P,gEAAAA,CAAAA,iEAAAA,GAAAA,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,gFAAAA,GAAAA,gEAAAA,CAAAA,+DAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,mFAAAA,GAAAA,gEAAAA,CAAAA,0HAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,2EAAAA;AAAA;;;QAAvB+P;EAAuB/J;EAAAwS;IAAAnB;EAAA;EAAAvO;EAAAC;EAAAC;EAAAC;IAAA;MCzBpCjJ,6DAAAA,cAAsB,CAAtB,EAAsB,MAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB;MAG0CA,qDAAAA;MAAeA,2DAAAA;MAC7CA,6DAAAA,cAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,QAAtB,EAAsB,CAAtB;MAKgBA,yDAAAA;MACJA,2DAAAA;MACAA,wDAAAA;MACAA,yDAAAA;MACAA,yDAAAA;MACAA,wDAAAA;MAEJA,2DAAAA;MAEJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B,EAA6B,EAA7B,EAA6B,QAA7B,EAA6B,EAA7B;MAIYA,yDAAAA;MACJA,2DAAAA;MACAA,wDAAAA;MACAA,yDAAAA;MACAA,yDAAAA;MACAA,wDAAAA;MAEJA,2DAAAA;MAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B,EAA6B,EAA7B,EAA6B,QAA7B,EAA6B,EAA7B,EAA6B,EAA7B,EAA6B,QAA7B,EAA6B,EAA7B;MAI+CA,qDAAAA;MAAwBA,2DAAAA;MAC7DA,yDAAAA;MACFA,2DAAAA;MACAA,wDAAAA;MACAA,6DAAAA;MAA+CA,qDAAAA;MAAkBA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAEjGA,wDAAAA;MAEJA,2DAAAA;MAEJA,yDAAAA;MAUAA,yDAAAA;MAcAA,yDAAAA;MAaJA,2DAAAA;MACAA,6DAAAA,gBAAsB,EAAtB,EAAsB,KAAtB,EAAsB,CAAtB;MAEQA,yDAAAA;MAOAA,yDAAAA;MAOAA,yDAAAA;MAOAA,yDAAAA;MAiBAA,6DAAAA;MACIA,wDAAAA,kBAAuG,EAAvG,EAAuG,MAAvG,EAAuG,CAAvG;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAcA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MACjEA,wDAAAA;MAEJA,2DAAAA;MAGJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,qBAAwH,EAAxH,EAAwH,MAAxH,EAAwH,CAAxH;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAqBA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MACxEA,wDAAAA;MAEJA,2DAAAA;MAGRA,6DAAAA,gBAAsB,EAAtB,EAAsB,KAAtB,EAAsB,EAAtB,EAAsB,EAAtB,EAAsB,KAAtB,EAAsB,EAAtB;MAEgDA,qDAAAA;MAAeA,2DAAAA;MAE3DA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAGQA,wDAAAA;MACAA,6DAAAA;MACIA,wDAAAA;MACJA,2DAAAA;MAEAA,wDAAAA;MACAA,yDAAAA;MACAA,wDAAAA;MAOJA,2DAAAA;MAEJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,kBAAuF,EAAvF,EAAuF,MAAvF,EAAuF,CAAvF;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAcA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MACjEA,wDAAAA;MAEJA,2DAAAA;MAEJA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,kBAAkF,EAAlF,EAAkF,MAAlF,EAAkF,CAAlF;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAYA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAC/DA,wDAAAA;MAEJA,2DAAAA;MAEJA,6DAAAA,gBAAsC,EAAtC,EAAsC,GAAtC,EAAsC,EAAtC,EAAsC,EAAtC,EAAsC,QAAtC,EAAsC,EAAtC;MAG0DA,qDAAAA;MAAIA,2DAAAA;MAI9DA,6DAAAA,gBAAoB,EAApB,EAAoB,KAApB,EAAoB,EAApB;MAC4CA,qDAAAA;MAAeA,2DAAAA;MAG3DA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,qBAA6G,GAA7G,EAA6G,MAA7G,EAA6G,CAA7G;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAWA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAItEA,6DAAAA,gBAA6B,GAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,mBAA0G,GAA1G,EAA0G,MAA1G,EAA0G,CAA1G;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAASA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAIpEA,6DAAAA,gBAA6B,GAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,mBAA2F,GAA3F,EAA2F,MAA3F,EAA2F,CAA3F;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAKA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAIhEA,6DAAAA,gBAA6B,GAA7B,EAA6B,KAA7B,EAA6B,CAA7B;MAEQA,wDAAAA,mBAA4F,GAA5F,EAA4F,MAA5F,EAA4F,CAA5F;MAEAA,6DAAAA;MAAmBA,qDAAAA;MAAMA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAGjEA,yDAAAA;MAiDAA,6DAAAA,gBAA6B,GAA7B,EAA6B,KAA7B,EAA6B,EAA7B,EAA6B,GAA7B,EAA6B,KAA7B,EAA6B,EAA7B,EAA6B,GAA7B,EAA6B,OAA7B,EAA6B,EAA7B;MAGoIA,yDAAAA;QAAA,OAAUkJ,8BAAV;MAAoC,CAApC;MAAxHlJ,2DAAAA;MACAA,6DAAAA,mBAAkD,GAAlD,EAAkD,QAAlD;MACUA,qDAAAA;MAAoCA,2DAAAA;MAASA,wDAAAA;MACrDA,6DAAAA;MAAMA,qDAAAA;MAAqDA,2DAAAA;MAOzEA,6DAAAA;MACIA,yDAAAA;MAEJA,2DAAAA;;;;;;;;;;;;MAlSNA,wDAAAA;MAAAA,yDAAAA;MAQ6DA,wDAAAA;MAAAA,yDAAAA;MAGVA,wDAAAA;MAAAA,yDAAAA;MACjBA,wDAAAA;MAAAA,yDAAAA;MACHA,wDAAAA;MAAAA,yDAAAA,2CAAqC,cAArC,EAAqC,2BAArC;MAQiCA,wDAAAA;MAAAA,yDAAAA;MAGbA,wDAAAA;MAAAA,yDAAAA;MACjBA,wDAAAA;MAAAA,yDAAAA;MACHA,wDAAAA;MAAAA,yDAAAA,0CAAoC,cAApC,EAAoC,6BAApC;MAU4BA,wDAAAA;MAAAA,yDAAAA;MAK5BA,wDAAAA;MAAAA,yDAAAA,+CAAyC,cAAzC,EAAyC,+BAAzC;MAIKA,wDAAAA;MAAAA,yDAAAA;MAUAA,wDAAAA;MAAAA,yDAAAA;MAcAA,wDAAAA;MAAAA,yDAAAA;MAgBGA,wDAAAA;MAAAA,yDAAAA;MAOAA,wDAAAA;MAAAA,yDAAAA;MAOAA,wDAAAA;MAAAA,yDAAAA;MAOAA,wDAAAA;MAAAA,yDAAAA;MAqBRA,wDAAAA;MAAAA,yDAAAA,wCAAkC,cAAlC,EAAkC,2BAAlC;MAUAA,wDAAAA;MAAAA,yDAAAA,sCAAgC,cAAhC,EAAgC,kCAAhC;MAYwEA,wDAAAA;MAAAA,yDAAAA;MAAlCA,yDAAAA,mCAAiC,aAAjC,EAAiCkJ,cAAjC,EAAiC,aAAjC,EAAiC,eAAjC;MAMnClJ,wDAAAA;MAAAA,yDAAAA;MACHA,wDAAAA;MAAAA,yDAAAA,wCAAkC,cAAlC,EAAkC,uCAAlC;MAcAA,wDAAAA;MAAAA,yDAAAA,wCAAkC,cAAlC,EAAkC,2BAAlC;MASAA,wDAAAA;MAAAA,yDAAAA,mCAA6B,cAA7B,EAA6B,yBAA7B;MA8CVA,wDAAAA;MAAAA,yDAAAA;MA+DYA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;AC/R2B;AACjB;;AAW9C,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAJ7B,+DAAY;mIAIH,oBAAoB,mBANhB,+EAAuB,aAEpC,+DAAY,aAEL,+EAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXlC;;;;;;;;;;;;;;;;;;ICmBcA,sEAAAA;IACEA,wDAAAA;IACFA,oEAAAA;;;;;;IAEEA,wDAAAA;;;;;;IAeFA,sEAAAA;IACEA,wDAAAA;IACFA,oEAAAA;;;;;;IAEEA,wDAAAA;;;;;;IAKJA,6DAAAA;IACEA,qDAAAA;IAAgCA,2DAAAA;;;;;;;;IAItCA,6DAAAA,cAAiE,CAAjE,EAAiE,QAAjE,EAAiE,EAAjE;IACoEA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,oBAAT;IAAmB,CAAnB;IAAqBA,qDAAAA;IAAYA,2DAAAA;;;;;;;;;;;;;;IA2B7FA,6DAAAA,eAA8E,CAA9E,EAA8E,OAA9E,EAA8E,EAA9E;IACsDA,qDAAAA;IAAkBA,2DAAAA;IACtEA,6DAAAA;IAAmEA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,qDAAb;IAC/E,CAD+E,EAAgD,eAAhD,EAAgD;MAAAA,4DAAAA;MAAA;MAAA,OAClGA,0DAAAA,qEAAoD,UAApD,EADkG;IACnC,CADb;IAAnEA,2DAAAA;;;;;IAAmEA,wDAAAA;IAAAA,yDAAAA,uDAAgD,gBAAhD,EAAgDA,8DAAAA,QAAhD,EAAgD,UAAhD,EAAgD,uEAAhD;;;;;;;;IAIrEA,6DAAAA,eAA8E,CAA9E,EAA8E,OAA9E,EAA8E,EAA9E;IACsDA,qDAAAA;IAAoBA,2DAAAA;IACxEA,6DAAAA;IAAmEA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,uDAAb;IAC/E,CAD+E,EAAkD,eAAlD,EAAkD;MAAAA,4DAAAA;MAAA;MAAA,OACpGA,0DAAAA,uEAAqD,YAArD,EADoG;IAClC,CADhB;IAAnEA,2DAAAA;;;;;IAAmEA,wDAAAA;IAAAA,yDAAAA,yDAAkD,gBAAlD,EAAkDA,8DAAAA,QAAlD,EAAkD,UAAlD,EAAkD,uEAAlD;;;;;;;;IAqCnFA,6DAAAA;IACmCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAWA,0DAAAA,2BAAX;IAA4B,CAA5B,EAA6B,WAA7B,EAA6B;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,iBAAQ,IAAR,EAAd;IAA2B,CAAxD,EAA6B,oBAA7B,EAA6B;MAAAA,4DAAAA;MAAA;MAAA,OACxCA,0DAAAA,8BADwC;IACpB,CADT;IACgDA,2DAAAA;;;;IAFnEA,yDAAAA,cAAY,OAAZ,EAAY,oBAAZ,EAAY,SAAZ,EAAY,uCAAZ,EAAY,eAAZ,EAAY,cAAZ,EAAY,gBAAZ,EAAY,iBAAZ;;;;ADrGZ,MAAOyY,sBAAP,CAA6B;EAqBjC1Z,YACU2Z,MADV,EAEU7R,UAFV,EAGU5H,cAHV,EAIU0Z,aAJV,EAKU7R,kBALV,EAMU5E,qBANV,EAMqD;IAL3C;IACA;IACA;IACA;IACA;IACA;IA1BV,mBAAuB,KAAvB;IAIU,uBAAkB,IAAIkH,wDAAJ,EAAlB;IAGV,gBAAoB,KAApB;IACA,uBAAuB;MACrBwP,kBAAkB,EAAE,IADC;MAErBC,oBAAoB,EAAE,IAFD;MAGrBC,aAAa,EAAE,IAHM;MAIrBC,gBAAgB,EAAE,IAJG;MAKrBC,YAAY,EAAE;IALO,CAAvB;IAoBC,IAAI3W,IAAI,GAAG,KAAKwE,UAAL,CAAgBoS,YAAhB,CAA6BhP,QAA7B,EAAX;;IACE,IAAG5H,IAAI,IAAI,EAAX,EAAc;MACb,KAAK6W,iBAAL;IACA,CAFD,MAGI;MACH,KAAKC,eAAL,GAAuB9W,IAAvB;IACA;;IAGF,KAAK+W,aAAL;EACD;;EAECF,iBAAiB;IACf,KAAKG,YAAL,GAAoB,KAAKxS,UAAL,CAAgByS,qBAAhB,CAAsC,IAAtC,EAA4C9X,SAA5C,CACpB;MACE2F,IAAI,EAAGoI,IAAD,IAAc;QAClB,IAAGA,IAAI,CAACZ,UAAL,IAAmB,GAAtB,EAA0B;UACxB,KAAKwK,eAAL,CAAqBP,kBAArB,GAA0CrJ,IAAI,EAAElN,IAAN,EAAYuW,kBAAtD;UACA,KAAKO,eAAL,CAAqBN,oBAArB,GAA4CtJ,IAAI,EAAElN,IAAN,EAAYwW,oBAAxD;UACA,KAAKM,eAAL,CAAqBL,aAArB,GAAqCvJ,IAAI,EAAElN,IAAN,EAAYyW,aAAjD;UACA,KAAKK,eAAL,CAAqBJ,gBAArB,GAAwCxJ,IAAI,EAAElN,IAAN,EAAY0W,gBAApD;UACA,KAAKI,eAAL,CAAqBH,YAArB,GAAoCzJ,IAAI,EAAElN,IAAN,EAAY2W,YAAhD;UACA,KAAKnS,UAAL,CAAgBoS,YAAhB,CAA6B9R,IAA7B,CAAkC,KAAKgS,eAAvC;QACD,CAPD,MAOO;UACL,KAAKT,MAAL,CAAYrL,SAAZ,CAAsBkC,IAAI,CAAC9B,OAA3B,EAAoC,OAApC;QAED;MACF,CAbH;MAcE0B,KAAK,EAAGC,GAAD,IAAa;QAClB,KAAKsJ,MAAL,CAAYrL,SAAZ,CAAsB+B,GAAG,CAAC3B,OAA1B,EAAmC,OAAnC;MAED;IAjBH,CADoB,CAApB;EAqBD;;EAEHzJ,QAAQ,IAAW;;EACnBoV,aAAa;IACX,KAAKtS,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB;QACA,KAAKwW,aAAL,GAAqBxW,KAAK,EAAEV,IAA5B;MACD;IAJgD,CAAnD;EAMD;;EACDmX,iBAAiB;IAEf,IAAI,KAAKC,QAAT,EAAmB;MACjB,IAAIzK,QAAQ,GAAG,IAAI9N,QAAJ,EAAf;MACA8N,QAAQ,CAAC7N,MAAT,CAAgB,sBAAhB,EAAyC,KAAKuY,aAAL,IAAsBC,SAAtB,GAAiC,KAAKR,eAAL,CAAqBN,oBAAtD,GAA2E,KAAKa,aAAzH;MACA1K,QAAQ,CAAC7N,MAAT,CAAgB,oBAAhB,EAAwC,KAAKyY,WAAL,IAAoBD,SAApB,GAA+B,KAAKR,eAAL,CAAqBP,kBAApD,GAAuE,KAAKgB,WAApH;MACA5K,QAAQ,CAAC7N,MAAT,CAAgB,eAAhB,EAAmC,KAAK0Y,MAAL,IAAeF,SAAf,GAA0B,KAAKR,eAAL,CAAqBL,aAA/C,GAA6D,KAAKe,MAArG;MACA7K,QAAQ,CAAC7N,MAAT,CAAgB,cAAhB,EAAkC,KAAK2Y,KAAL,IAAcH,SAAd,GAAyB,KAAKR,eAAL,CAAqBH,YAA9C,GAA2D,KAAKc,KAAlG;MACA9K,QAAQ,CAAC7N,MAAT,CAAgB,kBAAhB,EAAsC,KAAK4Y,SAAL,IAAkBJ,SAAlB,GAA6B,KAAKR,eAAL,CAAqBJ,gBAAlD,GAAmE,KAAKgB,SAA9G;MACA,KAAKlT,UAAL,CAAgByS,qBAAhB,CAAsCtK,QAAtC,EAAgDxN,SAAhD,CACA;QACE2F,IAAI,EAAGoI,IAAD,IAAc;UAClB,IAAGA,IAAI,CAACZ,UAAL,IAAmB,GAAtB,EAA0B;YACxB,KAAK+J,MAAL,CAAY3J,WAAZ,CAAwBQ,IAAI,CAAC9B,OAA7B,EAAsC,SAAtC;YACA,KAAK0L,eAAL,CAAqBP,kBAArB,GAA0CrJ,IAAI,EAAElN,IAAN,EAAYuW,kBAAtD;YACA,KAAKO,eAAL,CAAqBN,oBAArB,GAA4CtJ,IAAI,EAAElN,IAAN,EAAYwW,oBAAxD;YACA,KAAKM,eAAL,CAAqBL,aAArB,GAAqCvJ,IAAI,EAAElN,IAAN,EAAYyW,aAAjD;YACA,KAAKK,eAAL,CAAqBJ,gBAArB,GAAwCxJ,IAAI,EAAElN,IAAN,EAAY0W,gBAApD;YACA,KAAKI,eAAL,CAAqBH,YAArB,GAAoCzJ,IAAI,EAAElN,IAAN,EAAY2W,YAAhD;YACA,KAAKnS,UAAL,CAAgBoS,YAAhB,CAA6B9R,IAA7B,CAAkC,KAAKgS,eAAvC;YACA,KAAKa,eAAL,CAAqBtK,IAArB,CAA0B,CAA1B;YACA,KAAK5I,kBAAL,CAAwB0I,kBAAxB,CAA2C;cAAE,CAAC,eAAD,GAAmB;YAArB,CAA3C;UACD,CAVD,MAUO;YACL,KAAKkJ,MAAL,CAAYrL,SAAZ,CAAsBkC,IAAI,CAAC9B,OAA3B,EAAoC,OAApC;UACD;QACF,CAfH;QAgBE0B,KAAK,EAAGC,GAAD,IAAa;UAClB,KAAKsJ,MAAL,CAAYrL,SAAZ,CAAsB+B,GAAG,CAAC3B,OAA1B,EAAmC,OAAnC;QACD;MAlBH,CADA;IAsBD,CA7BD,MA6BK;MACH,KAAKuM,eAAL,CAAqBtK,IAArB,CAA0B,CAA1B,EADG,CAEH;;MACA,KAAK5I,kBAAL,CAAwB0I,kBAAxB,CAA2C;QAAE,CAAC,eAAD,GAAmB;MAArB,CAA3C,EAHG,CAIH;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;IACD;EAEF;;EACDyK,QAAQ;IACN,IAAIjL,QAAQ,GAAa,IAAI9N,QAAJ,EAAzB;IACA,KAAKyX,aAAL,CAAmBuB,YAAnB,CAAgClL,QAAhC,EAA0CxN,SAA1C,CAAqDC,GAAD,IAAQ;MAC1D0Y,OAAO,CAACC,GAAR,CAAY3Y,GAAZ;;MACA,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAlB,IAAyBlN,GAAG,CAACgC,MAAjC,EAAyC;QACvC,IAAI,CAAC,KAAK4W,WAAV,EAAuB;UACrB,KAAKC,YAAL;QACD;;QACD,KAAK5B,MAAL,CAAY3J,WAAZ,CAAwBtN,GAAG,CAACgM,OAA5B,EAAqC,SAArC;MACD,CALD,MAKO;QACL,KAAKiL,MAAL,CAAYrL,SAAZ,CAAsB5L,GAAG,CAACgM,OAA1B,EAAmC,OAAnC;MACD;IACF,CAVD;EAWD;;EACK8M,OAAO,CAACC,SAAD,EAAmB;IAAA;;IAAA;MAC9B,KAAI,CAACH,WAAL,GAAmBG,SAAnB;;MACA,KAAI,CAACP,QAAL;IAF8B;EAG/B;;EACDQ,SAAS,CAACC,GAAD,EAAS;IAChB,IAAI,CAACA,GAAL,EAAU;MACR,KAAKhC,MAAL,CAAYiC,QAAZ,CAAqB,kBAArB,EAAyC,MAAzC;MACA;IACD;;IACD,MAAMtY,IAAI,GAAG,IAAInB,QAAJ,EAAb;IACAmB,IAAI,CAAClB,MAAL,CAAY,KAAZ,EAAmBuZ,GAAnB;IACA,KAAK/B,aAAL,CAAmBiC,cAAnB,CAAkCvY,IAAlC,EAAwCb,SAAxC,CAAmDC,GAAD,IAAa;MAC7D,IAAIA,GAAG,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAzB,IAAgClN,GAAG,CAACgC,MAAxC,EAAgD;QAC9C,KAAKkC,kBAAL;QACA,KAAK+S,MAAL,CAAY3J,WAAZ,CAAwBtN,GAAG,CAACgM,OAA5B,EAAqC,SAArC;QACA,KAAK3G,kBAAL,CAAwB0I,kBAAxB,CAA2C;UACzC,CAAC,mBAAD,GAAuB;QADkB,CAA3C;QAGA,KAAK4J,aAAL;MACD,CAPD,MAOO;QACL,KAAKV,MAAL,CAAYrL,SAAZ,CAAsB5L,GAAG,CAACgM,OAA1B,EAAmC,OAAnC;MACD;IACF,CAXD;EAYD;;EACD9H,kBAAkB,CAACI,MAAD,EAA6B;IAC7C,KAAKX,WAAL,CAAiBd,KAAjB,CAAuB,KAAKa,YAA5B;EACD;;EACDmV,YAAY;IACV,KAAKnV,YAAL,GAAoB,EAApB;IACA,KAAKC,WAAL,GAAmB,KAAKlD,qBAAL,CAA2BmD,IAA3B,CACjB,KAAKC,aADY,EAEjB,EAFiB,EAGjB,KAAKH,YAHY,CAAnB;IAKA,KAAKC,WAAL,CAAiBG,YAAjB,CAA8B/D,SAA9B,CAAyCgE,GAAD,IAAQ;MAC9C,IAAIA,GAAG,CAAC4I,IAAJ,IAAY,IAAhB,EAAsB,CACrB,CADD,MACO,CACN;IACF,CAJD;EAKD;;EAEDyM,eAAe,CAACpX,MAAD,EAAc2K,IAAd,EAAuB;IACpC,KAAKqL,QAAL,GAAgB,IAAhB;IACA,IAAIrL,IAAI,KAAK,UAAb,EAAyB,KAAKwL,WAAL,GAAmBnW,MAAM,GAAG,CAAH,GAAO,CAAhC;IACzB,IAAI2K,IAAI,KAAK,YAAb,EAA2B,KAAKsL,aAAL,GAAqBjW,MAAM,GAAG,CAAH,GAAO,CAAlC;IAC3B,IAAI2K,IAAI,KAAK,KAAb,EAAoB,KAAKyL,MAAL,GAAcpW,MAAM,GAAG,CAAH,GAAO,CAA3B;IACpB,IAAI2K,IAAI,KAAK,IAAb,EAAmB,KAAK0L,KAAL,GAAarW,MAAM,GAAG,CAAH,GAAO,CAA1B;IACnB,IAAI2K,IAAI,KAAK,QAAb,EAAuB,KAAK2L,SAAL,GAAiBtW,MAAM,GAAG,CAAH,GAAO,CAA9B;EACxB;;EAEDmF,WAAW;IACT,IAAI,KAAKyQ,YAAT,EAAuB;MACrB,KAAKA,YAAL,CAAkBf,WAAlB;IACD;EACF;;AA/LgC;;;mBAAtBG,wBAAsBzY,gEAAAA,CAAAA,gFAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA,GAAAA,gEAAAA,CAAAA,qEAAAA,GAAAA,gEAAAA,CAAAA,mFAAAA,GAAAA,gEAAAA,CAAAA,kHAAAA;AAAA;;;QAAtByY;EAAsBzS;EAAAC;IAAA;;;;;;;;;;;;;;;;;;MCzBnCjG,6DAAAA,cAAuB,CAAvB,EAAuB,MAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB;MAGoCA,qDAAAA;MAAeA,2DAAAA;MAC7CA,6DAAAA,cAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,KAAtB,EAAsB,CAAtB,EAAsB,CAAtB,EAAsB,OAAtB,EAAsB,CAAtB;MAG0EA,yDAAAA;QAAA;MAAA;MAApEA,2DAAAA;MAEAA,wDAAAA;MACAA,6DAAAA;MAAmBA,qDAAAA;MAAaA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAKpEA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B,EAA6B,EAA7B,EAA6B,OAA7B,EAA6B,EAA7B;MAEwEA,yDAAAA;QAAA;MAAA;MAApEA,2DAAAA;MAEAA,6DAAAA;MACEA,yDAAAA;MAGAA,yDAAAA,oFAAAA,qEAAAA;MAGFA,2DAAAA;MACAA,wDAAAA;MACAA,6DAAAA;MAAmBA,qDAAAA;MAAaA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAMpEA,6DAAAA,eAA6B,EAA7B,EAA6B,KAA7B,EAA6B,CAA7B,EAA6B,EAA7B,EAA6B,OAA7B,EAA6B,EAA7B;MAEwEA,yDAAAA;QAAA;MAAA;MAApEA,2DAAAA;MAEAA,6DAAAA;MACEA,yDAAAA;MAGAA,yDAAAA,oFAAAA,qEAAAA;MAGFA,2DAAAA;MACAA,wDAAAA;MACAA,6DAAAA;MAAmBA,qDAAAA;MAASA,6DAAAA;MAA+BA,qDAAAA;MAACA,2DAAAA;MAC5DA,yDAAAA;MAEFA,2DAAAA;MAGFA,yDAAAA;MAIAA,6DAAAA,gBAA8B,EAA9B,EAA8B,KAA9B,EAA8B,EAA9B,EAA8B,EAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,OAA9B,EAA8B,EAA9B;MAG+BA,qDAAAA;MAAyBA,2DAAAA;MAClDA,6DAAAA,gBAAgC,EAAhC,EAAgC,KAAhC,EAAgC,EAAhC,EAAgC,EAAhC,EAAgC,OAAhC,EAAgC,EAAhC;MAEwDA,qDAAAA;MAAiBA,2DAAAA;MACrEA,6DAAAA;MAAmEA,yDAAAA;QAAA;MAAA,GAA0C,eAA1C,EAA0C;QAAA,OAC5FkJ,sDAA6C,IAA7C,CAD4F;MAC1C,CADA;MAAnElJ,2DAAAA;MAIFA,6DAAAA,gBAAwC,EAAxC,EAAwC,OAAxC,EAAwC,EAAxC;MACsDA,qDAAAA;MAAgBA,2DAAAA;MACpEA,6DAAAA;MAAmEA,yDAAAA;QAAA;MAAA,GAA8C,eAA9C,EAA8C;QAAA,OAChGkJ,0DAAiD,QAAjD,CADgG;MACtC,CADR;MAAnElJ,2DAAAA;MAWFA,yDAAAA;MAMAA,yDAAAA;MAOFA,2DAAAA;MAqBNA,6DAAAA,gBAA+C,EAA/C,EAA+C,QAA/C,EAA+C,EAA/C;MAGIA,yDAAAA;QAAA,OAASkJ,uBAAT;MAA4B,CAA5B;MAA8BlJ,qDAAAA;MAAIA,2DAAAA;MAO9CA,yDAAAA,kFAAAA,qEAAAA;;;;;;MAtHgFA,wDAAAA;MAAAA,yDAAAA;MAUAA,wDAAAA;MAAAA,yDAAAA;MAGnDA,wDAAAA;MAAAA,yDAAAA,yCAAiC,UAAjC,EAAiC8a,GAAjC;MAgBmD9a,wDAAAA;MAAAA,yDAAAA;MAGnDA,wDAAAA;MAAAA,yDAAAA,yCAAiC,UAAjC,EAAiC8a,GAAjC;MASS9a,wDAAAA;MAAAA,yDAAAA;MAKAA,wDAAAA;MAAAA,yDAAAA;MAW+CA,wDAAAA;MAAAA,yDAAAA,8CAA0C,gBAA1C,EAA0CA,8DAAAA,SAA1C,EAA0C,UAA1C,EAA0C,iEAA1C;MAMAA,wDAAAA;MAAAA,yDAAAA,kDAA8C,gBAA9C,EAA8CA,8DAAAA,SAA9C,EAA8C,UAA9C,EAA8C,iEAA9C;MAW5BA,wDAAAA;MAAAA,yDAAAA;MAMAA,wDAAAA;MAAAA,yDAAAA;MA8B7CA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACnHwD;AACf;AACoB;AACmB;;AAarF,MAAM,mBAAmB;;sFAAnB,mBAAmB;gHAAnB,mBAAmB;oHAN5B,+DAAY;QACZ,mFAAe;QACf,sGAAkB;mIAIT,mBAAmB,mBARf,6EAAsB,aAEnC,+DAAY;QACZ,mFAAe;QACf,sGAAkB,aAEX,6EAAsB;;;;;;;;;;;;;;;;;ACf1B,MAAM,kBAAkB;CAQ9B;AACM,MAAM,sBAAsB;IAAnC;QAWE,WAAM,GAAQ,EAAE,CAAC;IAInB,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;ACtB2D;AAEV;AACvB;;;;AAKlB,MAAM,WAAW;IAWtB,YACY,UAA6B,EAC7B,OAAyB;QADzB,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAkB;QAZrC,yBAAoB,GAAsB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAClE,oBAAe,GAAsB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC7D,yBAAoB,GAAsB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAClE,iEAAiE;QACjE,gBAAW,GAA0B,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC7D,mEAAmE;QACnE,gBAAW,GAA0B,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC7D,yEAAyE;QACzE,iBAAY,GAA0B,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC9D,iBAAY,GAA0B,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IAI5D,CAAC;IAEH,iBAAiB,CAAC,WAAe;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,4FAA4B,CAAC,CAAC;IAC9E,CAAC;IACD,aAAa,CAAC,WAAe;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,yFAAyB,CAAC,CAAC;IAC3E,CAAC;IACD,iBAAiB,CAAC,WAAe,EAAC,MAAM;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IACD,cAAc,CAAC,WAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,iGAAiC,CAAC,CAAC;IACjF,CAAC;IAED,cAAc,CAAC,WAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,gGAAgC,CAAC,CAAC;IAChF,CAAC;IACD,8BAA8B;IAC9B,qFAAqF;IACrF,IAAI;IAEJ,oBAAoB,CAAC,WAAe,EAAC,UAAc;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,mBAAmB;IACnB,cAAc,CAAC,WAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,0FAA0B,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB,CAAC,WAAe;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,4FAA4B,CAAC,CAAC;IAC5E,CAAC;IACD,aAAa,CAAC,WAAe;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,4FAA4B,CAAC,CAAC;IAC5E,CAAC;IAGD,+BAA+B;IAC/B,gFAAgF;IAChF,IAAI;IACJ,2CAA2C;IAC3C,mGAAmG;IACnG,IAAI;IACJ,kCAAkC;IAClC,2FAA2F;IAC3F,IAAI;IACJ,SAAS,CAAC,OAAW;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,wFAAwB,CAAC,CAAC;IACtE,CAAC;IACD,cAAc,CAAC,OAAW;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,6FAA6B,CAAC,CAAC;IAC3E,CAAC;IACD,cAAc,CAAC,OAAW;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,6FAA6B,CAAC,CAAC;IAC3E,CAAC;IACD,qBAAqB,CAAC,OAAW;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,mGAAmC,CAAC,CAAC;IACjF,CAAC;IACD,8CAA8C;IAC9C,8EAA8E;IAC9E,IAAI;IACJ,YAAY;QACR,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAC,6FAA6B,CAAC;iBAC/D,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IACH,eAAe;QACX,MAAM,OAAO,GAAC,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,8FAA8B,CAAC,CAAC;IAC5E,CAAC;IAED,YAAY,CAAC,OAAW;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,2GAA2C,CAAC,CAAC;IACzF,CAAC;IACD,YAAY,CAAC,OAAW;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,8GAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,eAAe,CAAC,OAAW;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,uGAAuC,CAAC,CAAC;IACrF,CAAC;IACD,eAAe,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,6GAA6C,CAAC,CAAC;IAC3F,CAAC;IACD,aAAa,CAAC,OAAO;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,2GAA2C,CAAC,CAAC;IACzF,CAAC;IACD,iBAAiB,CAAC,OAAO,EAAC,MAAM;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAEC,QAAQ,CAAC,OAAO;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,sGAAsC,CAAC,CAAC;IAClF,CAAC;IACD,QAAQ,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,sGAAsC,CAAC,CAAC;IACpF,CAAC;IACD,cAAc,CAAC,OAAO;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,0GAA0C,CAAC,CAAC;IACtF,CAAC;IACD,YAAY,CAAC,OAAO;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAC,wGAAwC,CAAC,CAAC;IACpF,CAAC;IACD,4CAA4C;IAC5C,iCAAiC;IACjC,yHAAyH;IACzH,mIAAmI;IACnI,oIAAoI;IACpI,gBAAgB;IAChB,sEAAsE;IACtE,wBAAwB;IACxB,gBAAgB;IAChB,QAAQ;IACR,wBAAwB;IACxB,wGAAwG;IACxG,wBAAwB;IACxB,eAAe;IACf,QAAQ;IACR,sBAAsB;IACtB,IAAI;IACJ,WAAW;QACP,kCAAkC;IACtC,CAAC;IACH,YAAY,CAAC,QAAe;QAC1B,MAAM,WAAW,GAAC,EAAC,gBAAgB,EAAC,EAAE,EAAC,iBAAiB,EAAC,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAC,iBAAiB,EAAC,EAAE,EAAC,CAAC;QACxG,IAAI,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,WAAW,CAAC,gBAAgB,GAAE,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,WAAW,CAAC,iBAAiB,GAAE,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,WAAW,CAAC,kBAAkB,GAAE,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;SACzC;QACD,WAAW,CAAC,iBAAiB,GAAC,QAAQ,CAAC;QACzC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,OAAW,EAAC,QAAY;QACtC,IAAG,OAAO,CAAC,OAAO,EAAC;YACjB,MAAM,QAAQ,GAAK,OAAO,CAAC,OAAO,EAAC,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,GAAE,CAAC;YACzE,OAAO,CAAC,gBAAgB,GAAE,QAAQ,CAAC,gBAAgB,CAAC;YACpD,OAAO,CAAC,iBAAiB,GAAE,QAAQ,CAAC,iBAAiB,CAAC;YACtD,OAAO,CAAC,kBAAkB,GAAE,QAAQ,CAAC,kBAAkB,CAAC;YACxD,OAAO,CAAC,iBAAiB,GAAE,QAAQ,CAAC,iBAAiB,CAAC;YAEtD,IAAI,YAAY,GAAK,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC9B,IAAG,GAAG,IAAI,OAAO;wBACjB,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,GAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;iBACpD;aACF;SAEF;QACD,IAAI,IAAQ,CAAC;QACb,IAAG,YAAY,EAAC;YACd,IAAI,GAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBACrD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACpB;qBAAM,IAAI,2CAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;oBACnD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;iBACpC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CAAC,WAAe;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAC,8FAA8B,CAAC,CAAC;IAChF,CAAC;;sEA7Lc,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;;;;;;;;;ACTtB;AACA;;;;;;;;;;;;;;;;;;;ICkBwBA,uDAAAA;;;;;IACEA,wDAAAA,YAAAA,6DAAAA;;;;;;IACFA,4DAAAA;IAAAA,4DAAAA,eAC0B,CAD1B,EAC0B,GAD1B,EAC0B,EAD1B;IAGIA,uDAAAA,gBAE4C,CAF5C,EAE4C,MAF5C,EAE4C,EAF5C;IAMFA,0DAAAA;;;;;;IAaIA,uDAAAA;;;;;IACEA,wDAAAA,YAAAA,6DAAAA;;;;;;IACFA,4DAAAA;IAAAA,4DAAAA,eACqD,CADrD,EACqD,GADrD,EACqD,EADrD;IAGIA,uDAAAA,gBAE4C,CAF5C,EAE4C,MAF5C,EAE4C,EAF5C;IAMFA,0DAAAA;;;;;;;;;;;;;;;;;;;;IAlBZA,qEAAAA;IAEEA,4DAAAA,cAAkE,CAAlE,EAAkE,GAAlE,EAAkE,EAAlE;IAEIA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,qCAAT;IAAgC,CAAhC;IACAA,4DAAAA,cAAiB,CAAjB,EAAiB,MAAjB;IAAuBA,oDAAAA;IAAcA,0DAAAA;IACnCA,4DAAAA;IACEA,wDAAAA;IAEAA,wDAAAA;IAWFA,0DAAAA;IAIRA,mEAAAA;;;;;IAtBuBA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IACMA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAEAA,uDAAAA;IAAAA,+DAAAA;IAEfA,uDAAAA;IAAAA,wDAAAA;IAEEA,uDAAAA;IAAAA,wDAAAA;;;;;;IAVlBA,4DAAAA;IACEA,wDAAAA;IAyBFA,0DAAAA;;;;;IAzBkCA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;;;;;;;;IA3BtCA,qEAAAA;IACEA,4DAAAA,cAG0H,CAH1H,EAG0H,GAH1H,EAG0H,EAH1H;IAK2BA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAT;IAA6B,CAA7B;IACvBA,4DAAAA,cAAiB,CAAjB,EAAiB,MAAjB;IACQA,oDAAAA;IAAaA,0DAAAA;IAAOA,oDAAAA;IAC1BA,4DAAAA;IACEA,wDAAAA;IAEAA,wDAAAA;IAWFA,0DAAAA;IAGJA,wDAAAA;IA2BFA,0DAAAA;IACFA,mEAAAA;;;;;;;IApDIA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAMUA,uDAAAA;IAAAA,+DAAAA;IAEAA,uDAAAA;IAAAA,wDAAAA;IAEEA,uDAAAA;IAAAA,wDAAAA;IAcgBA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;IAkDhCA,6DAAAA;IAAAA,4DAAAA;IAA6CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAmBA,yDAAAA,kCAAnB;IAA2C,CAA3C;IAC7CA,0DAAAA;;;;;;;;;IACAA,6DAAAA;IAAAA,4DAAAA;IAA8CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAyBA,yDAAAA,sCAAzB;IAAqD,CAArD;IAC9CA,0DAAAA;;;;;;;;;IACAA,6DAAAA;IAAAA,4DAAAA;IACEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAaA,yDAAAA,kCAAb;IAAqC,CAArC;IAAuCA,0DAAAA;;;;;IADyBA,wDAAAA;;;;;;;;;IAElEA,6DAAAA;IAAAA,4DAAAA;IAA2CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAkBA,yDAAAA,oCAAlB;IAA4C,CAA5C;IAC3CA,0DAAAA;;;;AD9ER,MAAOqG,YAAP,CAAmB;EAQvBtH,YACSic,WADT,EAEUpR,WAFV,EAGU3K,cAHV,EAIUsH,eAJV,EAKU0U,GALV,EAMUnU,kBANV,EAOUkJ,eAPV,EAO2C;IANlC;IACC;IACA;IACA;IACA;IACA;IACA;IAdV,uBAAyB,CAAC,GAAG+K,yEAAJ,CAAzB;IAgBE,KAAKG,eAAL,CAAqB,CAArB,EAAwBC,QAAxB,GAAmC,EAAnC;IACA,KAAKnL,eAAL,CAAqBoL,cAArB;IACA,KAAKtU,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB,KAAKsY,eAAL,GAAuBtY,KAAK,EAAEV,IAA9B;QACA,KAAKiZ,QAAL,GAAgBvY,KAAK,EAAEV,IAAP,EAAa+H,QAA7B;QACA,KAAK0I,UAAL,GAAkB/P,KAAlB;QACA,KAAKmY,eAAL,CAAqB,CAArB,EAAwBzX,MAAxB,GAAiC,KAAKqP,UAAL,EAAiBzQ,IAAjB,EAAuBkZ,YAAvB,GAAsC,CAAtC,GAA0C,CAA3E;QACA,KAAK3R,WAAL,CAAiB4R,YAAjB,CAA8BrU,IAA9B,CAAmC,KAAK2L,UAAL,CAAgBzQ,IAAhB,CAAqB+H,QAAxD;QACA,KAAKR,WAAL,CAAiBmJ,WAAjB,CAA6B5L,IAA7B,CAAkC,KAAK2L,UAAL,EAAiBzQ,IAAnD;MACD;IARgD,CAAnD,EAJyC,CAezC;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAED;;EAED2B,QAAQ;IAGN,KAAK4F,WAAL,CAAiBnB,WAAjB,CAA6BjH,SAA7B,CAAuCC,GAAG,IAAG;MAC3C,IAAIA,GAAJ,EAAS;QACP,KAAK4J,SAAL,GAAiB5J,GAAjB;;QACA,IAAI,KAAK4J,SAAT,EAAoB;UAClB,KAAK6P,eAAL,CAAqB,CAArB,EAAwBC,QAAxB,GAAmC,EAAnC;UACA,KAAK9P,SAAL,CAAeiM,aAAf,CAA6BmE,OAA7B,CAAqCC,OAAO,IAAG;YAC7C,IAAI,KAAKrQ,SAAL,CAAeC,QAAf,CAAwBqQ,cAAxB,CAAuCD,OAAO,CAAC3Y,KAA/C,CAAJ,EAA2D;cACzD,IAAI6Y,UAAU,GAAGF,OAAO,CAAC3Y,KAAzB;cACA,IAAI8Y,gBAAgB,GAAG,CAAvB;cACA,IAAIC,WAAW,GAAI,KAAKzQ,SAAL,CAAeC,QAAhB,CAA0B,GAAGsQ,UAAU,EAAvC,CAAlB;;cACA,IAAIA,UAAU,IAAI,gBAAlB,EAAoC;gBAClC,IAAIE,WAAW,CAAC7O,MAAZ,IAAsB,CAA1B,EAA6B;kBAC3B,MAAM8O,UAAU,GAAGD,WAAW,CAACtS,MAAZ,CAAmBuL,CAAC,IAAIA,CAAC,CAACtR,MAAF,IAAY,CAApC,CAAnB;kBACA,MAAMuY,SAAS,GAAGF,WAAW,CAACtS,MAAZ,CAAmBuL,CAAC,IAAIA,CAAC,CAACtR,MAAF,IAAY,CAApC,CAAlB;kBACA,MAAMwY,SAAS,GAAGH,WAAW,CAACtS,MAAZ,CAAmBuL,CAAC,IAAIA,CAAC,CAACtR,MAAF,IAAY,CAApC,CAAlB;kBACA,MAAMyY,WAAW,GAAGJ,WAAW,CAACtS,MAAZ,CAAmBuL,CAAC,IAAIA,CAAC,CAACtR,MAAF,IAAY,CAApC,CAApB;kBACAoY,gBAAgB,GAAGE,UAAU,CAAC9O,MAAX,GAAoB,CAApB,GAAwB8O,UAAU,CAAC,CAAD,CAAV,CAActY,MAAtC,GAA+CyY,WAAW,CAACjP,MAAZ,GAAqB,CAArB,GAAyBiP,WAAW,CAAC,CAAD,CAAX,CAAezY,MAAxC,GAAiDuY,SAAS,CAAC/O,MAAV,GAAmB,CAAnB,GAAuB+O,SAAS,CAAC,CAAD,CAAT,CAAavY,MAApC,GAA6CwY,SAAS,CAAC,CAAD,CAAT,CAAaxY,MAA7K;gBAED;;gBACD,KAAKyX,eAAL,CAAqB,CAArB,EAAwBC,QAAxB,CAAiCgB,IAAjC,CAAsC;kBAAEpP,IAAI,EAAE2O,OAAO,CAAC3O,IAAhB;kBAAsBqP,QAAQ,EAAEV,OAAO,CAACW,IAAxC;kBAA8CC,OAAO,EAAEZ,OAAO,CAACY,OAA/D;kBAAwE7Y,MAAM,EAAGmY,UAAU,IAAI,gBAAd,IAAmC,KAAKvQ,SAAL,CAAeC,QAAhB,CAA0B,GAAGsQ,UAAU,EAAvC,EAA2C3O,MAA3C,IAAqD,CAAxF,GAA6F4O,gBAA7F,GAAgH;gBAAhM,CAAtC;cACD,CAVD,MAUO;gBACL;gBACA,KAAKX,eAAL,CAAqB,CAArB,EAAwBC,QAAxB,CAAiCgB,IAAjC,CAAsC;kBAAEpP,IAAI,EAAE6O,UAAU,IAAI,mBAAd,IAAqC,KAAKP,eAAL,CAAqBpJ,UAArB,IAAmC,CAAxE,GAA4E,kBAA5E,GAAiGyJ,OAAO,CAAC3O,IAAjH;kBAAuHqP,QAAQ,EAAEV,OAAO,CAACW,IAAzI;kBAA+IC,OAAO,EAAEZ,OAAO,CAACY,OAAhK;kBAAyK7Y,MAAM,EAAG,KAAK4H,SAAL,CAAeC,QAAhB,CAA0B,GAAGsQ,UAAU,EAAvC,IAA8C,KAAKvQ,SAAL,CAAeC,QAAhB,CAA0B,GAAGsQ,UAAU,EAAvC,EAA2CnY,MAAxF,GAAiG;gBAAlR,CAAtC;cACD;YACF;UACF,CApBD,EAFkB,CAuBlB;;UACA,KAAK,MAAM8Y,GAAX,IAAkB,KAAKlR,SAAL,CAAeC,QAAjC,EAA2C;YACzC,IAAIiR,GAAG,KAAK,gBAAZ,EAA8B;cAC5B,KAAKrB,eAAL,CAAqB,CAArB,EAAwBzX,MAAxB,GAAiC,KAAK4H,SAAL,CAAeC,QAAf,CAAwB,GAAGiR,GAAG,EAA9B,IAAoC,KAAKlR,SAAL,CAAeC,QAAf,CAAwB,GAAGiR,GAAG,EAA9B,EAAkC9Y,MAAtE,GAA+E,CAAhH;YACD,CAFD,MAEO,IAAI8Y,GAAG,KAAK,YAAZ,EAA0B;cAC/B,KAAKrB,eAAL,CAAqB,CAArB,EAAwBzX,MAAxB,GAAiC,KAAK4H,SAAL,CAAeC,QAAf,CAAwB,GAAGiR,GAAG,EAA9B,IAAoC,KAAKlR,SAAL,CAAeC,QAAf,CAAwB,GAAGiR,GAAG,EAA9B,EAAkC9Y,MAAtE,GAA+E,CAAhH;YACD;UACF;QACF;;QACDqH,UAAU,CAAC,MAAK;UACd,IAAI,KAAKmQ,GAAL,CAAS7N,aAAT,CAAuBoP,gBAAvB,CAAwC,eAAxC,EAAyDvP,MAAzD,GAAkE,CAAtE,EAAyE;YACvE,KAAKgO,GAAL,CAAS7N,aAAT,CAAuBoP,gBAAvB,CAAwC,eAAxC,EAAyD,CAAzD,EAA4DC,KAA5D;UACD;QAEF,CALS,EAKP,CALO,CAAV;MAMD;IACF,CA1CD;IA4CA,KAAKC,WAAL,GAAmB7Y,MAAM,CAAC,KAAKyX,QAAN,CAAzB;IACA,KAAK/U,eAAL,CAAqBoW,gBAArB,CAAsCnb,SAAtC,CAAgDC,GAAG,IAAG;MAAG,IAAIA,GAAJ,EAAS;QAAE,KAAKmb,QAAL;MAAkB;IAAE,CAAxF;EAKD,CA3GsB,CA6GvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EACAC,cAAc,CAAClG,IAAD,EAAU;IACtB,IAAIA,IAAI,CAACyF,QAAL,GAAgB,KAAKd,QAArB,IAAiC3E,IAAI,CAACyF,QAAL,IAAiB,CAAtD,EAAyD;MACvD,KAAKM,WAAL,GAAmB/F,IAAI,CAACyF,QAAxB,CADuD,CAEvD;IACD,CAHD,MAGO,IAAIzF,IAAI,CAACyF,QAAL,IAAiB,KAAKd,QAAtB,IAAkC3E,IAAI,CAACyF,QAAL,IAAiB,CAAvD,EAA0D;MAC/D,KAAKM,WAAL,GAAmB/F,IAAI,CAACyF,QAAxB;IACD;EACF;;EACDU,gBAAgB,CAAC/Z,KAAD,EAAW;IACzB,IAAIA,KAAK,CAACqZ,QAAN,GAAiB,KAAKd,QAA1B,EAAoC;MAClC,KAAKoB,WAAL,GAAmB3Z,KAAK,CAACqZ,QAAzB;MACA,KAAKxS,WAAL,CAAiBmT,eAAjB,CAAiC5V,IAAjC,CAAsCpE,KAAK,CAACqZ,QAA5C,EAFkC,CAGlC;IACD,CAJD,MAIO,IAAIrZ,KAAK,CAACqZ,QAAN,IAAkB,KAAKd,QAA3B,EAAqC;MAC1C,KAAKoB,WAAL,GAAmB3Z,KAAK,CAACqZ,QAAzB;MACA,KAAKxS,WAAL,CAAiBmT,eAAjB,CAAiC5V,IAAjC,CAAsCpE,KAAK,CAACqZ,QAA5C;IACD;EACF;;EACDQ,QAAQ;IACN,KAAK5B,WAAL,CAAiB1W,KAAjB,CAAuB;MAAE,SAAS;IAAX,CAAvB;EACD;;EACD0Y,oBAAoB,CAACja,KAAD,EAAW;IAC7B,IAAIA,KAAJ,EAAW;MACT,KAAKiY,WAAL,CAAiB1W,KAAjB;IACD;EACF;;EACD2Y,kBAAkB,CAACla,KAAD,EAAe;IAC/B,KAAKiY,WAAL,CAAiB1W,KAAjB;EACD;;EACD4Y,gBAAgB,CAACna,KAAD,EAAW;IACzB,KAAKuY,QAAL,GAAgBvY,KAAhB;IACA,KAAK2Z,WAAL,GAAmB3Z,KAAnB;EACD,CAnKsB,CAoKvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EACA6F,WAAW;IACT,IAAK,KAAKgB,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAA7C,IAAoD,KAAK6I,UAAL,CAAgBzQ,IAAhB,CAAqB8a,MAArB,IAA+B,CAAvF,EAA0F;MACxF,IAAI9N,QAAQ,GAAa,IAAInO,QAAJ,EAAzB;MACA,KAAK0I,WAAL,CAAiB0F,cAAjB,CAAgCD,QAAhC,EAA0C7N,SAA1C,CAAoDC,GAAG,IAAG,CAEzD,CAFD;IAGD;;IACD,KAAKmI,WAAL,CAAiBmT,eAAjB,CAAiC5V,IAAjC,CAAsC,EAAtC;IACA,KAAKyC,WAAL,CAAiBqP,YAAjB,CAA8B9R,IAA9B,CAAmC,EAAnC;EACD;;AA1NsB;;;mBAAZd,cAAYrG,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,qDAAAA,GAAAA,+DAAAA,CAAAA,mFAAAA,GAAAA,+DAAAA,CAAAA,gEAAAA;AAAA;;;QAAZqG;EAAYL;EAAA8C;EAAAC;EAAAC;EAAAC;IAAA;MCdzBjJ,4DAAAA,cACyD,CADzD,EACyD,KADzD,EACyD,CADzD,EACyD,CADzD,EACyD,KADzD,EACyD,CADzD,EACyD,CADzD,EACyD,KADzD,EACyD,CADzD,EACyD,CADzD,EACyD,KADzD,EACyD,CADzD,EACyD,CADzD,EACyD,KADzD,EACyD,CADzD,EACyD,CADzD,EACyD,IADzD,EACyD,CADzD;MAScA,wDAAAA;MAwDFA,0DAAAA;MACAA,4DAAAA;MACEA,uDAAAA;MAEFA,0DAAAA;MAEFA,4DAAAA,gBAA6B,EAA7B,EAA6B,KAA7B,EAA6B,EAA7B,EAA6B,EAA7B,EAA6B,KAA7B,EAA6B,EAA7B,EAA6B,EAA7B,EAA6B,QAA7B,EAA6B,EAA7B;MAI0CA,wDAAAA;QAAA,OAASkJ,cAAT;MAAmB,CAAnB;MAClClJ,4DAAAA;MAAAA,4DAAAA;MAGEA,uDAAAA,iBAA2C,EAA3C,EAA2C,MAA3C,EAA2C,EAA3C;MAEFA,0DAAAA;MAIJA,wDAAAA;MAEAA,wDAAAA;MAEAA,wDAAAA;MAEAA,wDAAAA;MAEFA,0DAAAA;;;;MApFiCA,uDAAAA;MAAAA,wDAAAA;MA2D7BA,uDAAAA;MAAAA,wDAAAA,wQAAAA,2DAAAA;MAiBmBA,uDAAAA;MAAAA,wDAAAA;MAECA,uDAAAA;MAAAA,wDAAAA;MAEAA,uDAAAA;MAAAA,wDAAAA;MAEJA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Fe;AAEqD;AAE/C;AACwB;AACG;AACA;AAEZ;;;;;;;AAqB7D,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS;;QAXlB,oBAAoB;QACpB,+DAAY;QACZ,sFAAmB;QACnB,yFAAoB;QACpB,yFAAoB;QACpB,6EAAgB;oIAMP,SAAS,mBAhBlB,wDAAY;QACZ,6GAA2B;QAI3B,oBAAoB;QACpB,+DAAY;QACZ,sFAAmB;QACnB,yFAAoB;QACpB,yFAAoB;QACpB,6EAAgB,aAGhB,wDAAY;mEAbZ,wDAAY;;;;;;;;;;;;;;;;;;;ACbgC;;;AAOzC,MAAM,2BAA2B;IAEtC,YACS,WAA2B,EAClC,MAAsB,EAAU,YAAsB;QAD/C,gBAAW,GAAX,WAAW,CAAgB;QACF,iBAAY,GAAZ,YAAY,CAAU;QAEtD,6BAA6B;IAC9B,CAAC;IAEF,QAAQ;IACR,CAAC;IACD,WAAW;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wDAAY,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;sGAdU,2BAA2B;yHAA3B,2BAA2B;QCTxC,yEAC2B;QAIiB,oFAAyB;QAAA,4DAAK;QAE1D,yEAAwB;QACE,iJACV;QAAA,4DAAI;QAEhB,4EAAoE;QAAxB,mJAAS,iBAAa,IAAC;QAAC,wEAAY;QAAA,4DAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACV7G;AAQA;AAEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ICVcA,6DAAAA,eAAsJ,CAAtJ,EAAsJ,QAAtJ,EAAsJ,EAAtJ;IACkDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,0BAAT;IAAyB,CAAzB;IAA2BA,qDAAAA;IAAaA,2DAAAA;;;;;;IAmBpFA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IACAA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IANFA,6DAAAA;IACEA,yDAAAA;IAGAA,yDAAAA;IAIFA,2DAAAA;;;;;;;;IAPQA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAeNA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IACAA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IANFA,6DAAAA;IACEA,yDAAAA;IAGAA,yDAAAA;IAGFA,2DAAAA;;;;;;;;IANQA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAUFA,6DAAAA;IAAgEA,qDAAAA;IAAYA,2DAAAA;;;;;IAAhCA,yDAAAA;IAAoBA,wDAAAA;IAAAA,gEAAAA;;;;;;;;IAoBtEA,6DAAAA;IAA2GA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,kEAAT;IAAyD,CAAzD;IAA2DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAbvLA,6DAAAA,cAAoZ,CAApZ,EAAoZ,GAApZ;IACOA,qDAAAA;IAAqCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACxEA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCsd,+CAAhC,EAAf;IAAwF,CAAxF;IAEhCtd,6DAAAA;IACIA,wDAAAA,eAAkE,CAAlE,EAAkE,IAAlE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCud,+CAAhC,EAAV;IAAmF,CAAnF;IAArDvd,2DAAAA;IAEAA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACzEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC7CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAGlDA,yDAAAA;IACJA,2DAAAA;;;;;IAdKA,yDAAAA;IACEA,wDAAAA;IAAAA,gEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,yDAAAA,4DAAAA;IAEHA,wDAAAA;IAAAA,yDAAAA;IAMWA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAEzBA,6DAAAA,cAAmX,CAAnX,EAAmX,GAAnX;IACKA,qDAAAA;IAASA,2DAAAA;IACZA,6DAAAA;IAAoBA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,kEAAT;IAAyD,CAAzD;IACdA,wDAAAA;IACJA,2DAAAA;;;;;IAJCA,yDAAAA;IAGQA,wDAAAA;IAAAA,yDAAAA,yDAAAA,4DAAAA;;;;;;;;IAiBTA,6DAAAA;IAA4GA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IAA4DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAbzLA,6DAAAA,cAAsZ,CAAtZ,EAAsZ,GAAtZ;IACOA,qDAAAA;IAAiMA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACpOA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCwd,gDAAhC,EAAf;IAAyF,CAAzF;IAEhCxd,6DAAAA;IACIA,wDAAAA,eAAmE,CAAnE,EAAmE,IAAnE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCyd,gDAAhC,EAAV;IAAoF,CAApF;IAArDzd,2DAAAA;IACAA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACzEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC7CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAIlDA,yDAAAA;IACJA,2DAAAA;;;;;IAdKA,yDAAAA;IACEA,wDAAAA;IAAAA,gEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,0DAAAA,4DAAAA;IAQQA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAEzBA,6DAAAA,cAAiU,CAAjU,EAAiU,GAAjU;IACKA,qDAAAA;IAAwQA,2DAAAA;IAC3QA,6DAAAA;IAAoBA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IACdA,wDAAAA;IACJA,2DAAAA;;;;;IAJCA,yDAAAA;IACAA,wDAAAA;IAAAA,gEAAAA;IAEQA,wDAAAA;IAAAA,yDAAAA,0DAAAA,4DAAAA;;;;;;;;IAkBTA,6DAAAA;IAA4GA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IAA4DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAbvLA,6DAAAA,cAAqZ,CAArZ,EAAqZ,GAArZ;IACKA,qDAAAA;IAA0DA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC7FA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgC0d,gDAAhC,EAAf;IAAyF,CAAzF;IAEhC1d,6DAAAA;IACIA,wDAAAA,eAAmE,CAAnE,EAAmE,IAAnE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgC2d,gDAAhC,EAAV;IAAoF,CAApF;IAArD3d,2DAAAA;IACAA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACzEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC7CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAIlDA,yDAAAA;IACJA,2DAAAA;;;;;IAdOA,yDAAAA;IACAA,wDAAAA;IAAAA,iEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,0DAAAA,4DAAAA;IAQQA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAEzBA,6DAAAA,cAAgU,CAAhU,EAAgU,GAAhU;IACKA,qDAAAA;IAAmDA,2DAAAA;IACtDA,6DAAAA;IAAoBA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IACdA,wDAAAA;IACJA,2DAAAA;;;;;IAJCA,yDAAAA;IACAA,wDAAAA;IAAAA,iEAAAA;IAEQA,wDAAAA;IAAAA,yDAAAA,0DAAAA,4DAAAA;;;;;;IAnBbA,sEAAAA;IACEA,yDAAAA;IAeFA,yDAAAA;IAOAA,oEAAAA;;;;;IAtBiKA,wDAAAA;IAAAA,yDAAAA;IAeFA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAYnKA,6DAAAA,cAAuF,CAAvF,EAAuF,KAAvF,EAAuF,EAAvF,EAAuF,CAAvF,EAAuF,QAAvF,EAAuF,EAAvF;IAEmDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,uBAAT;IAAsB,CAAtB;IAAkaA,qDAAAA;IAAIA,2DAAAA;;;;;IAA9YA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAzIrFA,6DAAAA,cAA8D,CAA9D,EAA8D,MAA9D,EAA8D,CAA9D,EAA8D,KAA9D,EAA8D,CAA9D,EAA8D,CAA9D,EAA8D,KAA9D,EAA8D,CAA9D;IAGyCA,qDAAAA;IAC3BA,6DAAAA;IAAGA,qDAAAA;IAA+BA,2DAAAA;IAClCA,yDAAAA;IAGJA,2DAAAA;IACAA,6DAAAA,cAAiB,CAAjB,EAAiB,KAAjB,EAAiB,CAAjB,EAAiB,EAAjB,EAAiB,KAAjB,EAAiB,EAAjB,EAAiB,EAAjB,EAAiB,OAAjB,EAAiB,EAAjB;IAG6JA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,8CAAb;IAAgD,CAAhD;IAAnJA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAiCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAG1FA,6DAAAA,eAA2I,EAA3I,EAA2I,KAA3I,EAA2I,EAA3I,EAA2I,EAA3I,EAA2I,OAA3I,EAA2I,EAA3I,EAA2I,EAA3I;IAE4DA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,gDAAb;IAAkD,CAAlD;IAAxDA,2DAAAA;IAGAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAoCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACvFA,yDAAAA;IASFA,2DAAAA;IAEFA,6DAAAA,eAA2I,EAA3I,EAA2I,KAA3I,EAA2I,EAA3I,EAA2I,EAA3I,EAA2I,OAA3I,EAA2I,EAA3I,EAA2I,EAA3I;IAE4DA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,+CAAb;IAAiD,CAAjD;IAAxDA,2DAAAA;IAGAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAA+BA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAClFA,yDAAAA;IAQFA,2DAAAA;IAEFA,6DAAAA,gBAAuJ,EAAvJ,EAAuJ,KAAvJ,EAAuJ,EAAvJ,EAAuJ,EAAvJ,EAAuJ,QAAvJ,EAAuJ,EAAvJ;IAEqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,2BAAV;IAA2B,CAA3B,EAA4B,eAA5B,EAA4B;MAAAA,4DAAAA;MAAA;MAAA,OAAiDA,0DAAAA,uDAAjD;IAA6F,CAAzH;IAC3CA,6DAAAA;IAA0BA,qDAAAA;IAAwBA,2DAAAA;IAClDA,yDAAAA;IACDA,2DAAAA;IAEDA,6DAAAA;IAAgDA,qDAAAA;IAAyCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAIjIA,yDAAAA;IAeAA,yDAAAA;IAOAA,yDAAAA;IAeAA,yDAAAA;IAOAA,yDAAAA;IAyBAA,6DAAAA;IAAuBA,qDAAAA;IAAgKA,2DAAAA;IAG3LA,yDAAAA;IAKJA,2DAAAA;;;;;;;;;IAxIWA,wDAAAA;IAAAA,iEAAAA;IACyDA,wDAAAA;IAAAA,yDAAAA;IAKvDA,wDAAAA;IAAAA,yDAAAA;IAEwDA,wDAAAA;IAAAA,yDAAAA,oGAA2F,SAA3F,EAA2F4d,kCAA3F;IAEpC5d,wDAAAA;IAAAA,iEAAAA;IAGpBA,wDAAAA;IAAAA,yDAAAA;IAEuDA,wDAAAA;IAAAA,yDAAAA,kDAA2C,qBAA3C,EAA2C,SAA3C,EAA2C,UAA3C,EAA2C4d,qFAA3C;IAIrC5d,wDAAAA;IAAAA,iEAAAA;IACbA,wDAAAA;IAAAA,yDAAAA;IAWLA,wDAAAA;IAAAA,yDAAAA;IAEuDA,wDAAAA;IAAAA,yDAAAA,iDAA0C,UAA1C,EAA0C4d,qFAA1C;IAIrC5d,wDAAAA;IAAAA,iEAAAA;IACbA,wDAAAA;IAAAA,yDAAAA;IAUQA,wDAAAA;IAAAA,yDAAAA;IAEgEA,wDAAAA;IAAAA,yDAAAA,kDAAkC,SAAlC,EAAkC4d,2CAAlC;IAEhD5d,wDAAAA;IAAAA,yDAAAA;IAGsBA,wDAAAA;IAAAA,iEAAAA;IAIwGA,wDAAAA;IAAAA,yDAAAA;IAeAA,wDAAAA;IAAAA,yDAAAA;IAOAA,wDAAAA;IAAAA,yDAAAA;IAeDA,wDAAAA;IAAAA,yDAAAA;IAOhJA,wDAAAA;IAAAA,yDAAAA;IAyBQA,wDAAAA;IAAAA,gEAAAA;IAGTA,wDAAAA;IAAAA,yDAAAA;;;;;;IAmCRA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IACAA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IANFA,6DAAAA;IACEA,yDAAAA;IAGAA,yDAAAA;IAGFA,2DAAAA;;;;;;;;IANQA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAcRA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IACAA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IANFA,6DAAAA;IACEA,yDAAAA;IAGAA,yDAAAA;IAGFA,2DAAAA;;;;;;;;IANQA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAaAA,6DAAAA;IAAgEA,qDAAAA;IAAYA,2DAAAA;;;;;IAAhCA,yDAAAA;IAAoBA,wDAAAA;IAAAA,gEAAAA;;;;;;;;IAmBtEA,6DAAAA;IACAA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,kEAAT;IAAyD,CAAzD;IAA2DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAkBxEA,6DAAAA;IACAA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IAA4DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAgBzEA,6DAAAA;IAA4GA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mEAAT;IAA0D,CAA1D;IAA4DA,qDAAAA;IAAaA,2DAAAA;;;;;;;;IAbvLA,6DAAAA,cAA6W,CAA7W,EAA6W,GAA7W;IACKA,qDAAAA;IAA0DA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAC7FA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgC6d,gDAAhC,EAAf;IAAyF,CAAzF;IAEhC7d,6DAAAA;IACIA,wDAAAA,eAAmE,CAAnE,EAAmE,IAAnE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgC8d,gDAAhC,EAAV;IAAoF,CAApF;IAArD9d,2DAAAA;IACAA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACzEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC7CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAIlDA,yDAAAA;IACJA,2DAAAA;;;;;IAdOA,yDAAAA;IACAA,wDAAAA;IAAAA,iEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,0DAAAA,4DAAAA;IAQQA,wDAAAA;IAAAA,yDAAAA;;;;;;IAdzBA,sEAAAA;IACEA,yDAAAA;IAeFA,oEAAAA;;;;;IAfiKA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IArG/KA,6DAAAA,cAA+D,CAA/D,EAA+D,MAA/D,EAA+D,CAA/D,EAA+D,KAA/D,EAA+D,CAA/D,EAA+D,CAA/D,EAA+D,KAA/D,EAA+D,CAA/D;IAGyCA,qDAAAA;IAC3BA,6DAAAA;IAAGA,qDAAAA;IAA8BA,2DAAAA;IACjCA,6DAAAA,eAA2D,CAA3D,EAA2D,QAA3D,EAA2D,EAA3D;IACkDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,uBAAT;IAAsB,CAAtB;IAAwBA,qDAAAA;IAAIA,2DAAAA;IAIlFA,6DAAAA,eAAkB,EAAlB,EAAkB,KAAlB,EAAkB,CAAlB,EAAkB,EAAlB,EAAkB,KAAlB,EAAkB,EAAlB,EAAkB,EAAlB,EAAkB,OAAlB,EAAkB,EAAlB;IAGmEA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,8CAAb;IAAgD,CAAhD;IAAvDA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAgCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAG3FA,6DAAAA,eAA2I,EAA3I,EAA2I,KAA3I,EAA2I,EAA3I,EAA2I,EAA3I,EAA2I,OAA3I,EAA2I,EAA3I,EAA2I,EAA3I;IAE4DA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,gDAAb;IAAkD,CAAlD;IAAxDA,2DAAAA;IAGAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAAmCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACtFA,yDAAAA;IAQJA,2DAAAA;IAEFA,6DAAAA,eAA2I,EAA3I,EAA2I,KAA3I,EAA2I,EAA3I,EAA2I,EAA3I,EAA2I,OAA3I,EAA2I,EAA3I,EAA2I,EAA3I;IAE4DA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,+CAAb;IAAiD,CAAjD;IAAxDA,2DAAAA;IAGAA,wDAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;IAA8BA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACjFA,yDAAAA;IAQJA,2DAAAA;IAGEA,6DAAAA,gBAAuJ,EAAvJ,EAAuJ,KAAvJ,EAAuJ,EAAvJ,EAAuJ,EAAvJ,EAAuJ,QAAvJ,EAAuJ,EAAvJ;IAGqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,2BAAV;IAA2B,CAA3B,EAA4B,eAA5B,EAA4B;MAAAA,4DAAAA;MAAA;MAAA,OAC3DA,0DAAAA,uDAD2D;IACf,CADb;IAG3CA,yDAAAA;IACFA,2DAAAA;IACAA,wDAAAA;IACAA,6DAAAA;IAAqBA,qDAAAA;IAAuCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IAGpGA,6DAAAA,eAA8J,EAA9J,EAA8J,GAA9J;IACOA,qDAAAA;IAAqCA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACxEA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgC+d,+CAAhC,EAAf;IAAwF,CAAxF;IAEhC/d,6DAAAA;IACIA,wDAAAA,gBAAmE,EAAnE,EAAmE,IAAnE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCge,+CAAhC,EAAV;IAAmF,CAAnF;IAArDhe,2DAAAA;IAECA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACxEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC/CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAGlDA,yDAAAA;IAEJA,2DAAAA;IAGAA,6DAAAA,eAA8J,EAA9J,EAA8J,GAA9J;IAEOA,qDAAAA;IAAkMA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACrOA,6DAAAA;IAAoCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCie,gDAAhC,EAAf;IAAyF,CAAzF;IAEhCje,6DAAAA;IACIA,wDAAAA,gBAAmE,EAAnE,EAAmE,IAAnE;IACAA,6DAAAA;IAAqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qCAA2B,CAA3B,EAA6B,GAA7B,EAAgCke,gDAAhC,EAAV;IAAoF,CAApF;IAArDle,2DAAAA;IACAA,6DAAAA;IAAyCA,qDAAAA;IAAgCA,2DAAAA;IACzEA,6DAAAA;IAA4BA,qDAAAA;IAAiBA,2DAAAA;IAC7CA,6DAAAA;IAAGA,qDAAAA;IAAkBA,6DAAAA;IAAMA,qDAAAA;IAAeA,2DAAAA;IAIlDA,yDAAAA;IAEJA,2DAAAA;IACAA,yDAAAA;IAiBAA,6DAAAA;IAAuBA,qDAAAA;IAAsHA,2DAAAA;IAC7IA,wDAAAA;IAGJA,2DAAAA;;;;;;;;;IArHOA,wDAAAA;IAAAA,gEAAAA;IAOEA,wDAAAA;IAAAA,yDAAAA;IAE0DA,wDAAAA;IAAAA,yDAAAA,gDAAyC,UAAzC,EAAyCme,kBAAzC;IAEpCne,wDAAAA;IAAAA,gEAAAA;IAGtBA,wDAAAA;IAAAA,yDAAAA;IAEuDA,wDAAAA;IAAAA,yDAAAA,kDAA2C,qBAA3C,EAA2C,SAA3C,EAA2C,UAA3C,EAA2Cme,kBAA3C;IAIrCne,wDAAAA;IAAAA,gEAAAA;IACbA,wDAAAA;IAAAA,yDAAAA;IAUPA,wDAAAA;IAAAA,yDAAAA;IAEuDA,wDAAAA;IAAAA,yDAAAA,iDAA0C,UAA1C,EAA0Cme,kBAA1C;IAIrCne,wDAAAA;IAAAA,gEAAAA;IACbA,wDAAAA;IAAAA,yDAAAA;IAWUA,wDAAAA;IAAAA,yDAAAA;IAGgEA,wDAAAA;IAAAA,yDAAAA,kDAAyC,SAAzC,EAAyCme,2CAAzC;IAGhDne,wDAAAA;IAAAA,yDAAAA;IAGLA,wDAAAA;IAAAA,gEAAAA;IAGxBA,wDAAAA;IAAAA,yDAAAA;IACEA,wDAAAA;IAAAA,gEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,wDAAAA,4DAAAA;IAEuBA,wDAAAA;IAAAA,yDAAAA;IAMfA,wDAAAA;IAAAA,yDAAAA;IAKpBA,wDAAAA;IAAAA,yDAAAA;IAEEA,wDAAAA;IAAAA,iEAAAA;IAIUA,wDAAAA;IAAAA,yDAAAA,yDAAAA,4DAAAA;IAQQA,wDAAAA;IAAAA,yDAAAA;IAGVA,wDAAAA;IAAAA,yDAAAA;IAiBQA,wDAAAA;IAAAA,gEAAAA;;;;;;;;;;;;;;IAkCTA,wDAAAA;;;;;IACEA,yDAAAA,YAAAA,8DAAAA;;;;;;;;IASFA,6DAAAA;IAA0JA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,+CAAT;IAAwC,CAAxC;IAA2CA,wDAAAA;IAA+CA,2DAAAA;;;;;IAAnIA,qEAAAA;;;;;;;;IACjHA,6DAAAA;IAA2BA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,mCAAT;IAA4B,CAA5B;IAA8BA,wDAAAA;IAA6BA,2DAAAA;;;;;;;;IApB9FA,6DAAAA,UAAsD,CAAtD,EAAsD,IAAtD;IAEQA,qDAAAA;IAAOA,2DAAAA;IACXA,6DAAAA;IAAIA,qDAAAA;IAAcA,2DAAAA;IAClBA,6DAAAA;IAAIA,qDAAAA;IAAiBA,2DAAAA;IACrBA,6DAAAA;IAAIA,qDAAAA;IAAgBA,2DAAAA;IACpBA,6DAAAA;IAAIA,qDAAAA;IAAcA,2DAAAA;IAClBA,6DAAAA,WAAI,EAAJ,EAAI,OAAJ;IACSA,qDAAAA;IACLA,yDAAAA;IAGFA,2DAAAA;IAGFA,6DAAAA;IAAIA,qDAAAA;IAAoCA,2DAAAA;IACxCA,6DAAAA,WAAI,EAAJ,EAAI,GAAJ,EAAI,EAAJ;IACuEA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,uCAAT;IAAgC,CAAhC;IAAmCA,wDAAAA;IAA+CA,2DAAAA;IACrJA,6DAAAA;IAA6FA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,0CAAT;IAAmC,CAAnC;IAAsCA,wDAAAA;IAA+CA,2DAAAA;IAClLA,yDAAAA;IACAA,yDAAAA;IAEJA,2DAAAA;;;;;;IApBIA,wDAAAA;IAAAA,gEAAAA;IACAA,wDAAAA;IAAAA,gEAAAA;IACAA,wDAAAA;IAAAA,gEAAAA;IACAA,wDAAAA;IAAAA,gEAAAA;IACAA,wDAAAA;IAAAA,gEAAAA;IAEKA,wDAAAA;IAAAA,iEAAAA;IACDA,wDAAAA;IAAAA,yDAAAA;IAMJA,wDAAAA;IAAAA,gEAAAA;IAGoDA,wDAAAA;IAAAA,qEAAAA;IAChDA,wDAAAA;IAAAA,yDAAAA;IACAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAnC5BA,sEAAAA;IACIA,6DAAAA;IAA8BA,qDAAAA;IAAoBA,2DAAAA;IAClDA,6DAAAA,eAA8B,CAA9B,EAA8B,OAA9B,EAA8B,EAA9B,EAA8B,CAA9B,EAA8B,OAA9B,EAA8B,CAA9B,EAA8B,IAA9B;IAGgBA,qDAAAA;IAAMA,2DAAAA;IACVA,6DAAAA;IAAIA,qDAAAA;IAAcA,2DAAAA;IAClBA,6DAAAA;IAAIA,qDAAAA;IAAaA,2DAAAA;IACjBA,6DAAAA;IAAIA,qDAAAA;IAAQA,2DAAAA;IACZA,6DAAAA;IAAIA,qDAAAA;IAAkBA,2DAAAA;IACtBA,6DAAAA;IAAIA,qDAAAA;IAAMA,2DAAAA;IACVA,6DAAAA;IAAIA,qDAAAA;IAAOA,2DAAAA;IACXA,6DAAAA;IAAIA,qDAAAA;IAAMA,2DAAAA;IAEdA,6DAAAA;IACIA,yDAAAA;IAwBJA,2DAAAA;IAGZA,oEAAAA;;;;;IA3BsCA,wDAAAA;IAAAA,yDAAAA;;;;;;IA6BlCA,6DAAAA;IAA8BA,qDAAAA;IAAoBA,2DAAAA;IAClDA,6DAAAA,eAA8B,CAA9B,EAA8B,OAA9B,EAA8B,EAA9B,EAA8B,CAA9B,EAA8B,IAA9B,EAA8B,CAA9B,EAA8B,IAA9B,EAA8B,CAA9B,EAA8B,GAA9B;IAImBA,qDAAAA;IAAgBA,2DAAAA;;;;;;IAnD3CA,6DAAAA,eAA2H,CAA3H,EAA2H,KAA3H,EAA2H,CAA3H;IAEIA,yDAAAA;IA2CAA,yDAAAA,2FAAAA,qEAAAA;IAaFA,2DAAAA;;;;;;;IAxDiBA,wDAAAA;IAAAA,yDAAAA,2CAAgC,UAAhC,EAAgCoe,KAAhC;;;;;;;;IA2DjBpe,6DAAAA;IACAA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAWA,0DAAAA,4BAAX;IAA4B,CAA5B,EAA6B,WAA7B,EAA6B;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,kBAAQ,IAAR,EAAd;IAA2B,CAAxD,EAA6B,oBAA7B,EAA6B;MAAAA,4DAAAA;MAAA;MAAA,OACNA,0DAAAA,4BADM;IACW,CADxC;IAC+EA,2DAAAA;;;;IAF/DA,yDAAAA,cAAY,OAAZ,EAAY,mBAAZ,EAAY,SAAZ,EAAY,mDAAZ,EAAY,eAAZ,EAAY,YAAZ,EAAY,gBAAZ,EAAY,iBAAZ;;;;ADpTZ,MAAOqe,yBAAP,CAAgC;EAmDpCtf,YACU4K,OADV,EAEUC,WAFV,EAGUC,kBAHV,EAIU3H,qBAJV,EAKU4E,kBALV,EAMUiD,yBANV,EAM6D;IALnD;IACA;IACA;IACA;IACA;IACA;IAvDV,0BAAyC,IAAIqT,0DAAJ,EAAzC;IACU,iBAAY,IAAIhU,wDAAJ,EAAZ;IACV,8BAAiD,IAAIiU,8DAAJ,EAAjD;IACA,wBAA2B,EAA3B;IACA,mBAAuB,KAAvB;IACA,mBAAuB,KAAvB;IACA,wBAA4B,KAA5B;IACA,mBAAuB,KAAvB;IACA,iBAAoB,EAApB;IACA,iBAAoB,EAApB;IACA,mBAAmB,EAAnB;IAIA,uBAAyB,EAAzB;IACA,sBAAwB,EAAxB;IACA,2BAA6B,EAA7B;IACA,cAAkB,KAAlB;IACA,sBAA0B,KAA1B;IACA,kBAAsB,KAAtB;IACA,4BAAgC,KAAhC;IACA,yBAA6B,KAA7B;IACA,oBAAgC,CAAhC;IAIA,mBAAsB,EAAtB;IACA,yBAAyB,EAAzB;IACA,wBAAwB,EAAxB;IACA,eAAe,EAAf;IACA,eAAe,EAAf;IACA,mBAAoB,KAApB;IACA,kBAAmB,KAAnB;IACA,yBAA0B,KAA1B;IACA,oCAAqC,KAArC;IAGA,sBAAsB,EAAtB;IAIA,uBAAyB,CACvB;MAAEzR,EAAE,EAAE,CAAN;MAASmB,IAAI,EAAE,aAAf;MAA8BhK,KAAK,EAAE;IAArC,CADuB,EAEvB;MAAE6I,EAAE,EAAE,CAAN;MAASmB,IAAI,EAAE,iBAAf;MAAkChK,KAAK,EAAE;IAAzC,CAFuB,EAGvB;MAAE6I,EAAE,EAAE,CAAN;MAASmB,IAAI,EAAE,UAAf;MAA2BhK,KAAK,EAAE;IAAlC,CAHuB,EAIvB;MAAE6I,EAAE,EAAE,CAAN;MAASmB,IAAI,EAAE,UAAf;MAA2BhK,KAAK,EAAE;IAAlC,CAJuB,CAAzB;EAeK;;EAELiB,QAAQ;IACN,KAAKsa,MAAL,GAAc,IAAd;IACA,KAAKC,sBAAL;IACA,KAAKzX,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB,KAAKyb,SAAL,GAAiBzb,KAAK,EAAEV,IAAP,EAAa+H,QAA9B;QACA,KAAK0I,UAAL,GAAgB/P,KAAK,EAAEV,IAAvB;MACD;IAJgD,CAAnD;IAOA,KAAKoc,cAAL,GAAsB,IAAtB;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA,KAAKC,kBAAL,CAAwB,CAAxB;IACA,KAAKtL,oBAAL;IAEA,KAAKzJ,WAAL,CAAiBgV,oBAAjB,CAAsCpd,SAAtC,CAAiDC,GAAD,IAAQ;MACtD,IAAIA,GAAJ,EAAS;QACP,KAAKod,YAAL,GAAoBpd,GAApB;;QACA,IAAI,KAAKod,YAAL,GAAoB,KAAKL,SAAzB,IAAsC,KAAKK,YAAL,IAAqB,CAA/D,EAAkE;UAChE,KAAKH,oBAAL,GAA4B,IAA5B;QACD,CAFD,MAEO;UACL,KAAKA,oBAAL,GAA4B,KAA5B;QACD;MACF;IACF,CATD;EAUD;;EACDI,eAAe,IAAY;;EAC3BrS,cAAc,CAACH,KAAD,EAAQyS,MAAR,EAAgBC,SAAhB,EAAyB;IAAA;;IACrC,IAAGD,MAAM,IAAI,CAAV,KAAgB,KAAKE,sBAAL,CAA4BC,aAA5B,IAA6C,QAA7C,IAAyD,KAAKD,sBAAL,CAA4BC,aAA5B,IAA6C,UAAtH,CAAH,EAAqI;MACnI,IAAG,KAAKD,sBAAL,CAA4BE,iBAA5B,IAAiD,mCAAjD,IAAwF,KAAKF,sBAAL,CAA4BE,iBAA5B,IAAiD,EAA5I,EAA+I;QAC7I,KAAKxV,OAAL,CAAa0D,SAAb,CAAuB,iBAAiB,KAAK4R,sBAAL,CAA4BC,aAAa,cAAjF,EAAgG,OAAhG;QACA,KAAKE,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;QACA;MACD;IACF;;IACD,KAAKsc,cAAL,GAAsB,EAAtB;IACA,KAAK1S,KAAL,GAAmBL,KAAK,CAACM,MAAN,CAAaC,KAAb,CAAmB,CAAnB,CAAnB;IACA,IAAIyS,WAAW,GAAG,KAAK,OAAO,IAAZ,CAAlB,CAVqC,CAUA;;IACrC,IAAIC,QAAQ,GAAG,KAAK5S,KAAL,CAAW6S,IAA1B;;IACA,IAAIF,WAAW,IAAIC,QAAnB,EAA6B;MAC3B;MACA,MAAMzS,OAAO,GAAG,KAAKH,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA4B,KAAKL,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,MAA5B,GAAsC,CAAjE,EAAoEC,WAApE,EAAhB;;MACA,IAAIJ,OAAO,IAAI,MAAX,IAAqBA,OAAO,IAAI,KAAhC,IAAyCA,OAAO,IAAI,KAAxD,EAA+D;QAC7D,IAAIiS,MAAM,IAAI,CAAd,EAAiB;UACf,KAAKU,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;QACD,CAFD,MAEO,IAAIgc,MAAM,IAAI,CAAd,EAAiB;UACtB,KAAKW,SAAL,CAAetS,aAAf,CAA6BrK,KAA7B,GAAqC,EAArC;QACD,CAFM,MAEA;UACL,KAAKqc,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;QACD;;QACD,KAAK4G,OAAL,CAAa0D,SAAb,CAAuB,4CAAvB,EAAqE,OAArE;QACA;MACD,CAb0B,CAe3B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;;MACA,IAAIlI,YAAY,GAA4B;QAC1C9C,IAAI,EAAE;UACJuL,IAAI,EAAE,MADF;UAEJC,KAAK,EAAE,qBAFH;UAGJC,MAAM,EAAE,EAHJ;UAIJC,GAAG,EAAE,wGAJD;UAKJC,UAAU,EAAE,SALR;UAMJC,QAAQ,EAAE;QANN;MADoC,CAA5C;;MAWA,IAAIC,eAAe,GACjB,KAAKnE,yBAAL,CAA+B1E,IAA/B,CACEkE,kIADF,EAEEpE,YAFF,CADF;;MAKA+I,eAAe,CAACC,MAAhB,CAAuB3G,IAAvB,CACEgC,6CAAM,CAAE8C,KAAD,IAAU;QACf;QACA,OAAO,CAAC,CAACA,KAAT;MACD,CAHK,CADR,EAKE9K,SALF;QAAA,oKAKY,WAAO2M,MAAP,EAAiB;UAC3B,QAAQA,MAAM,CAACC,IAAf;YACE,KAAK,SAAL;cACEF,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB,EADF,CAGE;;cACA,MAAMwa,UAAU,GAAIX,SAAS,IAAI,mCAAd,GAAqD,EAArD,GAA0DA,SAA7E;cACA,IAAI1R,YAAY,SAAS,KAAI,CAACzD,kBAAL,CAAwBlJ,YAAxB,CAAqC,KAAI,CAACgM,KAA1C,EAAiDgT,UAAjD,CAAzB;;cACA,IAAIrS,YAAY,CAACC,QAAb,IAAyB,CAA7B,EAAgC;gBAC9B,KAAI,CAACqS,SAAL,CAAetS,YAAY,CAACE,SAA5B,EAAuCuR,MAAvC,EAA+C,KAAI,CAACpS,KAAL,CAAWI,IAA1D;cACD,CAFD,MAEO;gBACL,KAAI,CAACpD,OAAL,CAAa0D,SAAb,CAAuBC,YAAY,CAACG,OAApC,EAA6C,OAA7C;cACD;;cACD;;YACF,KAAK,OAAL;cACE,IAAIsR,MAAM,IAAI,CAAd,EAAiB;gBACf,KAAI,CAACU,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;cACD,CAFD,MAEO,IAAIgc,MAAM,IAAI,CAAd,EAAiB;gBACtB,KAAI,CAACW,SAAL,CAAetS,aAAf,CAA6BrK,KAA7B,GAAqC,EAArC;cACD,CAFM,MAEA;gBACL,KAAI,CAACqc,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;cACD;;cACDmL,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;cACA;UAtBJ;QAwBD,CA9BD;;QAAA;UAAA;QAAA;MAAA;IA+BD,CAxED,MAyEK;MACH,KAAKwE,OAAL,CAAagR,QAAb,CAAsB,0CAAtB,EAAkE,MAAlE;IACD;EAGF;;EACDkF,eAAe;IACb,KAAKZ,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;IACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD,CAFa,CAGb;EACD;;EACDzM,oBAAoB;IAClB,KAAK0M,WAAL,GAAmB,EAAnB,CADkB,CAGlB;;IACA,KAAKnW,WAAL,CAAiBnB,WAAjB,CAA6BjH,SAA7B,CAAwCC,GAAD,IAAQ;MAC7C,IAAIA,GAAJ,EAAS;QACP,KAAK2J,QAAL,GAAgB3J,GAAhB;MACD;IACF,CAJD;IAKA,KAAKue,eAAL,GAAuB,EAAvB;IACA,KAAKC,cAAL,GAAsB,EAAtB;IACA,MAAM5U,SAAS,GAAG,KAAKD,QAAL,CAAcE,QAAhC;;IACA,IAAID,SAAS,CAAC6U,cAAV,IAA4B7U,SAAS,CAAC6U,cAAV,CAAyBjT,MAAzB,GAAkC,CAAlE,EAAqE;MACnE,KAAK+S,eAAL,GAAuB3U,SAAS,CAAC6U,cAAjC;MACA7U,SAAS,CAAC6U,cAAV,CAAyBzE,OAAzB,CAAiC,CAACC,OAAD,EAAU9E,KAAV,KAAmB;QAClD,IAAIA,KAAK,IAAI,CAAb,EAAgB;UACd;UACA,KAAK0H,MAAL,GAAc5C,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAoB,IAApB,GAA4BiY,OAAO,CAACjY,MAAR,IAAkB,CAAlB,KAAwBiY,OAAO,CAACyE,OAAR,IAAmB,CAAnB,IAAwBzE,OAAO,CAACyE,OAAR,IAAmB,CAAnE,MAA2EzE,OAAO,CAAC0E,OAAR,IAAmB,CAAnB,IAAwB1E,OAAO,CAAC0E,OAAR,IAAmB,CAAtH,CAAD,IAA+H,CAAC1E,OAAO,CAACjY,MAAxI,GAAiJ,IAAjJ,GAAwJ,KAAjM;UACA,IAAG,CAACiY,OAAO,CAAC0E,OAAZ,EAAqB,KAAK9B,MAAL,GAAc,KAAd;;UACrB,IAAG,EAAE5C,OAAO,CAACjY,MAAR,IAAkBiY,OAAO,CAAC0E,OAA5B,CAAH,EAAyC;YACvC,KAAKC,iBAAL,GAAyB,IAAzB;UACD,CANa,CAOd;;;UACA,KAAKC,UAAL,GAAiB5E,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAoB,KAApB,GAA6BiY,OAAO,CAACjY,MAAR,IAAkB,CAAlB,IAAuBiY,OAAO,CAACyE,OAAR,IAAmB,CAA3C,IAAgDzE,OAAO,CAACjY,MAAR,IAAkB,CAAlB,IAAuBiY,OAAO,CAACyE,OAAR,IAAmB,CAA1F,GAA8F,IAA9F,GAAqGzE,OAAO,CAACjY,MAAR,IAAkB,CAAlB,KAAwBiY,OAAO,CAACyE,OAAR,IAAmB,CAAnB,IAAwBzE,OAAO,CAACyE,OAAR,IAAmB,CAAnE,MAA2EzE,OAAO,CAAC0E,OAAR,IAAmB,CAAnB,IAAwB1E,OAAO,CAAC0E,OAAR,IAAmB,CAAtH,CAAD,IAA+H,CAAC1E,OAAO,CAACjY,MAAxI,GAAiJ,KAAjJ,GAAyJ,IAA1S;UACA,KAAK8c,iBAAL,GAAuB7E,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAsB,IAAtB,GAA4B,KAAnD;UACA,KAAKwb,sBAAL,CAA4BlS,IAA5B,GAAmC,EAAnC;UACA,KAAKkS,sBAAL,CAA4BlS,IAA5B,GAAmC2O,OAAO,CAAC8E,SAA3C;UACA,KAAKvB,sBAAL,CAA4BwB,MAA5B,GAAqC/E,OAAO,CAAC+E,MAA7C;UACA,KAAKxB,sBAAL,CAA4ByB,KAA5B,GAAoChF,OAAO,CAACgF,KAA5C;UACA,KAAKzB,sBAAL,CAA4Bc,WAA5B,GAA0CrE,OAAO,CAAC9P,EAAlD;UACA,KAAKmU,WAAL,GAAmBrE,OAAO,CAAC9P,EAA3B;UACA,KAAK+U,UAAL,GAAkBjF,OAAO,CAACyE,OAAR,IAAmB,CAAnB,IAAwBzE,OAAO,CAACyE,OAAR,IAAmB,CAA5C,GAAgD,KAAhD,GAAsD,IAAvE;UACA,KAAKlB,sBAAL,CAA4BC,aAA5B,GAA4CxD,OAAO,CAACjY,MAAR,IAAkB,CAAlB,IAAwBiY,OAAO,CAACjY,MAAR,IAAkB,CAAlB,KAAwBiY,OAAO,CAAC0E,OAAR,IAAmB,CAAnB,IAAwB1E,OAAO,CAAC0E,OAAR,IAAmB,CAAnE,CAAxB,GAA+F,EAA/F,GAAmG1E,OAAO,CAACtN,IAAR,IAAgB,SAAhB,GAA4B,SAA5B,GAAwCsN,OAAO,CAACtN,IAA/L;UACA,KAAK6Q,sBAAL,CAA4B2B,gBAA5B,GAA8ClF,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAoBiY,OAAO,CAACmF,QAA5B,GAAyCnF,OAAO,CAACyE,OAAR,IAAmB,CAAnB,IAAwBzE,OAAO,CAACyE,OAAR,IAAmB,CAA7C,IAAkDzE,OAAO,CAACjY,MAAR,IAAkB,CAAlB,IAAuBiY,OAAO,CAACyE,OAAR,IAAmB,CAA5F,IAAiGzE,OAAO,CAACjY,MAAR,IAAkB,CAAlB,IAAuBiY,OAAO,CAACyE,OAAR,IAAmB,CAA3I,GAA8I,mCAA9I,GAAoLzE,OAAO,CAACmF,QAAR,GAAmBnF,OAAO,CAACmF,QAA3B,GAAsC,mCAA/S;UACA,KAAK5B,sBAAL,CAA4BE,iBAA5B,GAA+CzD,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAoBiY,OAAO,CAACoF,OAA5B,GAAyCpF,OAAO,CAAC0E,OAAR,IAAmB,CAAnB,IAAuB1E,OAAO,CAAC0E,OAAR,IAAmB,CAA7C,GAAgD,mCAAhD,GAAsF1E,OAAO,CAACoF,OAAR,GAAkBpF,OAAO,CAACoF,OAA1B,GAAoC,mCAA/M;UACA,KAAK7B,sBAAL,CAA4Ba,iBAA5B,GAA+CpE,OAAO,CAACjY,MAAR,IAAkB,CAAlB,GAAoBiY,OAAO,CAACqF,QAA5B,GAA0CrF,OAAO,CAAC0E,OAAR,IAAmB,CAAnB,IAAwB1E,OAAO,CAAC0E,OAAR,IAAmB,CAA9C,GAAiD,mCAAjD,GAAuF1E,OAAO,CAACqF,QAAR,GAAmBrF,OAAO,CAACqF,QAA3B,GAAsC,mCAAnN;UACA,KAAK9B,sBAAL,CAA4Bxb,MAA5B,GAAqCiY,OAAO,CAACjY,MAA7C;UACA,KAAKwb,sBAAL,CAA4B+B,OAA5B,GAAoCtF,OAAO,CAACsF,OAA5C;QACD,CAvBD,MAwBK;UACH,KAAKf,cAAL,CAAoB9D,IAApB,CAAyB;YACvB8E,QAAQ,EAAEvF,OAAO,CAACmF,QADK;YAEvBK,WAAW,EAAExF,OAAO,CAACoF,OAFE;YAGvBK,gBAAgB,EAAEzF,OAAO,CAACqF,QAHH;YAIvBhU,IAAI,EAAE2O,OAAO,CAAC8E,SAJS;YAKvBC,MAAM,EAAC/E,OAAO,CAAC+E,MALQ;YAMvBC,KAAK,EAAChF,OAAO,CAACgF,KANS;YAOvBtS,IAAI,EAAEsN,OAAO,CAACtN,IAAR,IAAgB,SAAhB,GAA4B,SAA5B,GAAwCsN,OAAO,CAACtN,IAP/B;YAQvB2R,WAAW,EAAErE,OAAO,CAAC9P,EARE;YASvBnI,MAAM,EAAEiY,OAAO,CAACjY,MATO;YAUvBud,OAAO,EAAEtF,OAAO,CAACsF,OAVM;YAWvBZ,OAAO,EAAC1E,OAAO,CAAC0E,OAXO;YAYvBD,OAAO,EAACzE,OAAO,CAACyE;UAZO,CAAzB;QAcD;MACF,CAzCD;IA0CD;EACF;;EAEDiB,cAAc;IACZ,KAAKC,4BAAL,GAAkC,IAAlC;IACA,KAAK1C,kBAAL,CAAwB,CAAxB;IACA,KAAKF,cAAL,GAAsB,KAAtB;IACA,KAAK6C,mBAAL,GAA2B,EAA3B;IACA,KAAKA,mBAAL,CAAyBnF,IAAzB,CAA8B;MAC5BpP,IAAI,EAAE,KAAKkS,sBAAL,CAA4BlS,IADN;MAE5B0T,MAAM,EAAE,KAAKxB,sBAAL,CAA4BwB,MAFR;MAG5BC,KAAK,EAAE,KAAKzB,sBAAL,CAA4ByB,KAHP;MAI5BxB,aAAa,EAAE,KAAKD,sBAAL,CAA4BC,aAJf;MAK5B0B,gBAAgB,EAAE,KAAK3B,sBAAL,CAA4B2B,gBALlB;MAM5BzB,iBAAiB,EAAE,KAAKF,sBAAL,CAA4BE,iBANnB;MAO5BW,iBAAiB,EAAE,KAAKb,sBAAL,CAA4Ba,iBAPnB;MAQ5BlU,EAAE,EAAE,KAAKqT,sBAAL,CAA4Bc,WARJ;MAS5Btc,MAAM,EAAE,KAAKwb,sBAAL,CAA4Bxb;IATR,CAA9B;IAYA,KAAK8a,sBAAL;IACA,MAAMgD,YAAY,GAAG,KAAKtB,cAAL,CAAoBzW,MAApB,CAA2B6K,CAAC,IAAI,CAACA,CAAC,CAAC6M,WAAH,IAAkB,CAAC7M,CAAC,CAAC4M,QAArB,IAAiC5M,CAAC,CAAC+L,OAAF,IAAa,CAA9C,IAAmD/L,CAAC,CAAC8L,OAAF,IAAa,CAAhG,CAArB,CAlBY,CAmBZ;IACA;;IACA,IAAIoB,YAAY,CAACtU,MAAb,GAAsB,CAA1B,EAA6B;MAAE,KAAKuU,YAAL,CAAkBD,YAAY,CAAC,CAAD,CAA9B;IAAoC;EACpE;;EAEDE,mBAAmB,CAACnV,KAAD,EAAQoV,MAAR,EAAgBC,QAAhB,EAA0B3C,SAA1B,EAAmC;IACpD,KAAK4C,WAAL,GAAmBD,QAAnB;;IACA,IAAI,KAAK7O,UAAL,CAAgBqK,MAAhB,IAA0B,CAA1B,IAA+B,CAAC,KAAK0E,gBAAzC,EAA2D;MACzD;IACD;;IACD,IAAK,KAAKD,WAAL,IAAoB,GAArB,IAA8B/d,MAAM,CAAC,KAAKuH,QAAL,CAAc0W,UAAf,CAAN,GAAmC,CAAnC,IAAwCje,MAAM,CAAC,KAAKuH,QAAL,CAAc0W,UAAf,CAAN,GAAmC,CAAnC,IAAwC,KAAK7B,cAAL,CAAoBhT,MAApG,IAA8G,CAAC,KAAK4U,gBAAtJ,EAAyK;MACvK,KAAKlY,OAAL,CAAagR,QAAb,CAAsB,6BAA6B9W,MAAM,CAAC,KAAKuH,QAAL,CAAc0W,UAAf,CAAN,GAAmC,CAAC,YAAvF,EAAqG,MAArG;MACA;IACD;;IAED,IAAIC,KAAK,GAAG,KAAK9C,sBAAL,EAA6BlS,IAA7B,CAAkC8I,IAAlC,EAAZ;;IACA,IAAI6L,MAAM,IAAI,CAAV,IAAe,CAACK,KAApB,EAA2B;MACzB,KAAKpY,OAAL,CAAaqY,WAAb,CAAyB,GAAG,KAAKC,kBAAL,CAAwBC,SAAS,cAA7D,EAA4E,SAA5E;MACA,KAAKzC,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;MACA;IACD;;IACD,IAAIof,MAAM,GAAG,KAAKlD,sBAAL,EAA6BwB,MAA7B,CAAoC5K,IAApC,EAAb;;IACA,IAAI6L,MAAM,IAAI,CAAV,KAAgB,CAACS,MAAD,IAAW,CAAC,KAAKC,MAAL,CAAY3O,KAAxC,CAAJ,EAAqD;MACnD,IAAG,CAAC0O,MAAJ,EACA,KAAKxY,OAAL,CAAaqY,WAAb,CAAyB,GAAG,KAAKC,kBAAL,CAAwBI,YAAY,cAAhE,EAA+E,SAA/E;MACA,KAAK5C,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;MACA;IACD;;IACD,IAAIuf,MAAM,GAAG,KAAKrD,sBAAL,EAA6ByB,KAA7B,CAAmC7K,IAAnC,EAAb;;IACA,IAAI6L,MAAM,IAAI,CAAV,KAAgB,CAACY,MAAD,IAAW,CAAC,KAAKC,KAAL,CAAW9O,KAAvC,CAAJ,EAAmD;MACjD,IAAG,CAAC6O,MAAJ,EACA,KAAK3Y,OAAL,CAAaqY,WAAb,CAAyB,GAAG,KAAKC,kBAAL,CAAwBO,OAAO,cAA3D,EAA0E,SAA1E;MACA,KAAK/C,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;MACA;IACD;;IACD,IAAI0f,MAAM,GAAG,KAAKxD,sBAAL,EAA6BC,aAA1C;;IACA,IAAIwC,MAAM,IAAI,CAAd,EAAiB;MACf,IAAI,KAAKzC,sBAAL,CAA4B2B,gBAA5B,IAAgD,mCAApD,EAAyF;QACvF,KAAKjX,OAAL,CAAaqY,WAAb,CAAyB,8BAAzB,EAAyD,SAAzD;QACA,KAAKvC,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;QACA;MACD;;MACD,IAAI,CAAC0f,MAAL,EAAa;QACX,KAAK9Y,OAAL,CAAaqY,WAAb,CACE,uDADF,EAEE,SAFF;QAIA,KAAKtC,SAAL,CAAetS,aAAf,CAA6BrK,KAA7B,GAAqC,EAArC;QACA,KAAKqc,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;QACA;MACD;IACF;;IACD,KAAK0J,cAAL,CAAoBH,KAApB,EAA2BoV,MAA3B,EAAmC1C,SAAnC;EACD;;EAGD0D,WAAW;IACT,KAAKrB,4BAAL,GAAkC,KAAlC;IACA,KAAK5C,cAAL,GAAsB,IAAtB;IACA,KAAKE,kBAAL,CAAwB,CAAxB;IACA,KAAKJ,sBAAL;IACA,KAAKU,sBAAL,GAA8B,IAAI5B,8DAAJ,EAA9B;IACA,KAAK0C,WAAL,GAAmB,KAAKuB,mBAAL,CAAyB,CAAzB,EAA4B1V,EAA/C;IACA,KAAKqT,sBAAL,CAA4Bc,WAA5B,GAA0C,KAAKuB,mBAAL,CAAyB,CAAzB,EAA4B1V,EAAtE;IACA,KAAKqT,sBAAL,CAA4BlS,IAA5B,GAAmC,KAAKuU,mBAAL,CAAyB,CAAzB,EAA4BvU,IAA/D;IACA,KAAKkS,sBAAL,CAA4BwB,MAA5B,GAAqC,KAAKa,mBAAL,CAAyB,CAAzB,EAA4Bb,MAAjE;IACA,KAAKxB,sBAAL,CAA4ByB,KAA5B,GAAoC,KAAKY,mBAAL,CAAyB,CAAzB,EAA4BZ,KAAhE;IACA,KAAKzB,sBAAL,CAA4BC,aAA5B,GAA4C,KAAKoC,mBAAL,CAAyB,CAAzB,EAA4BpC,aAAxE;IACA,KAAKD,sBAAL,CAA4B2B,gBAA5B,GAA+C,KAAKU,mBAAL,CAAyB,CAAzB,EAA4BV,gBAA3E;IACA,KAAK3B,sBAAL,CAA4BE,iBAA5B,GAAgD,KAAKmC,mBAAL,CAAyB,CAAzB,EAA4BnC,iBAA5E;IACA,KAAKF,sBAAL,CAA4Bxb,MAA5B,GAAqC,KAAK6d,mBAAL,CAAyB,CAAzB,EAA4B7d,MAAjE;IACA,KAAKwb,sBAAL,CAA4Ba,iBAA5B,GAAgD,KAAKwB,mBAAL,CAAyB,CAAzB,EAA4BxB,iBAA5E;EACD;;EACDnB,kBAAkB,CAACgE,OAAD,EAAQ;IACxB,KAAKV,kBAAL,CAAwBW,OAAxB,GACED,OAAO,IAAI,CAAX,GACI,6BADJ,GAEI,kBAHN;IAIA,KAAKV,kBAAL,CAAwBY,cAAxB,GACEF,OAAO,IAAI,CAAX,GAAe,YAAf,GAA8B,YADhC;IAEA,KAAKV,kBAAL,CAAwBC,SAAxB,GACES,OAAO,IAAI,CAAX,GAAe,aAAf,GAA+B,eADjC;IAEA,KAAKV,kBAAL,CAAwBa,cAAxB,GACEH,OAAO,IAAI,CAAX,GACI,oCADJ,GAEI,2BAHN;IAIA,KAAKV,kBAAL,CAAwBc,gBAAxB,GAA2C,eAA3C;IACA,KAAKd,kBAAL,CAAwBI,YAAxB,GAAuC,eAAvC;IACA,KAAKJ,kBAAL,CAAwBO,OAAxB,GAAkC,UAAlC;EAED;;EACDjE,sBAAsB;IACpB,KAAKU,sBAAL,CAA4BlS,IAA5B,GAAmC,EAAnC;IACA,KAAKkS,sBAAL,CAA4BwB,MAA5B,GAAqC,EAArC;IACA,KAAKxB,sBAAL,CAA4ByB,KAA5B,GAAoC,EAApC;IACA,KAAKzB,sBAAL,CAA4BC,aAA5B,GAA4C,EAA5C;IACA,KAAK8D,WAAL,GAAmB,KAAnB;IACA,KAAKnB,gBAAL,GAAwB,KAAxB;IACA,KAAKoB,iBAAL,GAAyB,EAAzB;IACA,KAAKC,gBAAL,GAAwB,EAAxB;IACA,KAAKjE,sBAAL,CAA4B2B,gBAA5B,GAA+C,mCAA/C;IACA,KAAK3B,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;IACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;EACD;;EAEDqD,YAAY,CAAC9gB,IAAD,EAAK;IACf,IAAIU,KAAK,GAAW,EAApB;IACA,IAAIqgB,SAAS,GAAG/gB,IAAI,CAAC2K,KAAL,CAAW,GAAX,CAAhB;IACAjK,KAAK,GAAGqgB,SAAS,CAACA,SAAS,CAACnW,MAAV,GAAmB,CAApB,CAAjB;IACA,OAAOlK,KAAP;EACD;;EACD6c,SAAS,CAACyD,MAAD,EAASC,OAAT,EAAkBC,QAAlB,EAA0B;IACjC,IAAItO,OAAO,GAAG,IAAI/T,QAAJ,EAAd;;IACA,QAAQoiB,OAAR;MACE,KAAK,CAAL;QACE,KAAK7D,WAAL,CAAiBrS,aAAjB,CAA+BrK,KAA/B,GAAuC,EAAvC;QACA,KAAKkc,sBAAL,CAA4B2B,gBAA5B,GAA+CyC,MAA/C;QACApO,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAvB;QACA8T,OAAO,CAAC9T,MAAR,CAAe,OAAf,EAAwB,KAAK8d,sBAAL,CAA4ByB,KAApD;QACAzL,OAAO,CAAC9T,MAAR,CAAe,QAAf,EAAyB,KAAK8d,sBAAL,CAA4BwB,MAArD;;QACA,IAAG,CAAC,KAAK+C,WAAT,EAAqB;UACnB,KAAKzD,WAAL,GAAmB,KAAK8B,gBAAL,GAAwB,KAAK5C,sBAAL,CAA4Bc,WAApD,GAAmE,KAAK6B,WAAL,IAAoB,GAApB,GAA0B,EAA1B,GAAgC,KAAK3C,sBAAL,CAA4Bc,WAA5B,GAA0C,KAAKd,sBAAL,CAA4Bc,WAAtE,GAAoF,EAA1M;QACD;;QACD;;MACF,KAAK,CAAL;QACE,KAAKL,SAAL,CAAetS,aAAf,CAA6BrK,KAA7B,GAAqC,EAArC;QACAkS,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAK8d,sBAAL,CAA4BC,aAAnD;QACA,IAAI,KAAKD,sBAAL,CAA4BC,aAA5B,IAA6C,QAA7C,IAAyD,KAAKD,sBAAL,CAA4BC,aAA5B,IAA6C,UAA1G,EACEjK,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,GAA1B;QACF,KAAK8d,sBAAL,CAA4BE,iBAA5B,GAAgDkE,MAAhD;QACA,KAAKI,OAAL,GAAe,KAAK9W,KAApB;QACA;;MACF,KAAK,CAAL;QACE,KAAKyS,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;QACAkS,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAK8d,sBAAL,CAA4BC,aAAnD;QACAjK,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,GAA1B;QACA,KAAK8d,sBAAL,CAA4Ba,iBAA5B,GAAgDuD,MAAhD;QACA,KAAKK,OAAL,GAAe,KAAK/W,KAApB;QACA;IAzBJ;;IA2BA,IAAI,KAAKoT,WAAT,EAAsB;MACpB9K,OAAO,CAAC9T,MAAR,CAAe,IAAf,EAAqB,KAAK4e,WAA1B;IACD;;IACD9K,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAKwL,KAA5B;IACAsI,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0BkiB,MAA1B;IACApO,OAAO,CAAC9T,MAAR,CAAe,WAAf,EAA4B,KAAK8d,sBAAL,CAA4BlS,IAAxD;IACA,KAAKsS,cAAL,CAAoBsE,MAApB,GAA6B,KAAK1E,sBAAL,CAA4BlS,IAAzD;;IACA,IAAI,KAAKkS,sBAAL,CAA4BC,aAA5B,IAA6C,QAAjD,EAA4D;MAC1D,MAAM0E,QAAQ,GAAG;QAAEhY,EAAE,EAAE,KAAKmU,WAAX;QAAwBnf,IAAI,EAAE,KAAK6iB,OAAnC;QAA4CI,KAAK,EAAE,KAAKH,OAAxD;QAAiEI,QAAQ,EAAE,KAAK7E,sBAAL,CAA4BE,iBAAvG;QAA0H4E,QAAQ,EAAE,KAAK9E,sBAAL,CAA4Ba;MAAhK,CAAjB;;MACA,IAAIwD,OAAO,IAAI,CAAf,EAAkB;QAChB,KAAKU,cAAL,CAAoBJ,QAApB;MACD;IACF,CALD,MAKO;MACL,KAAKK,gBAAL,CAAsBhP,OAAtB,EAA+BqO,OAA/B;IACD;EAEF;;EACDW,gBAAgB,CAACC,QAAD,EAAWC,QAAX,EAAmB;IAEjC,KAAKva,WAAL,CAAiBwa,YAAjB,CAA8BF,QAA9B,EAAwC1iB,SAAxC,CACE;MACE2F,IAAI,EAAG1F,GAAD,IAAa;QACjB,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAtB,EAA2B;UACzB,IAAIlN,GAAG,CAACmN,QAAR,EAAkB;YAChB,IAAIuV,QAAQ,IAAI,CAAhB,EAAkB;cAChB,KAAKX,WAAL,GAAiB,IAAjB;cACA,KAAKzD,WAAL,GAAmBte,GAAG,CAACmK,EAAvB;cACA,KAAKqT,sBAAL,CAA4B2B,gBAA5B,GAA+C,mCAA/C;YACD,CAJD,MAIM,IAAGuD,QAAQ,IAAI,CAAf,EAAiB;cACrB,KAAKlF,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;YACD,CAFK,MAED;cACH,KAAKF,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;cACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;YACD;;YACD,KAAKnW,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;UACD,CAZD,MAaK,IAAI,CAAChM,GAAG,CAACmN,QAAL,IAAiBnN,GAAG,CAACoN,eAAzB,EAA0C;YAAC,KAAK2U,WAAL,GAAiB,KAAjB;YAC9C,KAAKzD,WAAL,GAAmBte,GAAG,CAACmK,EAAvB;;YACA,IAAIuY,QAAQ,IAAI,CAAhB,EAAmB;cACjB,MAAME,UAAU,GAAG,IAAInjB,QAAJ,EAAnB;cACAmjB,UAAU,CAACljB,MAAX,CAAkB,IAAlB,EAAwB,KAAK4e,WAA7B;cACAsE,UAAU,CAACljB,MAAX,CAAkB,YAAlB,EAAgCM,GAAG,CAACY,IAAJ,CAASiP,UAAzC;cACA+S,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8BM,GAAG,CAACY,IAAJ,CAASme,SAAvC;cACA,KAAKnB,cAAL,CAAoBiF,MAApB,GAA6B7iB,GAAG,CAACY,IAAJ,CAASme,SAAtC;cACA,KAAK5W,WAAL,CAAiB2a,YAAjB,CAA8BF,UAA9B,EAA0C7iB,SAA1C,CAAqD+T,KAAD,IAAU;gBAC5D,IAAI9T,GAAG,CAACkN,UAAJ,IAAkB,GAAtB,EAA2B;kBACzB,IAAIlN,GAAG,CAACmN,QAAR,EAAkB;oBAChB,KAAK4U,WAAL,GAAiB,IAAjB;oBACA,KAAK7Z,OAAL,CAAa0D,SAAb,CAAuBkI,KAAK,CAAC9H,OAA7B,EAAsC,OAAtC;oBACA,KAAKwR,sBAAL,CAA4B2B,gBAA5B,GAA+C,mCAA/C;kBACD,CAJD,MAIO;oBACL,KAAKS,4BAAL,GAAkC,KAAlC;oBACA,KAAKV,UAAL,GAAgB,IAAhB;oBACA,KAAK6C,WAAL,GAAiB,KAAjB;oBACA,KAAK7Z,OAAL,CAAaoF,WAAb,CAAyBwG,KAAK,CAAC9H,OAA/B,EAAwC,SAAxC;oBACA,KAAKuV,WAAL,GAAmB,IAAnB;oBACA,KAAK1E,MAAL,GAAc,KAAd;oBACA,KAAKgC,UAAL,GAAkB,IAAlB;kBACD;gBACF,CAdD,MAcO;kBACL,KAAK3W,OAAL,CAAa0D,SAAb,CAAuBkI,KAAK,CAAC9H,OAA7B,EAAsC,OAAtC;gBACD;cACF,CAlBD;YAmBD,CAzBD,MAyBO;cACL,KAAK4R,cAAL,CAAoBmF,OAApB,GAA8B/iB,GAAG,CAACY,IAAJ,CAASme,SAAvC;;cACA,IAAI,KAAKvB,sBAAL,CAA4BC,aAA5B,IAA6C,SAA7C,IAA0D,KAAKD,sBAAL,CAA4BC,aAA5B,IAA6C,SAA3G,EAAsH;gBACpH,IAAIuF,SAAS,GAAG9d,6FAAhB;gBACA,IAAIge,UAAU,GAAG,EAAjB;gBACA,MAAMN,UAAU,GAAG,IAAInjB,QAAJ,EAAnB;gBACAmjB,UAAU,CAACljB,MAAX,CAAkB,IAAlB,EAAwB,KAAK4e,WAA7B;gBACAsE,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8BM,GAAG,CAACY,IAAJ,CAASme,SAAvC;gBACA6D,UAAU,CAACljB,MAAX,CAAkB,MAAlB,EAA0B,KAAK8d,sBAAL,CAA4BC,aAAtD;;gBACA,QAAQ,KAAKD,sBAAL,CAA4BC,aAApC;kBACE,KAAK,SAAL;oBACEmF,UAAU,CAACljB,MAAX,CAAkB,SAAlB,EAA6BM,GAAG,CAACY,IAAJ,CAASuiB,WAAT,GAAuBnjB,GAAG,CAACY,IAAJ,CAASuiB,WAAhC,GAA8C,WAA3E;oBACAD,UAAU,GAAGF,SAAS,CAACI,aAAvB;oBACA;;kBACF,KAAK,SAAL;oBACER,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8BM,GAAG,CAACY,IAAJ,CAASyiB,QAAvC;oBACAT,UAAU,CAACljB,MAAX,CAAkB,KAAlB,EAAyBM,GAAG,CAACY,IAAJ,CAAS0iB,GAAlC;oBACAJ,UAAU,GAAGF,SAAS,CAACO,QAAvB;oBACA;gBATJ;;gBAWA,KAAKpb,WAAL,CAAiBqb,iBAAjB,CAAmCZ,UAAnC,EAA+CM,UAA/C,EAA2DnjB,SAA3D,CAAsEiG,MAAD,IAAW;kBAC9E,IAAIA,MAAM,CAACkH,UAAP,IAAqB,GAAzB,EAA8B;oBAC5B,IAAIlH,MAAM,CAACmH,QAAX,EAAqB;sBACnB,KAAK2R,iBAAL,GAAuB,IAAvB;sBACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuB5F,MAAM,CAACgG,OAA9B,EAAuC,OAAvC;sBACA,KAAKwR,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;oBACD,CAJD,MAIO;sBACL,KAAKoB,iBAAL,GAAuB,KAAvB;sBACA,KAAKnJ,eAAL,CAAqB3P,MAArB;sBACA,KAAKyd,YAAL;;sBACA,IAAI,KAAKtD,WAAL,IAAoB,GAAxB,EAA6B;wBAC3B,KAAKuD,gBAAL,CAAsB1d,MAAtB;sBACD,CAFD,MAEO;wBAAE,KAAKiX,oBAAL,GAA4B,KAAK9U,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAA5C,GAAiD,IAAjD,GAAwD,KAApF;sBAA4F;;sBACrG,KAAKN,OAAL,CAAaoF,WAAb,CAAyBtH,MAAM,CAACgG,OAAhC,EAAyC,SAAzC;oBACD;kBAEF,CAfD,MAeO;oBACL,KAAK9D,OAAL,CAAa0D,SAAb,CAAuB5F,MAAM,CAACgG,OAA9B,EAAuC,OAAvC;kBACD;gBACF,CAnBD,GAmBK2B,GAAD,IAAa;kBACf,KAAKmR,iBAAL,GAAuB,IAAvB;kBACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;gBACD,CAtBD;gBAsBE;cACH,CAzCD,MAyCO;gBACL,IAAI0W,QAAQ,IAAI,CAAhB,EAAmB;kBACjB,KAAKlB,iBAAL,GAAyBxhB,GAAG,CAACY,IAA7B;gBACD;;gBACD,IAAI8hB,QAAQ,IAAI,CAAhB,EAAmB;kBACjB,KAAKjB,gBAAL,GAAwBzhB,GAAG,CAACY,IAA5B;kBACE,MAAMgiB,UAAU,GAAG,IAAInjB,QAAJ,EAAnB;kBACAmjB,UAAU,CAACljB,MAAX,CAAkB,IAAlB,EAAwB,KAAK4e,WAA7B;kBACAsE,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8B,KAAK8hB,iBAAL,CAAuBzC,SAArD;kBACA6D,UAAU,CAACljB,MAAX,CAAkB,MAAlB,EAA0B,KAAK8d,sBAAL,CAA4BC,aAAtD;kBACAmF,UAAU,CAACljB,MAAX,CAAkB,SAAlB,EAA6B,KAAK8d,sBAAL,CAA4BE,iBAAzD;kBACAkF,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8B,KAAK8d,sBAAL,CAA4Ba,iBAA1D;kBACAuE,UAAU,CAACljB,MAAX,CAAkB,aAAlB,EAAiC,KAAK+hB,gBAAL,CAAsBkC,QAAvD;kBACAf,UAAU,CAACljB,MAAX,CAAkB,KAAlB,EAAyB,KAAK8hB,iBAAL,CAAuB8B,GAAhD;kBACAV,UAAU,CAACljB,MAAX,CAAkB,YAAlB,EAAgC,KAAK8hB,iBAAL,CAAuBoC,YAAvD;kBAEA,KAAKzb,WAAL,CAAiB0b,QAAjB,CAA0BjB,UAA1B,EAAsC7iB,SAAtC,CACG+jB,KAAD,IAAU;oBACV,IAAIA,KAAK,CAAC5W,UAAN,IAAoB,GAAxB,EAA6B;sBAC3B,IAAI4W,KAAK,CAAC3W,QAAV,EAAoB;wBAClB,KAAK2R,iBAAL,GAAuB,IAAvB;wBACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuBkY,KAAK,CAAC9X,OAA7B,EAAsC,OAAtC;wBACA,KAAKwR,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;wBACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;sBACD,CALD,MAMK;wBACH,KAAKS,iBAAL,GAAuB,KAAvB;wBACA,KAAK5W,OAAL,CAAaoF,WAAb,CAAyBwW,KAAK,CAAC9X,OAA/B,EAAwC,SAAxC;wBACA,KAAK2J,eAAL,CAAqBmO,KAArB;wBACA,KAAKL,YAAL;;wBACA,IAAI,KAAKtD,WAAL,IAAoB,GAAxB,EAA6B;0BAC3B,KAAKuD,gBAAL,CAAsBI,KAAtB;wBACD,CAFD,MAEO;0BAAE,KAAK7G,oBAAL,GAA4B,KAAK9U,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAA5C,GAAiD,IAAjD,GAAwD,KAApF;wBAA4F;sBACtG;oBAEF,CAjBD,MAiBO;sBACL,KAAKN,OAAL,CAAa0D,SAAb,CAAuBkY,KAAK,CAAC9X,OAA7B,EAAsC,OAAtC;oBACD;kBACF,CAtBD,GAsBK2B,GAAD,IAAa;oBACf,KAAKmR,iBAAL,GAAuB,IAAvB;oBACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;kBACD,CAzBD;gBA0BH;cACF;YACF;UACF,CAnHI,MAmHE;YACL,KAAK+V,WAAL,GAAiB,KAAjB;YACA,KAAKzD,WAAL,GAAmBte,GAAG,CAACmK,EAAvB;;YACA,IAAIuY,QAAQ,IAAI,CAAhB,EAAmB;cACjB,KAAK9C,4BAAL,GAAkC,KAAlC;cACA,KAAKV,UAAL,GAAgB,IAAhB;cACA,KAAKhX,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;cACA,KAAKuV,WAAL,GAAmB,IAAnB;cACA,KAAK1E,MAAL,GAAc,KAAd;cACA,KAAKgC,UAAL,GAAkB,IAAlB;YACD,CAPD,MAQI;cACF,IAAI6D,QAAQ,IAAI,CAAZ,IAAiB,KAAKlF,sBAAL,CAA4BC,aAA5B,IAA6C,UAAlE,EAA8E;gBAC5E,KAAK+D,iBAAL,GAAyBxhB,GAAG,CAACY,IAA7B;gBACA,KAAKsH,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;cACD,CAHD,MAGK;gBACH,KAAK2J,eAAL,CAAqB3V,GAArB;gBACA,KAAKyjB,YAAL;;gBACA,IAAI,KAAKtD,WAAL,IAAoB,GAAxB,EAA6B;kBAC3B,KAAKuD,gBAAL,CAAsB1jB,GAAtB;gBACD,CAFD,MAEO;kBAAE,KAAKid,oBAAL,GAA4B,KAAK9U,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAA5C,GAAiD,IAAjD,GAAwD,KAApF;gBAA4F;;gBACrG,KAAKN,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;cACD;;cACD,KAAK8S,iBAAL,GAAuB,KAAvB;YACD;UACF;QAEF,CA5JD,MA4JO;UACL,IAAI4D,QAAQ,IAAI,CAAZ,IAAiB,KAAKvC,WAAL,IAAoB,GAAzC,EAA8C;YAC5C,KAAK4B,WAAL,GAAiB,IAAjB;YACA,KAAKzD,WAAL,GAAmBte,GAAG,EAAEmK,EAAL,GAAUnK,GAAG,EAAEmK,EAAf,GAAoB,KAAKmU,WAA5C;UACD;;UACD,KAAKyF,SAAL,CAAerB,QAAf;UACA,KAAKxa,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;QACD;MACF,CAtKH;MAsKK0B,KAAK,EAAGC,GAAD,IAAa;QACrB,KAAKoW,SAAL,CAAerB,QAAf;QACA,KAAKxa,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;QACA,KAAK8S,iBAAL,GAAuB,IAAvB;MACD;IA1KH,CADF;EA8KD;;EACDiF,SAAS,CAACrB,QAAD,EAAc;IACrB,IAAIA,QAAQ,IAAI,CAAhB,EAAmB;MAAE,KAAKlF,sBAAL,CAA4B2B,gBAA5B,GAA+C,mCAA/C;IAAoF,CAAzG,MACK,IAAIuD,QAAQ,IAAI,CAAhB,EAAmB;MAAE,KAAKlF,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;IAAqF,CAA1G,MACA,IAAIgF,QAAQ,IAAI,CAAhB,EAAmB;MAAE,KAAKlF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;IAAqF;EAChH;;EACD2F,OAAO;IACL,MAAMpB,UAAU,GAAG,IAAInjB,QAAJ,EAAnB;IACAmjB,UAAU,CAACljB,MAAX,CAAkB,IAAlB,EAAwB,KAAK4e,WAA7B;IACAsE,UAAU,CAACljB,MAAX,CAAkB,eAAlB,EAAmC,KAAKukB,SAAxC;IACArB,UAAU,CAACljB,MAAX,CAAkB,UAAlB,EAA8B,KAAKqf,SAAnC;IACA6D,UAAU,CAACljB,MAAX,CAAkB,MAAlB,EAA0B,QAA1B;IACA,KAAKyI,WAAL,CAAiB+b,eAAjB,CAAiCtB,UAAjC,EAA6C7iB,SAA7C,CAAwDC,GAAD,IAAQ;MAC7D,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAtB,EAA2B;QACzB,IAAI,CAAC,KAAK0L,WAAV,EAAuB;UACrB,KAAKC,YAAL;QACD;;QACD,KAAKsL,WAAL,GAAmBnkB,GAAG,CAACokB,KAAvB;QACA,KAAKlc,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;MACD,CAND,MAMO;QACL,KAAK9D,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;MACD;IACF,CAVD,GAUI2B,GAAD,IAAW;MACZ,KAAKzF,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;IACD,CAZD;EAaD;;EACD6M,YAAY;IACV,KAAKnV,YAAL,GAAoB,EAApB;IACA,KAAKC,WAAL,GAAmB,KAAKlD,qBAAL,CAA2BmD,IAA3B,CACjB,KAAKC,aADY,EAEjB,EAFiB,EAGjB,KAAKH,YAHY,CAAnB;IAKA,KAAKC,WAAL,CAAiBG,YAAjB,CAA8B/D,SAA9B,CAAyCgE,GAAD,IAAQ;MAC9C,IAAIA,GAAG,CAAC4I,IAAJ,IAAY,IAAhB,EAAsB,CACrB,CADD,MACO;QACL;QACA,IAAI,CAAC,KAAK0X,WAAV,EAAuB;UACrB,KAAK7G,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;QACD;MACF;IACF,CARD;EASD;;EAED1E,SAAS,CAACC,GAAD,EAAS;IAChB,IAAI,CAACA,GAAL,EAAU;MACR,KAAK/Q,OAAL,CAAagR,QAAb,CAAsB,kBAAtB,EAA0C,MAA1C;MACA;IACD;;IACD,MAAMtY,IAAI,GAAG,IAAInB,QAAJ,EAAb;IACAmB,IAAI,CAAClB,MAAL,CAAY,OAAZ,EAAqB,KAAKykB,WAA1B;IACAvjB,IAAI,CAAClB,MAAL,CAAY,IAAZ,EAAkB,KAAK4e,WAAvB;IACA1d,IAAI,CAAClB,MAAL,CAAY,KAAZ,EAAmBuZ,GAAnB;IACArY,IAAI,CAAClB,MAAL,CAAY,MAAZ,EAAoB,QAApB;IACAkB,IAAI,CAAClB,MAAL,CAAY,UAAZ,EAAwB,KAAK8d,sBAAL,CAA4BlS,IAApD;IACA1K,IAAI,CAAClB,MAAL,CAAY,SAAZ,EAAuB,KAAK8d,sBAAL,CAA4BE,iBAAnD;IACA9c,IAAI,CAAClB,MAAL,CAAY,UAAZ,EAAwB,KAAK8d,sBAAL,CAA4Ba,iBAApD;IACA,KAAKlW,WAAL,CAAiBmc,eAAjB,CAAiC1jB,IAAjC,EAAuCb,SAAvC,CAAkDC,GAAD,IAAa;MAC5D,IAAIA,GAAG,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAA7B,EAAkC;QAChC,KAAK4R,iBAAL,GAAuB,KAAvB;QACA,KAAKuF,WAAL,GAAmB,IAAnB;QACA,KAAK1O,eAAL,CAAqB3V,GAArB;QACA,KAAKkE,kBAAL;QACA,KAAKgE,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;QACA,KAAKyX,YAAL;;QACA,IAAI,KAAKtD,WAAL,IAAoB,GAAxB,EAA6B;UAC3B,KAAKuD,gBAAL,CAAsB1jB,GAAtB;QACD,CAFD,MAEO;UACL,KAAKid,oBAAL,GAA4B,KAAK9U,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAA5C,GAAiD,IAAjD,GAAwD,KAApF;QACD;MACF,CAZD,MAYO;QACL,KAAKsW,iBAAL,GAAuB,IAAvB;QACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;MACD;IACF,CAjBD,GAiBI2B,GAAD,IAAW;MACZ,KAAKzF,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAoC,OAApC;IACD,CAnBD;EAoBD;;EAEK8M,OAAO,CAACF,WAAD,EAAqB;IAAA;;IAAA;MAChC,MAAI,CAACA,WAAL,GAAmB,IAAnB;;MACA,MAAI,CAACoL,OAAL;IAFgC;EAGjC;;EACD9f,kBAAkB,CAACI,MAAD,EAA6B;IAC7C,KAAKX,WAAL,CAAiBd,KAAjB,CAAuB,KAAKa,YAA5B;IACA,KAAK2gB,WAAL,GAAmB,KAAnB;EAED;;EACDE,eAAe;IAAA;;IACX,IAAI7gB,YAAY,GAA4B;MAC1C9C,IAAI,EAAE;QACJuL,IAAI,EAAE,MADF;QAEJC,KAAK,EAAE,qBAFH;QAGJC,MAAM,EAAE,EAHJ;QAIJC,GAAG,EAAE,wEAJD;QAKJC,UAAU,EAAE,SALR;QAMJC,QAAQ,EAAE;MANN;IADoC,CAA5C;;IAWA,IAAIC,eAAe,GACjB,KAAKnE,yBAAL,CAA+B1E,IAA/B,CACEkE,kIADF,EAEEpE,YAFF,CADF;;IAKA+I,eAAe,CAACC,MAAhB,CAAuB3G,IAAvB,CACEgC,6CAAM,CAAE8C,KAAD,IAAU;MACf;MACA,OAAO,CAAC,CAACA,KAAT;IACD,CAHK,CADR,EAKE9K,SALF;MAAA,qKAKY,WAAO2M,MAAP,EAAiB;QAC3B,QAAQA,MAAM,CAACC,IAAf;UACE,KAAK,SAAL;YACEF,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;;YACA,MAAI,CAACC,WAAL,CAAiBd,KAAjB,CAAuB,MAAI,CAACa,YAA5B;;YACA,MAAI,CAAC2gB,WAAL,GAAmB,KAAnB;YACA,MAAI,CAAC7G,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;YACA,MAAI,CAACF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;YACA,MAAI,CAACJ,SAAL,CAAetS,aAAf,CAA6BrK,KAA7B,GAAqC,EAArC;YACA,MAAI,CAACqc,QAAL,CAAchS,aAAd,CAA4BrK,KAA5B,GAAoC,EAApC;YACA;;UACF,KAAK,OAAL;YACEmL,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;YACA;QAZJ;MAcD,CApBD;;MAAA;QAAA;MAAA;IAAA;EAsBH;;EACD8gB,WAAW;IACT;IACA;IACA,IAAI,KAAKnT,UAAL,CAAgBb,UAAhB,IAA8B,CAA9B,IAAmC,KAAKa,UAAL,CAAgBb,UAAhB,IAA8B,EAAjE,KAAwE,KAAK+N,eAAL,CAAqB/S,MAArB,GAA8B,CAA9B,IAAoC,KAAK+S,eAAL,CAAqB,CAArB,GAAyBvc,MAAzB,IAAmC,CAAnC,IAAwC,KAAKuc,eAAL,CAAqB,CAArB,GAAyBvc,MAAzB,IAAmC,CAAvL,CAAJ,EAAkM;MAChM,KAAKkG,OAAL,CAAa0D,SAAb,CAAuB,yEAAvB,EAAiG,OAAjG;MACA;IACD,CAHD,MAGK;MACH,KAAK6Y,SAAL,CAAexW,IAAf,CAAoB,CAApB;MACA,KAAK5I,kBAAL,CAAwB0I,kBAAxB,CAA2C;QAAE,CAAC,eAAD,GAAmB;MAArB,CAA3C;IACD;EAEF;;EAED2V,gBAAgB,CAAC9iB,IAAD,EAAS;IACvB,IAAI,KAAKwf,gBAAT,EAA2B;MACzB,KAAK5B,cAAL,GAAsB,KAAKA,cAAL,CAAoBzW,MAApB,CAA2B2c,CAAC,IAAIA,CAAC,CAACpG,WAAF,IAAiB,KAAKA,WAAtD,CAAtB;IACD;;IAED,KAAKE,cAAL,CAAoB9D,IAApB,CAAyB;MACvB8E,QAAQ,EAAE,KAAKhC,sBAAL,CAA4B2B,gBADf;MAEvBM,WAAW,EAAE,KAAKjC,sBAAL,CAA4BE,iBAFlB;MAGvBgC,gBAAgB,EAAE,KAAKlC,sBAAL,CAA4Ba,iBAHvB;MAIvB/S,IAAI,EAAE,KAAKkS,sBAAL,CAA4BlS,IAJX;MAKvB0T,MAAM,EAAE,KAAKxB,sBAAL,CAA4BwB,MALb;MAMvBC,KAAK,EAAE,KAAKzB,sBAAL,CAA4ByB,KANZ;MAOvBtS,IAAI,EAAE,KAAK6Q,sBAAL,CAA4BC,aAPX;MAQvBa,WAAW,EAAE,KAAKA,WARK;MASvBtc,MAAM,EAACpB,IAAI,EAAE+jB,UAAN,GAAiB/jB,IAAI,EAAE+jB,UAAvB,GAAmC,CATnB;MAUvBpF,OAAO,EAAE;IAVc,CAAzB;;IAYA,IAAI,KAAKY,WAAL,IAAoB,GAAxB,EAA6B;MAC3B,KAAKrD,sBAAL;IACD;EACF;;EACDnH,eAAe,CAAC/U,IAAD,EAAS;IACtB,IAAI,KAAKuH,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAAhD,EAAoD;MAClD,IAAIoF,QAAQ,GAAa,IAAInO,QAAJ,EAAzB;MACA,KAAK0I,WAAL,CAAiB0F,cAAjB,CAAgCD,QAAhC,EAA0C7N,SAA1C,CAAoDC,GAAG,IAAG,CAAI,CAA9D;IACD;;IACD,IAAIqW,OAAO,GAAQ,EAAnB;IACAA,OAAO,CAACgJ,OAAR,GAAkB,KAAK7B,sBAAL,CAA4BE,iBAA9C;IACArH,OAAO,CAACiJ,QAAR,GAAmB,KAAK9B,sBAAL,CAA4Ba,iBAA/C;IACAhI,OAAO,CAAC0I,SAAR,GAAoB,KAAKvB,sBAAL,CAA4BlS,IAAhD;IACA+K,OAAO,CAAC2I,MAAR,GAAiB,KAAKxB,sBAAL,CAA4BwB,MAA7C;IACA3I,OAAO,CAAC4I,KAAR,GAAgB,KAAKzB,sBAAL,CAA4ByB,KAA5C;IACA5I,OAAO,CAAClM,EAAR,GAAa,KAAKmU,WAAlB;IACAjI,OAAO,CAAC+I,QAAR,GAAmB,KAAK5B,sBAAL,CAA4B2B,gBAA/C;IACA9I,OAAO,CAACrU,MAAR,GAAiBpB,IAAI,EAAE+jB,UAAN,GAAiB/jB,IAAI,EAAE+jB,UAAvB,GAAmC,CAApD;IACAtO,OAAO,CAAC1J,IAAR,GAAe,KAAK6Q,sBAAL,CAA4BC,aAA3C;IACApH,OAAO,CAAC7L,cAAR,GAAyB,CAAzB;;IACA,IAAI,KAAK2V,WAAL,IAAoB,GAAxB,EAA6B;MAC3B,IAAI,KAAK5B,eAAL,CAAqB/S,MAArB,GAA8B,CAAlC,EAAqC;QACnC,KAAK+S,eAAL,CAAqBqG,KAArB;QACA,KAAKrG,eAAL,CAAqBsG,OAArB,CAA6BxO,OAA7B;MACD,CAHD,MAGO;QACL,KAAKkI,eAAL,CAAqB7D,IAArB,CAA0BrE,OAA1B;MACD;IACF,CAPD,MAOO;MACL,IAAI,KAAK+J,gBAAT,EAA2B;QACzB,KAAK7B,eAAL,GAAuB,KAAKA,eAAL,CAAqBxW,MAArB,CAA4B2c,CAAC,IAAIA,CAAC,CAACva,EAAF,IAAQ,KAAKmU,WAA9C,CAAvB;MACD;;MACD,KAAKC,eAAL,CAAqB7D,IAArB,CAA0BrE,OAA1B;IACD;;IACD,KAAKhR,kBAAL,CAAwBsQ,eAAxB,CAAwC;MACtC,CAAC,yBAAD,GAA6B,KAAK4I;IADI,CAAxC;EAGD;;EACDwB,YAAY,CAACze,KAAD,EAAW;IAErB,KAAKkc,sBAAL,CAA4Bc,WAA5B,GAA0Chd,KAAK,CAACgd,WAAN,IAAqBhd,KAAK,CAAC6I,EAArE;IACA,KAAKmU,WAAL,GAAmBhd,KAAK,CAACgd,WAAN,IAAqBhd,KAAK,CAAC6I,EAA9C;IACA,KAAKqT,sBAAL,CAA4BlS,IAA5B,GAAmChK,KAAK,CAACgK,IAAN,IAAchK,KAAK,CAACyd,SAAvD;IACA,KAAKvB,sBAAL,CAA4BwB,MAA5B,GAAqC1d,KAAK,CAAC0d,MAA3C;IACA,KAAKxB,sBAAL,CAA4ByB,KAA5B,GAAoC3d,KAAK,CAAC2d,KAA1C;IACA,KAAKzB,sBAAL,CAA4BC,aAA5B,GAA4C,EAA5C;IACA,KAAKD,sBAAL,CAA4B2B,gBAA5B,GAA+C7d,KAAK,CAACod,OAAN,IAAiB,CAAjB,IAAsBpd,KAAK,CAACod,OAAN,IAAiB,CAAvC,GAA0C,mCAA1C,GAA8Epd,KAAK,CAACke,QAAnI;IACA,KAAKhC,sBAAL,CAA4BE,iBAA5B,GAA+Cpc,KAAK,CAACqd,OAAN,IAAiB,CAAjB,IAAsBrd,KAAK,CAACqd,OAAN,IAAiB,CAAvC,GAA2C,mCAA3C,GAA+Erd,KAAK,CAAC+d,OAApI;IACA,KAAK7B,sBAAL,CAA4Ba,iBAA5B,GAAgD/c,KAAK,CAACqd,OAAN,IAAiB,CAAjB,IAAsBrd,KAAK,CAACqd,OAAN,IAAiB,CAAvC,GAA0C,mCAA1C,GAA8Erd,KAAK,CAACge,QAApI;IACA,KAAK9B,sBAAL,CAA4B+B,OAA5B,GAAoCje,KAAK,CAACie,OAA1C;IACA,KAAKgC,WAAL,GAAmBjgB,KAAK,CAACod,OAAN,IAAiB,CAAjB,IAAsBpd,KAAK,CAACod,OAAN,IAAiB,CAAvC,GAA2C,KAA3C,GAAmD,IAAtE;IACA,KAAKkB,4BAAL,GAAkCte,KAAK,CAACod,OAAN,IAAiB,CAAjB,IAAsBpd,KAAK,CAACod,OAAN,IAAiB,CAAvC,GAA2C,IAA3C,GAAkD,KAApF;IACA,KAAK0B,gBAAL,GAAwB,IAAxB;EACD;;EACDqD,YAAY,IACV;IACA;IACA;IACA;EACD;;EACDlB,cAAc,CAAC3hB,IAAD,EAAU;IACtB,MAAMkkB,SAAS,GAAC,IAAIrlB,QAAJ,EAAhB;IACAqlB,SAAS,CAACplB,MAAV,CAAiB,UAAjB,EAA4BkB,IAAI,CAACyhB,QAAjC;IACAyC,SAAS,CAACplB,MAAV,CAAiB,MAAjB,EAAwB,QAAxB;IACAolB,SAAS,CAACplB,MAAV,CAAiB,UAAjB,EAA4BkB,IAAI,CAAC0hB,QAAjC;IACAwC,SAAS,CAACplB,MAAV,CAAiB,IAAjB,EAAsBkB,IAAI,CAACuJ,EAA3B;IACA,KAAKhC,WAAL,CAAiBoa,cAAjB,CAAgCuC,SAAhC,EAA2C/kB,SAA3C,CAAqD2T,QAAQ,IAAE;MAC7D,IAAGA,QAAQ,IAAIA,QAAQ,CAACxG,UAAT,IAAuB,GAAtC,EAA0C;QACxC,MAAMK,QAAQ,GAAC,IAAI9N,QAAJ,EAAf;QACA8N,QAAQ,CAAC7N,MAAT,CAAgB,IAAhB,EAAqBkB,IAAI,CAACuJ,EAA1B;QACAoD,QAAQ,CAAC7N,MAAT,CAAgB,MAAhB,EAAuB,QAAvB;QACA6N,QAAQ,CAAC7N,MAAT,CAAgB,UAAhB,EAA2BkB,IAAI,CAACyhB,QAAhC;QACA9U,QAAQ,CAAC7N,MAAT,CAAgB,UAAhB,EAA2BkB,IAAI,CAAC0hB,QAAhC;QACA/U,QAAQ,CAAC7N,MAAT,CAAgB,MAAhB,EAAuBkB,IAAI,CAACzB,IAA5B;QACAoO,QAAQ,CAAC7N,MAAT,CAAgB,OAAhB,EAAwBkB,IAAI,CAACwhB,KAA7B;QACA,KAAKja,WAAL,CAAiB4c,YAAjB,CAA8BxX,QAA9B,EAAwCxN,SAAxC,CAAkD;UAChD2F,IAAI,EAAEM,MAAD,IAAc;YACjB,IAAGA,MAAM,IAAIA,MAAM,CAACkH,UAAP,IAAqB,GAAlC,EAAuC;cACjC,IAAGlH,MAAM,CAACmH,QAAV,EAAmB;gBACjB,KAAK2R,iBAAL,GAAuB,IAAvB;gBACA,KAAK5W,OAAL,CAAa0D,SAAb,CAAuB5F,MAAM,CAACgG,OAA9B,EAAsC,OAAtC;gBACA,KAAKwR,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;gBACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;cAED,CAND,MAOK,IAAG,CAACrY,MAAM,CAACmH,QAAR,IAAoB,CAACnH,MAAM,CAACoH,eAA/B,EAA+C;gBAClD,KAAKlF,OAAL,CAAaoF,WAAb,CAAyBtH,MAAM,CAACgG,OAAhC,EAAwC,SAAxC;gBACA,KAAK8S,iBAAL,GAAuB,KAAvB;gBACA,KAAKnJ,eAAL,CAAqB3P,MAArB;;gBACA,IAAI,KAAKma,WAAL,IAAoB,GAAxB,EAA6B;kBAC3B,KAAKuD,gBAAL,CAAsB1d,MAAtB;gBACD;cACF,CAPI,MAOC,IAAG,CAACA,MAAM,CAACmH,QAAR,IAAoBnH,MAAM,CAACoH,eAA9B,EAA8C;gBAClD,KAAK6W,SAAL,GAAeje,MAAM,CAACpF,IAAP,EAAaokB,cAA5B;gBACA,KAAKjG,SAAL,GAAe/Y,MAAM,CAACpF,IAAP,EAAame,SAA5B;gBACA,KAAKnG,WAAL,GAAiB,KAAjB;gBACA,KAAKoL,OAAL;cACD;YACF,CArBL,MAqBS;cACH,KAAK9b,OAAL,CAAa0D,SAAb,CAAuB5F,MAAM,CAACgG,OAA9B,EAAsC,OAAtC;YACD;UACN,CA1B+C;UA0B9C0B,KAAK,EAAEC,GAAD,IAAW;YACjB,KAAKzF,OAAL,CAAa0D,SAAb,CAAuB+B,GAAG,CAAC3B,OAA3B,EAAmC,OAAnC;YACC,KAAKwR,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;YACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;UAEF;QA/B+C,CAAlD;MAiCD,CAzCD,MAyCK;QACH,KAAKnW,OAAL,CAAa0D,SAAb,CAAuB8H,QAAQ,CAAC1H,OAAhC,EAAwC,OAAxC;QACA,KAAKwR,sBAAL,CAA4BE,iBAA5B,GAAgD,mCAAhD;QACA,KAAKF,sBAAL,CAA4Ba,iBAA5B,GAAgD,mCAAhD;MACD;IACF,CA/CD;EAgDD;;EACDnQ,OAAO,CAAC5M,KAAD,EAAU;IACf,IAAI6M,gBAAgB,GAA4B;MAAEvN,IAAI,EAAC;QAACwN,GAAG,EAAC9M;MAAL;IAAP,CAAhD;;IACA,IAAImL,eAAe,GAAE,KAAKnE,yBAAL,CAA+B1E,IAA/B,CAAuDoE,+FAAvD,EAAyEmG,gBAAzE,CAArB;EACD;;AAr2BmC;;;mBAAzByO,2BAAyBre,gEAAAA,CAAAA,gFAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,kHAAAA,GAAAA,gEAAAA,CAAAA,mFAAAA,GAAAA,gEAAAA,CAAAA,2HAAAA;AAAA;;;QAAzBqe;EAAyBrY;EAAAC;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCtBtCjG,yDAAAA;MAgJAA,yDAAAA;MA6HAA,yDAAAA;MA4DAA,yDAAAA,iFAAAA,qEAAAA;;;;MAzUwCA,yDAAAA;MAgJAA,wDAAAA;MAAAA,yDAAAA;MA6HhBA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;AC3Q6B;AACqB;AACD;AACmB;;AAarF,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAN/B,+DAAY;QACZ,mFAAe;QACf,sGAAkB;mIAIT,sBAAsB,mBARlB,mFAAyB,aAEtC,+DAAY;QACZ,mFAAe;QACf,sGAAkB,aAEX,mFAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBpC;AAGA;AAIA;AAEA;;;;;;;;;;;;;;;;;;;;ICJYA,6DAAAA;IAAsCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,iCAAd;IAAsC,CAAtC;IAC0EA,2DAAAA;;;;;IADlCA,yDAAAA,8BAAqB,SAArB,EAAqB0mB,cAArB,EAAqB,QAArB,EAAqBA,aAArB,EAAqB,UAArB,EAAqBA,eAArB,EAAqB,gBAArB,EAAqBA,4EAArB,EAAqB,aAArB,EAAqBA,4BAArB;;;;;;;;IAE9E1mB,6DAAAA,eAAiC,CAAjC,EAAiC,KAAjC,EAAiC,EAAjC,EAAiC,CAAjC,EAAiC,QAAjC,EAAiC,EAAjC;IAEiDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,4BAAT;IAA4B,CAA5B;IAA4FA,qDAAAA;IAAWA,2DAAAA;;;;;IAAzEA,wDAAAA;IAAAA,yDAAAA;;;;;;IAR3FA,6DAAAA,cAAkK,CAAlK,EAAkK,MAAlK,EAAkK,CAAlK,EAAkK,CAAlK,EAAkK,KAAlK,EAAkK,CAAlK,EAAkK,CAAlK,EAAkK,KAAlK,EAAkK,CAAlK;IAG0CA,qDAAAA;IAAwHA,6DAAAA;IAA+BA,qDAAAA;IAACA,2DAAAA;IACtLA,yDAAAA;IAEAA,yDAAAA;IAKJA,2DAAAA;;;;;IARkCA,wDAAAA;IAAAA,iEAAAA;IACRA,wDAAAA;IAAAA,yDAAAA;IAEJA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAgBdA,6DAAAA;IAAsCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,kCAAd;IAAsC,CAAtC;IAC2FA,2DAAAA;;;;;IADnDA,yDAAAA,8BAAqB,SAArB,EAAqB2mB,cAArB,EAAqB,QAArB,EAAqBA,aAArB,EAAqB,UAArB,EAAqBA,eAArB,EAAqB,gBAArB,EAAqBA,4EAArB,EAAqB,aAArB,EAAqBA,4BAArB;;;;;;;;IAK9E3mB,6DAAAA;IAAuCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,8BAAd;IAAkC,CAAlC;IAC2FA,2DAAAA;;;;;IADvDA,yDAAAA,gCAAsB,SAAtB,EAAsB4mB,eAAtB,EAAsB,QAAtB,EAAsBA,cAAtB,EAAsB,UAAtB,EAAsBA,iBAAtB,EAAsB,gBAAtB,EAAsBA,8EAAtB,EAAsB,aAAtB,EAAsBA,6BAAtB;;;;;;;;IAIrF5mB,6DAAAA,eAAiC,CAAjC,EAAiC,KAAjC,EAAiC,EAAjC,EAAiC,CAAjC,EAAiC,QAAjC,EAAiC,EAAjC;IAEiDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,6BAAT;IAA4B,CAA5B;IAAgJA,qDAAAA;IAAWA,2DAAAA;;;;;IAA7HA,wDAAAA;IAAAA,yDAAAA;;;;;;IAlBrFA,6DAAAA,cAAuG,CAAvG,EAAuG,MAAvG,EAAuG,CAAvG,EAAuG,CAAvG,EAAuG,KAAvG,EAAuG,CAAvG,EAAuG,CAAvG,EAAuG,KAAvG,EAAuG,CAAvG;IAG0CA,qDAAAA;IAASA,2DAAAA;IACvCA,6DAAAA,eAAiB,CAAjB,EAAiB,KAAjB,EAAiB,EAAjB,EAAiB,CAAjB,EAAiB,GAAjB;IAEOA,qDAAAA;IAAIA,2DAAAA;IACPA,yDAAAA;IAEFA,2DAAAA;IACAA,6DAAAA,gBAAmB,EAAnB,EAAmB,GAAnB;IACKA,qDAAAA;IAAIA,2DAAAA;IACPA,yDAAAA;IAEFA,2DAAAA;IAERA,yDAAAA;IAKEA,2DAAAA;;;;;IAd8BA,wDAAAA;IAAAA,yDAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA;IAIdA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAQxBA,6DAAAA;IAA+CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,6BAAb;IAAgC,CAAhC;IAAkCA,2DAAAA;;;;ADvB3E,MAAO6mB,uBAAP,CAA8B;EA0BlC9nB,YACU6K,WADV,EAEUD,OAFV,EAGU1K,cAHV,EAIU4K,kBAJV,EAKU/C,kBALV,EAMUmJ,cANV,EAOUlG,yBAPV,EAO6D;IANnD;IACA;IACA;IACA;IACA;IACA;IACA;IA/BV,uBAA2B,KAA3B;IACA,cAAc,EAAd;IAEU,iBAAY,IAAIX,wDAAJ,EAAZ;IACV,qBAAoB,EAApB;IACA,iBAAc,EAAd;IACA,gBAAmB,EAAnB;IACA,iBAAoB,EAApB;IACA,gBAAmB,EAAnB;IACA,iBAAoB,EAApB;IACA,eAAkB,EAAlB;IACA,qBAAwB,EAAxB;IACA,eAAkB,EAAlB;IACA,kBAAqB,kDAArB;IAEA,uBAAoB,EAApB;IACA,mBAAsB,EAAtB;IAEA,iBAA6B,CAA7B,CAa6D,CAZ7D;;IACA,iBAAiB,EAAjB;IACA,kBAAkB,EAAlB;IACA,oBAAoB,EAApB;EAUK;;EAELpF,QAAQ;IACN,KAAK8iB,eAAL,GAAqB,EAArB;IACA,KAAKC,eAAL;IACA,KAAKC,aAAL;IACA,KAAKlgB,kBAAL,CAAwBI,gBAAxB,CAAyC1F,SAAzC,CAAmD;MACjD2F,IAAI,EAAGpE,KAAD,IAAe;QACnB,KAAKkkB,QAAL,GAAclkB,KAAK,EAAEV,IAArB;QACA,KAAKmc,SAAL,GAAiBzb,KAAK,EAAEV,IAAP,EAAa+H,QAA9B;MACD;IAJgD,CAAnD;IAMA,KAAKR,WAAL,CAAiBnB,WAAjB,CAA6BjH,SAA7B,CAAuCC,GAAG,IAAG;MAC3C,IAAIA,GAAJ,EAAS;QACP,KAAK6V,aAAL,GAAmB7V,GAAG,CAAC6V,aAAvB;QACA,KAAK4P,SAAL,GAAezlB,GAAG,CAAC6J,QAAnB;QACA,KAAKwb,eAAL,GAAsB,KAAKxP,aAAL,CAAmB9N,MAAnB,CAA0B6K,CAAC,IAAGA,CAAC,CAACgI,IAAF,IAAU,KAAKmC,SAA7C,EAAwD,CAAxD,CAAtB;;QACA,IAAG,KAAKsI,eAAR,EAAwB;UACtB,KAAKK,kBAAL,CAAwB,KAAKL,eAA7B;QACD;MAEF;IACF,CAVD;IAWA,KAAKM,YAAL,GAAkB,KAAKF,SAAL,EAAgBpT,cAAhB,EAAgCvC,OAAlD;IACA,KAAK3H,WAAL,CAAiBmT,eAAjB,CAAiCvb,SAAjC,CAA2CC,GAAG,IAAG;MAC/C,IAAIA,GAAJ,EAAS;QACP,KAAK+c,SAAL,GAAiB/c,GAAjB;QACA,KAAKod,YAAL,GAAoBpd,GAApB;QACA,KAAKqlB,eAAL,GAAsB,KAAKxP,aAAL,CAAmB9N,MAAnB,CAA0B6K,CAAC,IAAGA,CAAC,CAACgI,IAAF,IAAU,KAAKmC,SAA7C,EAAwD,CAAxD,CAAtB;QACA,KAAK5U,WAAL,CAAiBgV,oBAAjB,CAAsCzX,IAAtC,CAA2C,KAAK0X,YAAhD;QACA,KAAKsI,kBAAL,CAAwB,KAAKL,eAA7B;QACAhc,UAAU,CAAC,MAAK;UACd,KAAKuc,gBAAL,CAAsB,KAAK7I,SAA3B;QACD,CAFS,EAEP,CAFO,CAAV;MAGD;IACF,CAXD;EAaD;;EACDwI,aAAa;IACX,IAAIM,WAAW,GAAG,KAAKroB,cAAL,CAAoBO,OAApB,CAA4B,aAA5B,IAA6CE,IAAI,CAACC,KAAL,CAAW,KAAKV,cAAL,CAAoBO,OAApB,CAA4B,aAA5B,CAAX,CAA7C,GAAsG,EAAxH;;IACA,IAAI8nB,WAAJ,EAAiB;MAAE,KAAKC,WAAL,GAAmBD,WAAW,CAACjlB,IAAZ,CAAiB0K,IAApC;IAA2C;EAC/D;;EACD+R,eAAe,IAEd;;EAED0I,gBAAgB,CAAClb,KAAD,EAAM;IACpB,KAAKG,cAAL,CAAoBH,KAApB,EAA2B,CAA3B;EACD;;EACDD,YAAY,CAACC,KAAD,EAAM;IAChB,KAAKG,cAAL,CAAoBH,KAApB,EAA2B,CAA3B;EACD;;EACDG,cAAc,CAACH,KAAD,EAAQyS,MAAR,EAAc;IAAA;;IAE1B,KAAKpS,KAAL,GAAmBL,KAAK,CAACM,MAAN,CAAaC,KAAb,CAAmB,CAAnB,CAAnB;IACA,IAAIyS,WAAW,GAAG,KAAK,OAAO,IAAZ,CAAlB,CAH0B,CAGW;;IACrC,IAAIC,QAAQ,GAAG,KAAK5S,KAAL,CAAW6S,IAA1B;;IACA,IAAIF,WAAW,IAAIC,QAAnB,EAA6B;MAC3B;MACA,MAAMzS,OAAO,GAAG,KAAKH,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA4B,KAAKL,KAAL,CAAWI,IAAX,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,MAA5B,GAAsC,CAAjE,EAAoEC,WAApE,EAAhB;;MACA,IAAK,KAAK4Z,eAAL,EAAsB1Y,IAAtB,IAA8B,KAA/B,IAA0CtB,OAAO,IAAI,MAAX,IAAqBA,OAAO,IAAI,KAAhC,IAAyCA,OAAO,IAAI,KAAlG,EAA0G;QACxG,KAAKnD,OAAL,CAAa0D,SAAb,CAAuB,4CAAvB,EAAqE,OAArE;QACA;MACD;;MACD,IAAI,KAAKyZ,eAAL,EAAsB1Y,IAAtB,IAA8B,KAA9B,IAAuCtB,OAAO,IAAI,KAAtD,EAA6D;QAC3D,KAAKnD,OAAL,CAAa0D,SAAb,CAAuB,8BAAvB,EAAuD,OAAvD;QACA;MACD;;MAED,IAAIlI,YAAY,GAA4B;QAC1C9C,IAAI,EAAE;UACJuL,IAAI,EAAE,MADF;UAEJC,KAAK,EAAE,qBAFH;UAGJC,MAAM,EAAE,EAHJ;UAIJC,GAAG,EAAE,iGAJD;UAKJC,UAAU,EAAE,SALR;UAMJC,QAAQ,EAAE;QANN;MADoC,CAA5C;;MAWA,IAAIC,eAAe,GACjB,KAAKnE,yBAAL,CAA+B1E,IAA/B,CACEkE,kIADF,EAEEpE,YAFF,CADF;;MAKA+I,eAAe,CAACC,MAAhB,CAAuB3G,IAAvB,CACEgC,6CAAM,CAAE8C,KAAD,IAAU;QACf;QACA,OAAO,CAAC,CAACA,KAAT;MACD,CAHK,CADR,EAKE9K,SALF;QAAA,oKAKY,WAAO2M,MAAP,EAAiB;UAC3B,QAAQA,MAAM,CAACC,IAAf;YACE,KAAK,SAAL;cAEE,IAAId,YAAY,SAAS,KAAI,CAACzD,kBAAL,CAAwBlJ,YAAxB,CAAqC,KAAI,CAACgM,KAA1C,EAAiD,KAAI,CAACqS,SAAtD,CAAzB;cACA9Q,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;;cAEA,IAAImI,YAAY,CAACC,QAAb,IAAyB,CAA7B,EAAgC;gBAC9B,KAAI,CAACqS,SAAL,CAAetS,YAAY,CAACE,SAA5B,EAAuCuR,MAAvC,EAA+C,KAAI,CAACpS,KAAL,CAAWI,IAA1D;cACD,CAFD,MAEO;gBACL,KAAI,CAACpD,OAAL,CAAa0D,SAAb,CAAuBC,YAAY,CAACG,OAApC,EAA6C,OAA7C;cACD;;cACD;;YACF,KAAK,OAAL;cACE;cACAS,eAAe,CAAC5J,KAAhB,CAAsBa,YAAtB;cACA;UAfJ;QAiBD,CAvBD;;QAAA;UAAA;QAAA;MAAA;IAyBD,CArDD,MAsDK;MACH,KAAKwE,OAAL,CAAagR,QAAb,CAAsB,0CAAtB,EAAkE,MAAlE;IACD;EACF;;EACDiF,SAAS,CAACyD,MAAD,EAASC,OAAT,EAAkB1iB,IAAlB,EAAsB;IAC7B,QAAQ0iB,OAAR;MACE,KAAK,CAAL;QACE,KAAKmE,QAAL,GAAgB,EAAhB;QACA,KAAKA,QAAL,GAAkB7mB,IAAD,CAAOoM,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAD,CAAuBE,WAAvB,EAAhB;QACA,KAAK1B,QAAL,GAAgB6X,MAAhB,CAHF,CAIE;;QACA;;MACF,KAAK,CAAL;QACE,KAAKqE,SAAL,GAAiB,EAAjB,CADF,CAEE;;QACA,KAAKA,SAAL,GAAmB9mB,IAAD,CAAOoM,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAD,CAAuBE,WAAvB,EAAjB;QACA,KAAKya,SAAL,GAAiBtE,MAAjB;QACA;IAZJ,CAD6B,CAe7B;;EACD;;EAEAuE,iBAAiB;IAEhB,IAAInD,SAAS,GAAG9d,6FAAhB;IACA,IAAIge,UAAU,GAAG,EAAjB;IACA,IAAI1P,OAAO,GAAG,IAAI/T,QAAJ,EAAd;IACA,KAAK2mB,aAAL,GAAqB,EAArB;IAEA,MAAMC,WAAW,GAAE,KAAKxQ,aAAL,CAAmB9N,MAAnB,CAA0B6K,CAAC,IAAGA,CAAC,CAACgI,IAAF,IAAU,KAAKmC,SAA7C,EAAwD,CAAxD,CAAnB,CAPgB,CAQhB;;IACA,KAAKqJ,aAAL,GAAmBC,WAAW,CAAC/kB,KAA/B,CATgB,CAUhB;;IACA,QAAQ,KAAK8kB,aAAb;MACE,KAAK,QAAL;QACE;QACAlD,UAAU,GAAGF,SAAS,CAACsD,oBAAvB;QACA9S,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAKwL,KAA5B;QACAsI,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAvB;QACA8T,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACF,KAAK,QAAL;QACE;QACAmZ,UAAU,GAAGF,SAAS,CAACuD,SAAvB;QACA/S,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACA,KAAK,WAAL;QACA;QACAmZ,UAAU,GAAGF,SAAS,CAACwD,SAAvB;QACAhT,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACA,KAAK,mBAAL;QACAmZ,UAAU,GAAGF,SAAS,CAACyD,eAAvB;QACAjT,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACA,KAAK,iBAAL;QACAmZ,UAAU,GAAGF,SAAS,CAAC0D,YAAvB;QACAlT,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACA,KAAK,mBAAL;QACAmZ,UAAU,GAAGF,SAAS,CAAC2D,SAAvB;QACAnT,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACA;;MACF,KAAK,QAAL;QACE,IAAG,KAAK4b,YAAL,IAAqB,KAArB,IAA8B,CAAC,KAAKA,YAAvC,EAAoD;UAClDzC,UAAU,GAAGF,SAAS,CAAC4D,SAAvB;UACApT,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAKwL,KAA5B;UACAsI,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAvB;QACD,CAJD,MAKI;UACFwjB,UAAU,GAAGF,SAAS,CAAC6D,eAAvB;UACArT,OAAO,CAAC9T,MAAR,CAAe,MAAf,EAAuB,KAAKimB,YAA5B;QACD;;QACCnS,OAAO,CAAC9T,MAAR,CAAe,SAAf,EAA0B,KAAKqK,QAA/B;QACF;;MACF,KAAK,WAAL;QACE;QACAmZ,UAAU,GAAGF,SAAS,CAAC8D,cAAvB;QACAtT,OAAO,CAAC9T,MAAR,CAAe,QAAf,EAAyB,KAAKqK,QAA9B;QACAyJ,OAAO,CAAC9T,MAAR,CAAe,QAAf,EAAyB,KAAKwmB,SAA9B;QACA;;MACF,KAAK,UAAL;QACE;QACAhD,UAAU,GAAGF,SAAS,CAAC+D,eAAvB;QACAvT,OAAO,CAAC9T,MAAR,CAAe,UAAf,EAA2B,KAAKqK,QAAhC;QACA;IApDJ;;IAsDA,IAAI,KAAKA,QAAL,IAAiB,mCAArB,EAA0D;MACxD;IACD,CAFD,MAEO,IAAI,KAAKgT,SAAL,IAAkB,CAAlB,IAAuB,KAAKmJ,SAAL,IAAkB,mCAAzC,IAAgF,KAAKb,eAAL,CAAqB/jB,KAArB,IAA8B,WAAlH,EAA+H;MAEpI;IACD;;IAEM,KAAK6G,WAAL,CAAiB6e,oBAAjB,CAAsCxT,OAAtC,EAA+C0P,UAA/C,EAA2DnjB,SAA3D,CAAqEC,GAAG,IAAG;MAC1E,IAAIA,GAAG,CAACkN,UAAJ,IAAkB,GAAtB,EAA4B;QAC1B,IAAI,KAAK6P,SAAL,IAAkB,CAAtB,EAAyB;UACvB,IAAG/c,GAAG,CAACmN,QAAP,EAAgB;YACd,KAAKjF,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;UACD,CAFD,MAEM,IAAG,CAAChM,GAAG,CAACmN,QAAL,IAAiB,CAACnN,GAAG,CAACoN,eAAzB,EAAyC;YAC7C,KAAK6Z,aAAL,CAAmBjnB,GAAnB;YACA,KAAKkI,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;UACD,CAHK,MAIF;YACF,MAAMkb,QAAQ,GAAG,IAAIznB,QAAJ,EAAjB;YACAynB,QAAQ,CAACxnB,MAAT,CAAgB,YAAhB,EAA8BM,GAAG,EAAEY,IAAL,EAAWiP,UAAzC;YACA,KAAK1H,WAAL,CAAiB6e,oBAAjB,CAAsCE,QAAtC,EAAgDlE,SAAS,CAACmE,SAA1D,EAAqEpnB,SAArE,CAA+E+T,KAAK,IAAG;cACrF,IAAIA,KAAK,CAAC5G,UAAN,IAAoB,GAAxB,EAA8B;gBAC5B,IAAG4G,KAAK,CAAC3G,QAAT,EAAkB;kBAChB,KAAKjF,OAAL,CAAa0D,SAAb,CAAuBkI,KAAK,CAAC9H,OAA7B,EAAsC,OAAtC;gBACD,CAFD,MAEK;kBACH,KAAKib,aAAL,CAAmBnT,KAAnB;kBACA,KAAK5L,OAAL,CAAaoF,WAAb,CAAyBwG,KAAK,CAAC9H,OAA/B,EAAwC,SAAxC;gBACD;cACF,CAPD,MAOO;gBACL,KAAK9D,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;cACD;YACF,CAXD;UAYD;QACF,CAvBD,MAuBO;UAEL,IAAG,KAAK2Z,YAAL,IAAqB,KAArB,IAA8B,CAAC,KAAKA,YAAvC,EAAoD;YAClD,IAAG,CAAC3lB,GAAG,CAACmN,QAAR,EAAiB;cACf,KAAKjF,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;cACA,KAAKib,aAAL,CAAmBjnB,GAAnB;YACD,CAHD,MAGK;cACH,KAAKkI,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;YACD;UACF,CAPD,MAOK;YACH,KAAK9D,OAAL,CAAaoF,WAAb,CAAyBtN,GAAG,CAACgM,OAA7B,EAAsC,SAAtC;YACA,KAAKib,aAAL,CAAmBjnB,GAAnB;UACD;QACF;MACF,CAtCD,MAsCO;QACL,KAAKkI,OAAL,CAAa0D,SAAb,CAAuB5L,GAAG,CAACgM,OAA3B,EAAoC,OAApC;MACD;IACF,CA1CA,EA0CE0B,KAAD,IAAS;MACT,KAAKxF,OAAL,CAAa0D,SAAb,CAAuB8B,KAAK,CAAC1B,OAA7B,EAAsC,OAAtC;IACD,CA5CA;EA+CR;;EACDib,aAAa,CAACjnB,GAAD,EAAQ;IACnB,IAAI,KAAKmI,WAAL,CAAiB4R,YAAjB,CAA8BvR,QAA9B,MAA4C,EAAhD,EAAoD;MAClD,KAAKuU,SAAL,GAAiB/c,GAAG,CAAC2I,QAArB;MACA,KAAK8b,SAAL,CAAexW,IAAf,CAAoBjO,GAAG,CAAC2I,QAAxB;MACA,KAAKtD,kBAAL,CAAwB0I,kBAAxB,CACE;QAAE,CAAC,eAAD,GAAmB/N,GAAG,CAAC2I;MAAzB,CADF;MAGA,KAAKgN,eAAL,CAAqB3V,GAArB;MACA,KAAKslB,eAAL;IACD,CARD,MAQO;MACL,KAAK3P,eAAL,CAAqB3V,GAArB;MACA,IAAIonB,OAAO,GAAa,IAAI3nB,QAAJ,EAAxB;MACA,KAAK0I,WAAL,CAAiB0F,cAAjB,CAAgCuZ,OAAhC,EAAyCrnB,SAAzC,CAAmDC,GAAG,IAAG,CAAI,CAA7D;IACD;EACF;;EACDslB,eAAe;IACb,KAAKU,QAAL,GAAgB,EAAhB;IACA,KAAKC,SAAL,GAAiB,EAAjB;IACA,KAAK1I,SAAL,GAAe,EAAf;IACA,KAAK8J,UAAL,GAAgB,EAAhB;IACA,KAAKtd,QAAL,GAAgB,mCAAhB;IACA,KAAKmc,SAAL,GAAiB,mCAAjB;IACA,KAAKoB,OAAL,GAAe,8BAAf;EACD;;EACDC,WAAW,CAACjmB,KAAD,EAAM;IACf,KAAKmjB,SAAL,CAAexW,IAAf,CAAoB3M,KAApB;IACA,KAAKyb,SAAL,GAAiBzb,KAAjB;EACD;;EACDskB,gBAAgB,CAACxI,YAAD,EAAa;IAC3B,KAAKrT,QAAL,GAAgB,mCAAhB;IACA,KAAKmc,SAAL,GAAiB,mCAAjB;IACA,KAAKoB,OAAL,GAAe,8BAAf;IACA,IAAIE,YAAY,GAAQ,EAAxB;IACA,KAAKrf,WAAL,CAAiBnB,WAAjB,CAA6BjH,SAA7B,CAAuCC,GAAG,IAAG;MAC3C,IAAIA,GAAJ,EAAS;QACPwnB,YAAY,GAAGxnB,GAAG,CAAC6J,QAAnB;MAED;IACF,CALD;IAOA,KAAK4d,eAAL,GAAuB,KAAvB;IACA,KAAKzlB,MAAL,GAAY,EAAZ;IACA,KAAKgkB,QAAL,GAAc,EAAd;IACA,KAAKzI,SAAL,GAAe,EAAf;IACA,KAAK8J,UAAL,GAAgB,EAAhB;IACA,MAAMhB,WAAW,GAAE,KAAKxQ,aAAL,CAAmB9N,MAAnB,CAA0B6K,CAAC,IAAGA,CAAC,CAACgI,IAAF,IAAUwC,YAAxC,EAAsD,CAAtD,CAAnB;IACA,MAAMsK,QAAQ,GAACrB,WAAW,CAAC/kB,KAA3B;;IACA,QAAQomB,QAAR;MACE,KAAK,QAAL;QACE,IAAIF,YAAY,CAACG,MAAb,IAAuBH,YAAY,EAAEG,MAAd,EAAsB3lB,MAAtB,IAAgC,CAA3D,EAA8D;UAC5D,KAAK+H,QAAL,GAAgB,CAACyd,YAAY,CAACG,MAAb,CAAoB3lB,MAArB,GAA4B,KAAK+H,QAAjC,GAA4Cyd,YAAY,CAACG,MAAb,CAAoBvI,QAAhF;UACA,KAAKwI,gBAAL,CAAsBJ,YAAY,CAACG,MAAnC,EAA0CH,YAAY,CAACG,MAAb,CAAoBvI,QAA9D;QACD;;QACD;;MACF,KAAK,QAAL;QACE,IAAIoI,YAAY,CAACK,MAAjB,EAAyB;UACvB,KAAK9d,QAAL,GAAgB,CAACyd,YAAY,CAACK,MAAb,CAAoB7lB,MAArB,GAA4B,KAAK+H,QAAjC,GAA4Cyd,YAAY,CAACK,MAAb,CAAoBC,SAAhF;UACA,KAAKF,gBAAL,CAAsBJ,YAAY,CAACK,MAAnC,EAA0CL,YAAY,CAACK,MAAb,CAAoBC,SAA9D;QACD;;QACD;;MACA,KAAK,mBAAL;QACA,IAAIN,YAAY,CAACO,iBAAjB,EAAoC;UAClC,KAAKhe,QAAL,GAAgB,CAACyd,YAAY,CAACO,iBAAb,CAA+B/lB,MAAhC,GAAuC,KAAK+H,QAA5C,GAAuDyd,YAAY,CAACO,iBAAb,CAA+BD,SAAtG;UACA,KAAKF,gBAAL,CAAsBJ,YAAY,CAACO,iBAAnC,EAAqDP,YAAY,CAACO,iBAAb,CAA+BD,SAApF;QACD;;QACD;;MACA,KAAK,iBAAL;QACE,IAAIN,YAAY,CAACQ,eAAjB,EAAkC;UAChC,KAAKje,QAAL,GAAgB,CAACyd,YAAY,CAACQ,eAAb,CAA6BhmB,MAA9B,GAAqC,KAAK+H,QAA1C,GAAqDyd,YAAY,CAACQ,eAAb,CAA6BF,SAAlG;UACA,KAAKF,gBAAL,CAAsBJ,YAAY,CAACQ,eAAnC,EAAmDR,YAAY,CAACQ,eAAb,CAA6BF,SAAhF;QACD;;QACD;;MACA,KAAK,mBAAL;QACE,IAAIN,YAAY,CAACS,iBAAjB,EAAoC;UAClC,KAAKle,QAAL,GAAgB,CAACyd,YAAY,CAACS,iBAAb,CAA+BjmB,MAAhC,GAAuC,KAAK+H,QAA5C,GAAuDyd,YAAY,CAACS,iBAAb,CAA+BH,SAAtG;UACA,KAAKF,gBAAL,CAAsBJ,YAAY,CAACS,iBAAnC,EAAqDT,YAAY,CAACS,iBAAb,CAA+BH,SAApF;QACD;;QACD;;MACN,KAAK,QAAL;QACE,IAAIN,YAAY,CAACU,MAAjB,EAAyB;UACvB,KAAKne,QAAL,GAAgB,CAACyd,YAAY,CAACU,MAAb,CAAoBlmB,MAArB,GAA4B,KAAK+H,QAAjC,GAA4Cyd,YAAY,CAACU,MAAb,CAAoBC,QAAhF;UACA,KAAKP,gBAAL,CAAsBJ,YAAY,CAACU,MAAnC,EAA0CV,YAAY,CAACU,MAAb,CAAoBC,QAA9D;QACD;;QACD;;MACA,KAAK,WAAL;QACA,IAAIX,YAAY,CAACY,SAAjB,EAA4B;UAC1B,KAAKre,QAAL,GAAgB,CAACyd,YAAY,CAACY,SAAb,CAAuBpmB,MAAxB,GAA+B,KAAK+H,QAApC,GAA+Cyd,YAAY,CAACY,SAAb,CAAuBN,SAAtF;UACA,KAAKF,gBAAL,CAAsBJ,YAAY,CAACY,SAAnC,EAA6CZ,YAAY,CAACY,SAAb,CAAuBN,SAApE;QACD;;QACD;;MACF,KAAK,WAAL;QACE,IAAIN,YAAY,CAACa,SAAjB,EAA4B;UAC1B,KAAKte,QAAL,GAAgB,CAACyd,YAAY,CAACa,SAAb,CAAuBrmB,MAAxB,GAA+B,KAAK+H,QAApC,GAA+Cyd,YAAY,CAACa,SAAb,CAAuBC,WAAtF;UACA,KAAKpC,SAAL,GAAiB,CAACsB,YAAY,CAACa,SAAb,CAAuBrmB,MAAxB,GAA+B,KAAKkkB,SAApC,GAA+CsB,YAAY,CAACa,SAAb,CAAuBE,WAAvF;UACA,KAAKhL,SAAL,GAAeiK,YAAY,CAACa,SAAb,CAAuBC,WAAtC;UACA,KAAKjB,UAAL,GAAgBG,YAAY,CAACa,SAAb,CAAuBE,WAAvC;UACA,KAAKd,eAAL,GAAuBD,YAAY,CAACa,SAAb,CAAuBrmB,MAAvB,GAAgC,IAAhC,GAAuC,KAA9D;UACA,KAAKA,MAAL,GAAYwlB,YAAY,CAACa,SAAb,CAAuBrmB,MAAnC;UACA,KAAKud,OAAL,GAAeiI,YAAY,CAACa,SAAb,CAAuB9I,OAAtC;UACA,MAAMiJ,MAAM,GAAC,KAAKze,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyBC,MAAtC;UACA,KAAKwa,QAAL,GAAc,KAAKjc,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyB,GAAGid,MAAM,GAAC,CAAC,EAApC,EAAwC/c,WAAxC,EAAd;UACA,MAAMgd,OAAO,GAAG,KAAK1e,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyBC,MAAzC;UACA,KAAKya,SAAL,GAAiB,KAAKlc,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyB,GAAGkd,OAAO,GAAG,CAAC,EAAvC,EAA2Chd,WAA3C,EAAjB;QACD;;QACD;;MACF,KAAK,UAAL;QACE,IAAI+b,YAAY,CAACkB,QAAjB,EAA2B;UACzB,KAAK3e,QAAL,GAAgB,CAACyd,YAAY,CAACkB,QAAb,CAAsB1mB,MAAvB,GAA8B,KAAK+H,QAAnC,GAA8Cyd,YAAY,CAACkB,QAAb,CAAsBC,QAApF;UACA,KAAKf,gBAAL,CAAsBJ,YAAY,CAACkB,QAAnC,EAA4ClB,YAAY,CAACkB,QAAb,CAAsBC,QAAlE;UACA;QACD;;IA/DL;EAiED;;EACDf,gBAAgB,CAAChnB,IAAD,EAAWgoB,UAAX,EAAyB;IACvC,KAAKrL,SAAL,GAAeqL,UAAf;IACA,KAAKnB,eAAL,GAAuB7mB,IAAI,CAACoB,MAAL,IAAe,CAACpB,IAAI,CAAC4J,cAArB,GAAsC,IAAtC,GAA6C,KAApE;IACA,KAAKxI,MAAL,GAAcpB,IAAI,CAACoB,MAAnB;IACA,KAAKud,OAAL,GAAe3e,IAAI,CAAC2e,OAApB;IACA,MAAMiJ,MAAM,GAAG,KAAKze,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyBC,MAAxC;IACA,KAAKwa,QAAL,GAAgB,KAAKjc,QAAL,CAAcwB,KAAd,CAAoB,GAApB,EAAyB,GAAGid,MAAM,GAAG,CAAC,EAAtC,EAA0C/c,WAA1C,EAAhB;EACD;;EAEDkK,eAAe,CAAC/U,IAAD,EAAS;IACtB,IAAIyV,OAAO,GAAQ,EAAnB;;IACA,QAAQ,KAAK+P,aAAb;MACE,KAAK,UAAL;QACE/P,OAAO,CAACsS,QAAR,GAAmB,KAAK5e,QAAxB;QACA;;MACF,KAAK,QAAL;QACEsM,OAAO,CAACyR,SAAR,GAAoB,KAAK/d,QAAzB;QACA;;MACF,KAAK,QAAL;QACEsM,OAAO,CAAC8R,QAAR,GAAmB,KAAKpe,QAAxB;QACA;;MACF,KAAK,QAAL;QACEsM,OAAO,CAAC+I,QAAR,GAAmB,KAAKrV,QAAxB;QAEA;;MACF,KAAK,WAAL;QACEsM,OAAO,CAACiS,WAAR,GAAsB,KAAKve,QAA3B;QACAsM,OAAO,CAACkS,WAAR,GAAsB,KAAKrC,SAA3B;QACA;;MACA,KAAK,mBAAL;QACE7P,OAAO,CAACyR,SAAR,GAAoB,KAAK/d,QAAzB;QACA;;MACA,KAAK,WAAL;QACAsM,OAAO,CAACyR,SAAR,GAAoB,KAAK/d,QAAzB;QACA;;MACA,KAAK,iBAAL;QACEsM,OAAO,CAACyR,SAAR,GAAoB,KAAK/d,QAAzB;QACF;;MACA,KAAK,mBAAL;QACEsM,OAAO,CAACyR,SAAR,GAAoB,KAAK/d,QAAzB;QACF;IA7BN;;IAgCAsM,OAAO,CAACrU,MAAR,GAAiBpB,IAAI,CAAC+jB,UAAL,GAAgB/jB,IAAI,CAAC+jB,UAArB,GAAiC,CAAlD;IACAtO,OAAO,CAAC7L,cAAR,GAAyB,CAAzB;IACA,KAAKnF,kBAAL,CAAwBsQ,eAAxB,CACE;MAAE,CAAC,YAAY,KAAKyQ,aAAa,EAA/B,GAAoC/P;IAAtC,CADF;EAGD;;EAEDlP,WAAW,IACV;;EAEDue,kBAAkB,CAAC9kB,IAAD,EAAS;IACzB,IAAGA,IAAI,CAACU,KAAL,IAAc,WAAd,IAA6BV,IAAI,CAACU,KAAL,IAAc,QAA3C,IAAuDV,IAAI,CAACU,KAAL,IAAc,UAArE,IAAmFV,IAAI,CAACU,KAAL,IAAc,iBAAjG,IAAsHV,IAAI,CAACU,KAAL,IAAc,mBAApI,IAA2JV,IAAI,CAACU,KAAL,IAAc,mBAAzK,IAAgMV,IAAI,CAACU,KAAL,IAAc,WAAjN,EAA6N;MAC3N,KAAK+jB,eAAL,CAAqBwD,aAArB,GAAmC,UAAnC;MACA,KAAKxD,eAAL,CAAqB1Y,IAArB,GAA0B,KAA1B;IACD,CAHD,MAGM,IAAG/L,IAAI,CAACU,KAAL,IAAc,QAAd,IAA0BV,IAAI,CAACU,KAAL,IAAc,QAA3C,EAAoD;MACxD,KAAK+jB,eAAL,CAAqBwD,aAArB,GAAmC,gBAAnC;IACD;EAEF;;AA7ciC;;;mBAAvBzD,yBAAuB7mB,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,gFAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,mFAAAA,GAAAA,gEAAAA,CAAAA,wEAAAA,GAAAA,gEAAAA,CAAAA,0HAAAA;AAAA;;;QAAvB6mB;EAAuB7gB;EAAAukB;IAAAC;EAAA;EAAAhS;IAAA0N;EAAA;EAAApd;EAAAC;EAAAC;EAAAC;IAAA;MChBpCjJ,yDAAAA;MAeAA,yDAAAA;MAwBAA,yDAAAA;;;;MAvCuBA,yDAAAA;MAeCA,wDAAAA;MAAAA,yDAAAA;MAwBAA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;ACtC8C;AACjB;AACkC;;AAYhF,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAL7B,+DAAY;QACZ,+FAAsB;mIAIb,oBAAoB,mBAPhB,+EAAuB,aAEpC,+DAAY;QACZ,+FAAsB,aAEf,+EAAuB;;;;;;;;;;;;;;;;;;;;ACVlC;AACA;;;;AAKM,MAAO0qB,YAAP,CAAmB;EACvB3rB,YACU4rB,UADV,EAEU9gB,kBAFV,EAE+C;IADrC;IACA;EACL;;EACLK,WAAW,CAAC+K,OAAD,EAAa;IACtB,OAAO,KAAKpL,kBAAL,CAAwBnI,WAAxB,CAAoCiF,0FAApC,CAAP,CADsB,CAEtB;EACD;;EACDikB,kBAAkB,CAAC3V,OAAD,EAAa;IAC7B,OAAO,KAAK0V,UAAL,CAAgBE,aAAhB,CAA8B5V,OAA9B,EAAuCtO,qGAAvC,CAAP;EACD;;EACDmkB,SAAS;IACP,OAAO,KAAKH,UAAL,CAAgBI,QAAhB,CAAyB,IAAzB,EAA+BpkB,gFAA/B,CAAP;EACD;;EACDqkB,oBAAoB,CAAC/V,OAAD,EAAa;IAC/B,OAAO,KAAK0V,UAAL,CAAgBI,QAAhB,CAAyB9V,OAAzB,EAAkCtO,qFAAlC,CAAP;EACD;;AAjBsB;;;mBAAZ+jB,cAAY1qB,sDAAAA,CAAAA,iFAAAA,GAAAA,sDAAAA,CAAAA,iFAAAA;AAAA;;;SAAZ0qB;EAAYzqB,SAAZyqB,YAAY;EAAAxqB,YAFX;;;;;;;;;;;;;;;;;;;;;ACN8C;AAEqB;;;;AAM1E,MAAM,YAAY;IAYvB,YACU,kBAAqC,EACrC,kBAAqC;QADrC,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAR/C,gBAAW,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC5D,gBAAW,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC5D,uBAAkB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACnE,qBAAgB,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QACjE,gBAAW,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAC5D,WAAM,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;IAIpD,CAAC;IAEJ,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,MAAW,EAAE,QAAY,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC3C,IAAG,MAAM,KAAK,SAAS;gBAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAAE,oFAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC7G,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChB;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzD,GAAG,CAAC,KAAK,CAAC,CAAC;iBACZ;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAID,qBAAqB,CAAC,OAAY;QAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,iDAAe,CAAM,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,8FAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;gBACxG,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzC;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,sBAAsB;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,qBAAqB,CAAC,OAAY;QAChC,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;QAC7B,IAAG,OAAO,EAAE,GAAG;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,kGAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAkC,EAAE,EAAE;YACjK,IAAI,GAAG,CAAC,UAAU,IAAG,KAAK,EAAE;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,UAAc,IAAI;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,6FAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC7H,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAY;QACzB,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,wFAA2B,CAAC,CAAC,SAAS,CAAC;YACzG,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC3B;YACH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,CAAC;SACA,CAAC;IAEN,CAAC;IAAA,CAAC;IAEF,SAAS,CAAC,YAAoB,EAAE,EAAE,UAAkB,EAAE,EAAE,SAAc,EAAE,EAAE,SAAc,EAAE;QACxF,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;QAClC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7B,IAAG,MAAM,KAAK,EAAE;YAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;QACpD,IAAI,CAAC,UAAU,GAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,mFAAsB,CAAC,CAAC,SAAS,CAAC;YAC/F,IAAI,EAAE,CAAC,IAAuB,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,UAAU,IAAG,KAAK,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtB;YACH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,CAAC;SACA,CAAC;IAEN,CAAC;IAAA,CAAC;IAGJ,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,sCAAsC;QACtC,uBAAuB;QACvB,IAAI;IACN,CAAC;IAGD,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;SAC9B;IACH,CAAC;IAAA,CAAC;IAEF,oBAAoB;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;wEA5LQ,YAAY;6GAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;;;ACRyC;AAGD;AAEJ;;;;;AAKjD,MAAM,cAAc;IAOzB,YAAoB,iBAAoC,EAC9C,MAAc,EACd,kBAAqC;QAC3C,mGAAmG;QACnG,6CAA6C;QAJ7B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC9C,WAAM,GAAN,MAAM,CAAQ;QACd,uBAAkB,GAAlB,kBAAkB,CAAmB;QAJ/C,iBAAY,GAAyB,IAAI,iDAAe,CAAC,EAAE,CAAC,CAAC;QAQzD,2CAA2C;QAC3C,4BAA4B;QAC5B,QAAQ;QAER,MAAM;QACN,KAAK;IAER,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAAA,CAAC;IAEF,WAAW;QACT,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE;QACzC,IAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,8EAAc,CAAC,CAAC,SAAS,CAC7F;YACE,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAG,IAAI,CAAC,UAAU,IAAI,GAAG,EAAC;oBACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,+BAA+B;iBAChC;qBAAK;oBACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;iBACzD;YAEH,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YACzD,CAAC;SACF,CACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAG,IAAI,CAAC,mBAAmB,EAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;IACH,CAAC;;4EAnDU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;ACR+C;AACd;AAEF;AACX;AACZ;;;;AAC5B,qDAAqD;AAC9C,MAAM,cAAc,GAAG,IAAI,yDAAc,CAAC,qBAAqB,CAAC,CAAC;AAIjE,MAAM,iBAAiB;IAK5B,YACU,SAAmB,EACnB,OAAe,EACS,OAAY;QAFpC,cAAS,GAAT,SAAS,CAAU;QACnB,YAAO,GAAP,OAAO,CAAQ;QACS,YAAO,GAAP,OAAO,CAAK;QAE5C,sEAAsE;QACtE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,iDAAe,CAAC,IAAI,CAAC,CAAC;QAChD,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,oBAAoB;QAEtB,CAAC,CAAC;QACF,yBAAyB;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,wGAAwG;IACxG,cAAc;IACd,wGAAwG;IAExG;;OAEG;IACH,IAAI,MAAM,CAAC,KAAK;QACd,0CAA0C;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAE5C,uBAAuB;QACvB,MAAM,GAAG,yCAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,uBAAuB;QAEvB,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,kDAAkD;IACpD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,wGAAwG;IACxG,oBAAoB;IACpB,wGAAwG;IAExG;;;;OAIG;IACK,KAAK;QACX;;WAEG;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAChD,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC9C;QAED,yCAAyC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,iDAAe,CAAC,6CAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAE5E,mEAAmE;QACnE,iEAAiE;QACjE,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC,MAAM;aAChB,IAAI,CAAC,sDAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,uDAAU,CAAC,CAAC;aAClD,SAAS,CAAC,GAAG,EAAE;YACd,sDAAsD;YACtD,2CAA2C;YAG3C,IAAI,CAAC,2CAAS,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACjF,2BAA2B;gBAC3B,MAAM,MAAM,GAAG,6CAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3D,uBAAuB;gBAGvB,2CAA2C;gBAC3C,MAAM,CAAC,MAAM,GAAG,6CAAW,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAExD,iBAAiB;gBACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wGAAwG;IACxG,mBAAmB;IACnB,wGAAwG;IAExG;;;;;OAKG;IACH,SAAS,CAAC,KAAU,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;QAC9C,0CAA0C;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAE5C,uBAAuB;QACvB,MAAM,GAAG,yCAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpC,iCAAiC;QACjC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,uBAAuB;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,yCAAyC;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,6CAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,CAAC;;kFA3IU,iBAAiB,2RAQlB,cAAc;kHARb,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;ACNb,MAAM,aAAa,GAAkB;IAC1C,UAAU,EAAE,QAAQ;IACpB,gBAAgB,EAAE,IAAI;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,OAAO;QACd,MAAM,EAAE;YACN,MAAM,EAAE,KAAK;SACd;QACD,MAAM,EAAE;YACN,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK;SACd;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK;SACd;QACD,MAAM,EAAE;YACN,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK;SACd;QACD,SAAS,EAAE;YACT,MAAM,EAAE,KAAK;SACd;QACD,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;SACd;QACD,MAAM,EAAE;YACN,MAAM,EAAE,KAAK;SACd;KACF;CACF;;;;;;;;;;;;;;;;;;AClCiF;AACtB;;AAGrD,MAAM,UAAU;IACrB,YAAoC,YAAwB;QAC1D,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACnF;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAW;QACxB,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,sEAAc;oBACvB,QAAQ,EAAE,MAAM;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;;oEAjBU,UAAU;uGAAV,UAAU;;;;;;;;;;;;;;;;;;;ACHgB;;AAKhC,MAAM,oBAAoB;IAI/B;QAHA,cAAS,GAAyC,SAAS,CAAC;QAC5D,cAAS,GAAyC,SAAS,CAAC;QAC5D,gBAAW,GAA8B,IAAI,iDAAe,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;;wFAJN,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;;;;;;;;;ACHyB;AAE6D;;;;;;;ICqEpG,6EAAuG;IAA9B,gTAAS,oFAAmB,KAAC;IACpG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,wGACF;;;;IAGA,6EAAyG;IAA/B,gTAAS,qFAAoB,KAAC;IACtG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,0GACF;;ADrEC,MAAM,wBAAwB;IAMnC,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QALnD,eAAU,GAAgB,IAAI,uDAAW,EAAE;QAC3C,eAAU,GAAgB,IAAI,uDAAW,EAAE;QAC3C,eAAU,GAAgB,IAAI,uDAAW,EAAE;IAIvC,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAC/D,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;QACpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;QACpD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;QACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;gGA1CU,wBAAwB,6PAQzB,oHAAuB;sHARtB,wBAAwB;QCTrC,yEAA2B;QAEnB,0FAA+B;QAAA,4DAAK;QACxC,4EAA0F;QAA7B,sJAAS,sBAAkB,IAAC;QACvF,uEAAM;QAAA,iEAAC;QAAA,4DAAO;QAIlB,yEAA6B;QAGpB,8EAAkB;QAAA,4DAAI;QACzB,0EAAkB;QAGZ,uEAA6I;QAC7I,4EAA+C;QAAA,uEAAW;QAAA,4DAAQ;QAEpE,0EAAmB;QACjB,uEAA6I;QAC7I,4EAA+C;QAAA,uEAAW;QAAA,4DAAQ;QAKxE,0EAAkB;QAEX,uFAA2B;QAAA,4DAAI;QAEpC,0EAAuC;QAEnC,wEAAkJ;QAClJ,4EAA+C;QAAA,mEAAO;QAAA,4DAAQ;QAEhE,0EAAmB;QACjB,wEAAgJ;QAChJ,4EAA+C;QAAA,iEAAK;QAAA,4DAAQ;QAE9D,0EAAmB;QACjB,wEAAiJ;QACjJ,4EAA+C;QAAA,kEAAM;QAAA,4DAAQ;QAOnE,2EAAkB;QAEX,qFAAyB;QAAA,4DAAI;QAElC,0EAAuC;QAEnC,wEAA6I;QAE7I,4EAA+C;QAAA,+DAAG;QAAA,4DAAQ;QAE5D,0EAAmB;QACjB,wEAA4I;QAE5I,4EAA+C;QAAA,8DAAE;QAAA,4DAAQ;QASrE,2EAAsB;QAElB,6HAES;QACX,4DAAM;QACN,2EAAsB;QACpB,6HAES;QACX,4DAAM;;QAhEkE,2DAAsC;QAAtC,mGAAsC;QAItC,0DAAsC;QAAtC,mGAAsC;QAYtC,0DAA2C;QAA3C,wGAA2C;QAI3C,0DAAyC;QAAzC,sGAAyC;QAIzC,0DAA0C;QAA1C,uGAA0C;QAc3C,0DAAuC;QAAvC,oGAAuC;QAKvC,0DAAsC;QAAtC,mGAAsC;QAajE,0DAA2B;QAA3B,2FAA2B;QAK1B,0DAA6B;QAA7B,6FAA6B;;;;;;;;;;;;;;;;;;;;;;AC5EjC;AAG6D;;;;;ICMlG,kEAAkF;;;IAAtC,+JAAiC;;;;IAC7E,4EAA+G;IAAzD,oTAAS,qFAAoB,KAAC;IAA2B,uDAA2B;IAAA,4DAAS;;;IAApC,0DAA2B;IAA3B,+FAA2B;;ADA3I,MAAM,6BAA6B;IAKxC,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAJjD,cAAS,GAAO,IAAI,CAAC,IAAI;QAC3B,cAAS,GAAgB,IAAI,uDAAW,EAAE;IAItC,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;0GArCU,6BAA6B,6PAO9B,oHAAuB;2HAPtB,6BAA6B;QCV1C,yEAAmC;QAEkC,2JAAS,sBAAkB,IAAC;QACrF,uEAAM;QAAA,iEAAC;QAAA,4DAAO;QAItB,yEAA+C;QACb,kEAA4B;QAAA,4DAAM;QAChE,qHAAkF;QAClF,+HAAmJ;QAEvJ,4DAAM;;QAHe,0DAAyB;QAAzB,yFAAyB;QACnB,0DAA6B;QAA7B,6FAA6B;;;;;;;;;;;;;;;;;;;;;;ACVf;AAG6D;;;;;;ICiEhG,oEAAuE;;;IAAvC,+JAAiC;;;IAGzD,uEAA0K;;;IAArE,6FAA6B;;;IAKlI,uEAAyK;;;IAArE,6FAA6B;;;;IAMjI,6EAAyG;IAA/B,sTAAS,qFAAoB,KAAC;IACtG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,0GACF;;;;IAGA,6EAAuG;IAA9B,sTAAS,oFAAmB,KAAC;IACpG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,wGACF;;AD/EX,MAAM,8BAA8B;IAKzC,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAJjD,cAAS,GAAO,IAAI,CAAC,IAAI;QAC3B,cAAS,GAAgB,IAAI,uDAAW,EAAE;IAItC,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;4GArCU,8BAA8B,6PAO/B,oHAAuB;4HAPtB,8BAA8B;QC8B3C,yEAAmC;QAEgC,4JAAS,sBAAkB,IAAC;QACrF,uEAAM;QAAA,iEAAC;QAAA,4DAAO;QAGtB,yEAA0E;QAElE,oEAA2C;QAC/C,4DAAS;QAET,yEAA6B;QAElB,kEAAM;QAAA,4DAAI;QACb,wEAAmB;QAAA,wDAA2B;QAAA,4DAAI;QAEtD,0EAA2C;QACpC,qEAAS;QAAA,4DAAI;QAChB,wEAAmB;QAAA,wDAA8B;QAAA,4DAAI;QAEzD,0EAAqD;QAC9C,qEAAS;QAAA,4DAAI;QAChB,wEAAmB;QAAA,wDAA8B;QAAA,4DAAI;QAEzD,0EAA2C;QACpC,yEAAa;QAAA,4DAAI;QACpB,wEAAmB;QAAA,wDAAoD;;QAAA,4DAAI;QAE/E,2HAAuE;QACvE,0EAA2C;QAEnC,iIAA0K;QAC1K,6EACwB;QAAQ,uEAAW;QAAA,4DAAS;QAExD,2EAAmB;QACf,iIAAyK;QACzK,6EAA+C;QAAQ,iFAAqB;QAAA,4DAAS;QAG7F,2EAAwC;QAEhC,mIAES;QACb,4DAAM;QACN,2EAAsB;QAClB,mIAES;QACb,4DAAM;;QApCa,2DAA2B;QAA3B,qGAA2B;QAI3B,0DAA8B;QAA9B,wGAA8B;QAI9B,0DAA8B;QAA9B,wGAA8B;QAI9B,0DAAoD;QAApD,0LAAoD;QAEtE,0DAAyB;QAAzB,yFAAyB;QAGd,0DAAsC;QAAtC,sGAAsC;QAKtC,0DAAsC;QAAtC,sGAAsC;QAMH,0DAA6B;QAA7B,6FAA6B;QAK9B,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;;;;;ACvFxC;AACsC;AACnB;AACE;AACsC;AACf;;AAkBpF,MAAM,2BAA2B;;sGAA3B,2BAA2B;wHAA3B,2BAA2B;4HANpC,yDAAY;QACZ,uDAAW;QACX,+DAAmB;mIAIV,2BAA2B,mBAZpC,8FAA8B;QAC9B,6EAAiB;QACjB,mHAA6B;QAC7B,oGAAwB,aAGxB,yDAAY;QACZ,uDAAW;QACX,+DAAmB,aAEX,8FAA8B,EAAE,6EAAiB,EAAE,mHAA6B;;;;;;;;;;;;;;;;;;;;;ACrB/C;AAG6D;;;;;;ICehG,4EAAiG;IAA/B,ySAAS,qFAAoB,KAAC;IAC9F,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,0GACF;;ADVH,MAAM,iBAAiB;IAK5B,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAJjD,cAAS,GAAO,IAAI,CAAC,IAAI;QAC3B,cAAS,GAAgB,IAAI,uDAAW,EAAE;IAItC,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;kFArCU,iBAAiB,6PAOlB,oHAAuB;+GAPtB,iBAAiB;QCX9B,yEAAyB;QAIX,+FAAoC;QAAA,4DAAK;QAC7C,4EAA6G;QAA7B,+IAAS,sBAAkB,IAAC;QACxG,0EAAyB;QAAA,iEAAC;QAAA,4DAAO;QAGzC,yEAA6B;QACF,qEAAuC;QAAA,4DAAM;QACpE,sEAAI;QAAA,kGAAsC;QAAA,4DAAK;QAC/C,qEAAG;QAAA,uPAKiB;QAAA,4DAAI;QAExB,qHAES;QACb,4DAAM;;QAHiC,2DAA6B;QAA7B,6FAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBmD;AAM5E;;;;;;;;;;;;;AAQ1C,MAAM,yBAAyB;IAepC,YACU,OAAqB,EACrB,SAA2B,EAC3B,cAA4B,EAC5B,cAAmC;IAC3C,yCAAyC;IAClC,WAA2B,EAC1B,MAAa;QANb,YAAO,GAAP,OAAO,CAAc;QACrB,cAAS,GAAT,SAAS,CAAkB;QAC3B,mBAAc,GAAd,cAAc,CAAc;QAC5B,mBAAc,GAAd,cAAc,CAAqB;QAEpC,gBAAW,GAAX,WAAW,CAAgB;QAC1B,WAAM,GAAN,MAAM,CAAO;QAnBb,cAAS,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAClD,cAAS,GAAsB,IAAI,uDAAY,CAAC,KAAK,CAAC,CAAC;QACvD,WAAM,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAMzD,YAAO,GAAG,GAAG,CAAC;QACd,SAAI,GAAG,IAAI,CAAC;QAaV,UAAU,CAAC,GAAE,EAAE;YACb,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC,EAAC,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,QAAQ;QACN,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE;IACtB,CAAC;IAAA,CAAC;IAGF,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAA,CAAC;IAEF,WAAW;QACT,qBAAqB;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,SAAS,GAAG,2CAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;aACnC,IAAI,CAAC,0CAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB,SAAS,CAAC,GAAG,EAAE;YACd,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,6BAA6B;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC/C,OAAO,CACL,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,GAAG;YACH,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,GAAO;QACf,IAAI,OAAO,GAAC,EAAC,EAAE,EAAC,IAAI,CAAC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,GAAE;YACpD,IAAG,GAAG,EAAC;gBACL,IAAG,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAC;oBAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBACnD,yDAAyD;oBACzD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC;iBACxC;qBAAI;oBACH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;iBAC5C;aACF;iBACI;gBACH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC3C;QACF,CAAC,CACJ;IACH,CAAC;IACD,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;kGAtFU,yBAAyB;uHAAzB,yBAAyB;;;;;;QCdtC,yEAC+D;QAKY,iJAAS,gBAAY,IAAC;QAC7E,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QAEzC,yEAAwB;QACM,oEAAsC;QAAA,4DAAM;QACxE,sEAAI;QAAA,6EAAiB;QAAA,4DAAK;QAC1B,qEAAG;QAAA,uHAA2D;QAAA,4DAAI;QAClE,2EAAgC;QAKC,2LAAiB;QAApC,4DAC2D;QAE3D,6EAAiB;QAAA,+DAAG;QAAA,4DAAQ;QAEhC,2EAAiC;QAAA,wDAAsB;QAAA,4DAAM;QAGrE,2EAAwB;QACW,kJAAS,iBAAa,IAAC;QAAC,sEAAU;QAAA,4DAAS;;QAT/C,2DAAiB;QAAjB,4EAAiB;QAKP,0DAAsB;QAAtB,2FAAsB;;;;;;;;;;;;;;;;;;;;;;ACxBxC;AAEE;AAC4B;AACI;;AAaxE,MAAM,sBAAsB;;4FAAtB,sBAAsB;mHAAtB,sBAAsB;uHAR/B,yDAAY;QACZ,uDAAW;QACX,yFAAoB;mIAMX,sBAAsB,mBAVlB,oFAAyB,aAEtC,yDAAY;QACZ,uDAAW;QACX,yFAAoB,aAGpB,oFAAyB;;;;;;;;;;;;;;;;;ACdqE;;AAQ3F,MAAM,oBAAoB;IAM/B;QAHS,YAAO,GAAkC,iBAAiB,CAAC;QAE3D,aAAQ,GAAqB,IAAI,uDAAY,EAAO;IAC7C,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFATU,oBAAoB;kHAApB,oBAAoB;QCRjC,yEAAyB;QAErB,qEAAwD;QAE1D,4DAAM;QACN,sEAAK;QACyC,4IAAS,mBAAe,IAAC;QAAC,4DAAS;;QAJjD,0DAAkB;QAAlB,6IAAkB;QAClB,0DAAmB;QAAnB,8IAAmB;QAG3B,0DAAqB;QAArB,gJAAqB;;;;;;;;;;;;;;;;;;;;;;ACH2D;;;;;;ICiBpG,oEAA2D;;;IAAvB,iJAAoB;;;IACxD,uEAA0G;;;;IAAnE,2NAAgC;;ADXtE,MAAM,iBAAiB;IAI5B,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAHnD,iBAAY,GAAQ,EAAE,CAAC;IAInB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,MAAM,SAAS,GAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;kFAhBU,iBAAiB,6PAMlB,oHAAuB;+GANtB,iBAAiB;QCG9B,yEAAsB;QAEK,yIAAS,kBAAc,IAAC;QAC7C,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QAGzC,sEAAK;QACH,6GAA2D;QAC3D,mHAA0G;QAC5G,4DAAM;;QAFE,0DAA2B;QAA3B,2FAA2B;QACxB,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;;ACpBK;AACW;AACH;;AAchD,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GALvB,yDAAY;QACZ,iEAAW;mIAIF,cAAc,mBARvB,mEAAiB,aAGjB,yDAAY;QACZ,iEAAW,aAEJ,mEAAiB;;;;;;;;;;;;;;;;;;;;;;;;;ACfoG;AAC9C;AAEjC;;;;;;;;;ICMjC,2EAAgE;IAC9D,4EACF;IAAA,4DAAO;;;IAHX,sEAA6C;IACzC,wHAEO;IACX,4DAAM;;;IAHyB,0DAAmC;IAAnC,4IAAmC;;;IAK9D,0EAAiD;IAAA,uDAAgB;IAAA,4DAAM;;;IAAtB,0DAAgB;IAAhB,6FAAgB;;;;IAE7D,wEAAuD;IAA5B,2RAAS,6EAAY,IAAI,CAAC,KAAC;IAAC,qEAAU;IAAA,4DAAI;;ADNlF,MAAM,mBAAmB;IAoB9B,YACU,OAAyB,EACzB,EAAqB;QADrB,YAAO,GAAP,OAAO,CAAkB;QACzB,OAAE,GAAF,EAAE,CAAmB;QAfrB,WAAM,GAAyB,IAAI,uDAAY,EAAE,CAAC;QAClD,cAAS,GAAsB,IAAI,uDAAY,EAAE,CAAC;QAClD,mBAAc,GAAsB,IAAI,uDAAY,EAAE,CAAC;QACxD,qBAAgB,GAAW,EAAE,CAAC,CAAC,mBAAmB;QAClD,yBAAoB,GAAY,IAAI,CAAC,CAAC,oBAAoB;QAEnE,cAAS,GAAS,KAAK,CAAC;QAExB,YAAO,GAAG,GAAG,CAAC;QACd,SAAI,GAAG,IAAI,CAAC;QAQV,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC1B,GAAG,EAAC,CAAC,EAAE,EAAC,CAAC,+DAAmB,CAAC,CAAC;SAC/B,CAAC;QACF,0BAA0B;QAC1B,kBAAkB;QAClB,0BAA0B;QAC1B,IAAI;IACN,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,uBAAuB;IACzB,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,gCAAgC;QAChC,IAAG,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAC;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,qBAAqB;YACrB,oCAAoC;YACpC,SAAS;SAEV;IACH,CAAC;IAED,kBAAkB;IAClB,+BAA+B;IAC/B,KAAK;IACL,WAAW,CAAC,KAAc;QACtB,IAAI,KAAK,GAAW,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;iBAC7B;aACF;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;IAEL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC;QACpB,IAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAC;YACvB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAGD,aAAa;QACX,uCAAuC;QACvC,IAAI,CAAC,SAAS,GAAG,2CAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;aACnC,IAAI,CAAC,0CAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB,SAAS,CAAC,GAAG,EAAE;YACd,EAAE,IAAI,CAAC,OAAO,CAAC;YACf,6BAA6B;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC/C,OAAO,CACL,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,GAAG;YACH,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IACJ,CAAC;;sFAtGU,mBAAmB;iHAAnB,mBAAmB;QCVhC,0EAAsD;QAItC,sEAC4D;QAC5D,2EAAiB;QAAA,qEAAU;QAAA,0EAA+B;QAAA,4DAAC;QAAA,4DAAO;QAEtE,+GAIM;QACN,0EAAqC;QACjC,iHAAuE;QACvE,uEAAM;QACF,8GAAqE;QACzE,4DAAM;QAKlB,2EAA2C;QAEmB,4IAAS,iBAAa,IAAC;QAAC,wDAAW;QAAA,4DAAS;;QAxB/E,mFAAsB;QAIyB,0DAAuB;QAAvB,oFAAuB;QAInF,0DAAqC;QAArC,uGAAqC;QAMJ,0DAAW;QAAX,2EAAW;QAE7B,0DAAY;QAAZ,4EAAY;QAQ6C,0DAAW;QAAX,4EAAW;;;;;;;;;;;;;;;;;;;;;;ACvBtD;AACe;AACI;AACa;;AAiBxE,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHATzB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,yFAAoB;mIAMX,gBAAgB,mBAZzB,uEAAmB,aAGnB,yDAAY;QACZ,uDAAW;QACX,+DAAmB;QACnB,yFAAoB,aAGpB,uEAAmB;;;;;;;;;;;;;;;;;;;;;AClB+E;AAGzE;;;;;AAUtB,MAAM,mBAAmB;IAS9B,YACS,WAA2B,EAC3B,mBAAuC,EACtC,kBAAqC;QAFtC,gBAAW,GAAX,WAAW,CAAgB;QAC3B,wBAAmB,GAAnB,mBAAmB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAX/C,aAAa;QACb,0BAAqB,GAAO,EAAE;QAC9B,UAAK,GAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjE,aAAQ,GAAW,cAAc,CAAC;QAClC,YAAO,GAAG,CAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAGlC,SAAI,GAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAKzB,CAAC;IACL,QAAQ;QACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEzC,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,EAAO;QAClB,wEAAwE;QACxE,wBAAwB;QAExB,sDAAsD;QACtD,OAAO;QACP,qBAAqB;QAErB,4CAA4C;QAC5C,MAAM;QACN,KAAK;QACL,kCAAkC;QAElC,MAAM,MAAM,GAA+B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACvD,0HAA0H;QAE1H,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;YACzI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC7C;QACH,MAAM,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;YAEzB,mBAAmB;YACnB,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,GAAkB,sCAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE9D,sBAAsB;YACtB,MAAM,MAAM,GAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,EAAE,GAAmB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7C,eAAe;YACf,IAAI,CAAC,IAAI,GAAQ,CAAC,qDAAwB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/D,IAAI,GAAG,GAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE;gBACxC,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,IAAI,EAAE,GAAQ,EAAE,CAAC;oBACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBAE9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACzH,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;qBAC7B;oBACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACd;YACH,CAAC,CAAC;YAEF,IAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAC;gBACpC,KAAI,IAAI,OAAO,IAAI,GAAG,EAAC;oBACrB,KAAK,IAAI,GAAG,IAAI,OAAO,EAAC;wBACtB,2BAA2B;wBAC3B,mCAAmC;wBACnC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,QAAQ,EAAC;4BACpD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;4BAC5E,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC7B,OAAO;yBACR;qBACF;iBACF;aACF;iBAAI;gBACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,IAAG,GAAG,CAAC,CAAC,8CAA6C,EAAC,gCAA+B,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjJ,IAAI,CAAC,IAAI,GAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACR;YAED,IAAI,OAAO,GAAG;gBACZ,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjC,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrD,QAAQ,EAAE,GAAG;aACd;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;;sFAjGU,mBAAmB;iHAAnB,mBAAmB,gHAFnB,CAAC,sGAAkB,CAAC;QCLjC,yEAAuB;QACuB,2IAAS,cAAU,IAAC;QAEjE,8DAAmF;QAAnF,yEAAmF;QAEhF,qEAAyJ;QAE3J,4DAAI;QAIN,+DAAwE;QAAxE,sEAAwE;QACnE,iFAAsB;QAAA,4DAAK;QAC/B,wEAAsB;QAAA,qIAAyE;QAAA,4DAAK;QACpG,0EAAkE;QACjC,8DAAuG;QAAvG,0EAAuG;QACvI,uEAAgI;QAChI,yEAAyG;QAEvG,uEAAs5B;QACv5B,4DAAI;QAGN,+DAAG;QAAH,qEAAG;QAAA,8EAAkB;QAAA,4DAAI;QACvB,6EAA4G;QAAnD,mJAAU,wBAAoB,IAAC;QAAxF,4DAA4G;QAE9G,8EAA6B;QAAA,qFAAyB;QAAA,4DAAS;;QAf3D,0DAAkE;QAAlE,wHAAkE;;;;;;;;;;;;;;;;;;;;;AChBxB;AACe;AAEI;;AAmB3D,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAVrB,yDAAY;QACZ,uDAAW;mIASN,gBAAgB,mBAfrB,uEAAmB,aAKnB,yDAAY;QACZ,uDAAW,aAIX,uEAAmB;;;;;;;;;;;;;;;;;;;AChBgD;;;;;ICF3E,yEAAqC;IAIrB,oEAAsF;IAC1F,4DAAM;;ADMX,MAAM,eAAe;IAG1B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAFzC,WAAM,GAAY,IAAI,CAAC;QAGrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAkB,EAAE,EAAE;YACrD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IAER,CAAC;IACD,WAAW,CAAC,OAAsB;QAC9B,uBAAuB;IAE3B,CAAC;;8EAjBU,eAAe;6GAAf,eAAe;QCX5B,2GAQM;;QARiB,4EAAY;;;;;;;;;;;;;;;;;;;;;;ACGnC;;AAyBM,MAAOirB,iBAAP,CAAwB;EAC5B;EACA;EACA;EAEApsB,eAAgB,CALY,CAKX;;;EAEjBqsB,cAAc,CAACC,GAAD,EAAWC,MAAX,EAAwBC,UAAxB,EAA4CC,QAA5C,EAA6D;IACzE,IAAID,UAAJ,EAAgB;MACd,IAAIE,GAAG,GAAW,EAAlB;MACAF,UAAU,CAAC9P,OAAX,CAAmB,CAACR,GAAD,EAAKjF,CAAL,KAAU;QAC3ByV,GAAG,IAAIJ,GAAG,CAACpQ,GAAD,CAAV;;QACA,IAAIjF,CAAC,GAAGuV,UAAU,CAACte,MAAX,GAAoB,CAA5B,EAA+B;UAC7Bwe,GAAG,IAAID,QAAP;QACD;MACF,CALD;MAMA,OAAOC,GAAP;IACD;;IACD,IAAIC,EAAE,GAAGJ,MAAM,CAACve,IAAP,CAAYC,KAAZ,CAAkB,GAAlB,EAAuB2e,MAAvB,CAA8B,CAACC,IAAD,EAAYC,IAAZ,KAA4B;MACjE,OAAOD,IAAI,CAACC,IAAD,CAAX;IACD,CAFQ,EAENR,GAFM,CAAT;;IAIA,IAAIC,MAAM,CAACQ,MAAX,EAAmB;MACjB,OAAO,IAAP,CADiB,CAEjB;IACD;;IACD,OAAOJ,EAAP;EACD;;EAEDK,iBAAiB,CAACpV,IAAD,EAAYqV,cAAZ,EAA6C;IAC5D,IAAIA,cAAc,CAACrlB,MAAf,CAAsBslB,MAAtB,KAAiCtV,IAAI,CAAC5J,IAA1C,EAAgD;MAC9Cif,cAAc,CAACrlB,MAAf,CAAsBulB,aAAtB,GACEF,cAAc,CAACrlB,MAAf,CAAsBulB,aAAtB,KAAwC,KAAxC,GAAgD,MAAhD,GAAyD,KAD3D;IAED;;IACDF,cAAc,CAACrlB,MAAf,CAAsBslB,MAAtB,GAA+BtV,IAAI,CAAC5J,IAApC;IACA,IAAIue,MAAM,GAAQU,cAAc,CAACG,OAAf,CAAuB3iB,MAAvB,CACf8hB,MAAD,IAAiBA,MAAM,CAACve,IAAP,KAAgBif,cAAc,CAACrlB,MAAf,CAAsBslB,MADvC,EAEhB,CAFgB,CAAlB;IAGA,IAAIG,SAAS,GAAYd,MAAM,CAACe,SAAP,GAAmB,IAAnB,GAA0B,KAAnD;;IACA,IACEL,cAAc,CAACM,kBAAf,IACA,OAAON,cAAc,CAACM,kBAAtB,IAA4C,UAF9C,EAGE;MACAN,cAAc,CAACM,kBAAf;IACD;EACF;;EAEDC,QAAQ,CAAC5V,IAAD,EAAY6V,cAAZ,EAA+B;IACrC,OACE,CAAC7V,IAAI,CAAC8V,MAAL,IAAe9V,IAAI,CAAC8V,MAAL,IAAe9S,SAA/B,KACA6S,cAAc,CAAC7lB,MAAf,CAAsBslB,MAAtB,KAAiCtV,IAAI,CAAC5J,IADtC,IAEA4J,IAAI,CAAC5J,IAAL,KAAc,EAHhB;EAKD;;EAED2f,WAAW,CAAC/V,IAAD,EAAYqV,cAAZ,EAA6C;IACtD,IAAIW,SAAS,GACX,CAAChW,IAAI,CAAC8V,MAAL,IAAe9V,IAAI,CAAC8V,MAAL,IAAe9S,SAA/B,KACAqS,cAAc,CAACrlB,MAAf,CAAsBslB,MAAtB,KAAiCtV,IAAI,CAAC5J,IADtC,IAEAif,cAAc,CAACrlB,MAAf,CAAsBulB,aAAtB,KAAwC,KAH1C;IAIA,OAAOS,SAAP;EACD;;EAEDC,YAAY,CAACjW,IAAD,EAAYqV,cAAZ,EAA6C;IACvD,IAAIa,UAAU,GACZ,CAAClW,IAAI,CAAC8V,MAAL,IAAe9V,IAAI,CAAC8V,MAAL,IAAe9S,SAA/B,KACAqS,cAAc,CAACrlB,MAAf,CAAsBslB,MAAtB,KAAiCtV,IAAI,CAAC5J,IADtC,IAEAif,cAAc,CAACrlB,MAAf,CAAsBulB,aAAtB,KAAwC,MAH1C;IAIA,OAAOW,UAAP;EACD;;EAEDC,UAAU,CAACtnB,GAAD,EAAWwmB,cAAX,EAA4C;IACpD,IAAIe,KAAK,GAAGvnB,GAAG,CAACzC,KAAJ,IAAayC,GAAG,CAACoH,MAAJ,CAAW7J,KAApC;IACAgqB,KAAK,CAACC,WAAN;;IAEA,IACEhB,cAAc,CAACrlB,MAAf,CAAsBsmB,UAAtB,IAAoC,QAApC,IACAjB,cAAc,CAACM,kBADf,IAEA,OAAON,cAAc,CAACM,kBAAtB,IAA4C,UAH9C,EAIE;MACAN,cAAc,CAACrlB,MAAf,CAAsBumB,eAAtB,GAAwCH,KAAxC;IACD,CAND,MAMO,IAAIf,cAAc,CAACrlB,MAAf,CAAsBsmB,UAAtB,IAAoC,OAAxC,EAAiD;MACtDjB,cAAc,CAACrlB,MAAf,CAAsBwmB,cAAtB,GAAuCJ,KAAvC,CADsD,CAEtD;IACD;;IACDf,cAAc,CAACrlB,MAAf,CAAsBymB,mBAAtB,GAA4C,CAA5C;IACApB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAApC;IACArB,cAAc,CAACM,kBAAf;EACD;;EAEDgB,oBAAoB,CAAC3W,IAAD,EAAYqV,cAAZ,EAA6C;IAC/DA,cAAc,CAACrlB,MAAf,CAAsB4mB,gBAAtB,GAAyC5W,IAAI,CAAC/J,MAAL,CAAY7J,KAArD;IACAipB,cAAc,CAACrlB,MAAf,CAAsBymB,mBAAtB,GAA4C,CAA5C;IACApB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAApC;;IACA,IACErB,cAAc,CAACM,kBAAf,IACA,OAAON,cAAc,CAACM,kBAAtB,IAA4C,UAF9C,EAGE;MACAN,cAAc,CAACM,kBAAf;IACD;EACF;;EAEDkB,oBAAoB,CAAChoB,GAAD,EAAWwmB,cAAX,EAA4C;IAC9D,IAAIxmB,GAAG,IAAI,MAAX,EAAmB;MACjBwmB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoCrB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAAxE;IACD,CAFD,MAEO,IAAI7nB,GAAG,IAAI,MAAX,EAAmB;MACxBwmB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoCrB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAAxE;IACD,CAFM,MAEA,IAAI7nB,GAAG,IAAI,OAAX,EAAoB;MACzBwmB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAApC;IACD,CAFM,MAEA,IAAI7nB,GAAG,IAAI,MAAX,EAAmB;MACxBwmB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoCrB,cAAc,CAACrlB,MAAf,CAAsB8mB,UAA1D;IACD,CAFM,MAEA,IAAI,OAAOjoB,GAAP,IAAc,QAAlB,EAA4B;MACjCwmB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC7nB,GAApC;IACD;;IAEDwmB,cAAc,CAACrlB,MAAf,CAAsBymB,mBAAtB,GACE,CAACpB,cAAc,CAACrlB,MAAf,CAAsB0mB,WAAtB,GAAoC,CAArC,IACArB,cAAc,CAACrlB,MAAf,CAAsB4mB,gBAFxB;;IAGA,IACEvB,cAAc,CAACM,kBAAf,IACA,OAAON,cAAc,CAACM,kBAAtB,IAA4C,UAF9C,EAGE;MACAN,cAAc,CAACM,kBAAf;IACD;EACF;;EAEDoB,aAAa,CAACC,GAAD,EAAaZ,KAAb,EAAuB;IAClC5S,OAAO,CAACC,GAAR,CAAYuT,GAAZ;IACA,IAAIC,GAAG,GAAGD,GAAG,CAACnkB,MAAJ,CAAYmN,IAAD,IAAc;MACjC,OAAOrI,MAAM,CAACC,IAAP,CAAYoI,IAAZ,EAAkBkX,IAAlB,CAAwBtR,GAAD,IAAQ;QACpC,OAAOuR,MAAM,CAACnX,IAAI,CAAC4F,GAAD,CAAL,CAAN,CAAkBrP,WAAlB,GAAgC6gB,QAAhC,CAAyChB,KAAK,CAAC7f,WAAN,EAAzC,CAAP;MACD,CAFM,CAAP;IAGD,CAJS,CAAV;IAMA,OAAO0gB,GAAP;EACD;;EAEDI,YAAY,CAACC,YAAD,EAAkCN,GAAlC,EAA0C;IACpD,OAAO,IAAI7sB,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAoB;MACrC,IAAIktB,QAAQ,GAAQ,CAAC,GAAIP,GAAG,CAACtrB,IAAT,CAApB;MACA6rB,QAAQ,GAAG,KAAKR,aAAL,CACTQ,QADS,EAETD,YAAY,CAACtnB,MAAb,CAAoBwmB,cAFX,CAAX;MAIAhT,OAAO,CAACC,GAAR,CAAY8T,QAAZ;MAEAA,QAAQ,GAAGhD,2CAAA,CACTgD,QADS,EAET,CAACD,YAAY,CAACtnB,MAAb,CAAoBslB,MAArB,CAFS,EAGT,CAACgC,YAAY,CAACtnB,MAAb,CAAoBulB,aAArB,CAHS,CAAX,CARqC,CAarC;;MACAyB,GAAG,CAACS,YAAJ,GAAmBF,QAAQ,CAACjhB,MAA5B;MACA,IAAIohB,YAAY,GAAG,EACjBV,GAAG,CAACS,YAAJ,IACAT,GAAG,CAACW,YADJ,IAEAX,GAAG,CAACtrB,IAAJ,CAAS4K,MAHQ,CAAnB;MAMAghB,YAAY,CAACtnB,MAAb,CAAoB4nB,UAApB,GAAiCF,YAAjC;;MAEA,IAAIJ,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAApB,IAAwC,KAA5C,EAAmD;QACjDU,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GAA4BH,YAAY,IAAI,KAA5C;QACAJ,YAAY,CAACtnB,MAAb,CAAoB0mB,WAApB,GAAkC,CAAlC;QACAY,YAAY,CAACtnB,MAAb,CAAoB8nB,OAApB,GAA8B,CAA9B;QACAR,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiC,IAAjC;QACAQ,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAApB,GAAuCc,YAAvC;MACD,CAND,MAMO;QACLJ,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAApB,GACE,CAACU,YAAY,CAACtnB,MAAb,CAAoB4mB,gBADvB;QAEAU,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiCjrB,IAAI,CAACksB,IAAL,CAC/BT,YAAY,CAACtnB,MAAb,CAAoB4nB,UAApB,GAAiCN,YAAY,CAACtnB,MAAb,CAAoB4mB,gBADtB,CAAjC;QAIAU,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiCQ,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,IAAkC,CAAnE;QAEAQ,YAAY,CAACtnB,MAAb,CAAoB8nB,OAApB,GAA8BJ,YAAY,GACtCJ,YAAY,CAACtnB,MAAb,CAAoBymB,mBAApB,GAA0C,CADJ,GAEtC,CAFJ;QAIAa,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GACEP,YAAY,CAACtnB,MAAb,CAAoB0mB,WAApB,GACAY,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAFtB;QAIAU,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GACEP,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GAA4BP,YAAY,CAACtnB,MAAb,CAAoB4nB,UAAhD,GACIN,YAAY,CAACtnB,MAAb,CAAoB4nB,UADxB,GAEIN,YAAY,CAACtnB,MAAb,CAAoB6nB,KAH1B;MAID;;MACD,MAAMhpB,GAAG,GAAG,CAAC,GAAG0oB,QAAJ,CAAZ;MACA/T,OAAO,CAACC,GAAR,CAAY6T,YAAY,CAACtnB,MAAb,CAAoBymB,mBAAhC,EACEa,YAAY,CAACtnB,MAAb,CAAoBymB,mBAApB,GACEa,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAFxB;MAGAU,YAAY,CAACU,OAAb,GAAuBnpB,GAAG,CAACopB,KAAJ,CACrBX,YAAY,CAACtnB,MAAb,CAAoBymB,mBADC,EAErBa,YAAY,CAACtnB,MAAb,CAAoBymB,mBAApB,GACEa,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAHD,CAAvB;MAMApT,OAAO,CAACC,GAAR,CAAY,cAAZ;MAEA,IAAIyU,MAAM,GAAQ,EAAlB;;MACA,IAAIlB,GAAG,CAACkB,MAAR,EAAgB;QACdlB,GAAG,CAACkB,MAAJ,CAAWC,GAAX,CAAgBtpB,GAAD,IAAa;UAC1B;UACA;UACA;UACAqpB,MAAM,CAAC1S,IAAP,CAAY3W,GAAZ;QACD,CALD;MAMD,CAPD,MAOO;QACL,IAAImoB,GAAG,CAACtrB,IAAR,EAAc;UACZ,IAAI0sB,MAAM,GAAGpB,GAAG,CAACtrB,IAAJ,CAAS,CAAT,CAAb;;UACA,KAAK,MAAMka,GAAX,IAAkBwS,MAAlB,EAA0B;YACxB,MAAMrT,OAAO,GAAGqT,MAAM,CAACxS,GAAD,CAAtB;YACA,IAAIyS,IAAI,GAAG;cACTjiB,IAAI,EAAEwP,GADG;cAETxZ,KAAK,EAAEwZ,GAAG,CAACyQ,WAAJ,EAFE;cAGTlb,OAAO,EAAE,CAHA;cAIT2a,MAAM,EAAE;YAJC,CAAX;YAMAoC,MAAM,CAAC1S,IAAP,CAAY6S,IAAZ;UACD;QACF;MACF;;MAEDf,YAAY,CAAC9B,OAAb,GAAuB0C,MAAvB;MAEA9tB,OAAO,CAAC,IAAD,CAAP;IACD,CA1FM,CAAP;EA2FD;;EAEKkuB,SAAS,CAAChB,YAAD,EAAkCN,GAAlC,EAA0C;IAAA;;IAAA;MACvD,IAAIM,YAAY,CAACtnB,MAAb,CAAoBsmB,UAApB,IAAkC,OAAtC,EAA+C;QAC7CgB,YAAY,CAACiB,QAAb,GAAwBvB,GAAG,CAACtrB,IAA5B;QAEA,MAAM,KAAI,CAAC2rB,YAAL,CAAkBC,YAAlB,EAAgCN,GAAhC,CAAN;QACAxT,OAAO,CAACC,GAAR,CAAY,kBAAZ,EAJ6C,CAK7C;;QACA;MACD,CAPD,MAOO;QACL6T,YAAY,CAACU,OAAb,GAAuBhB,GAAG,CAACtrB,IAAJ,IAAY,EAAnC;MACD;;MAED,IAAIwsB,MAAM,GAAQ,EAAlB;;MACA,IAAIlB,GAAG,CAACwB,QAAJ,IAAgBxB,GAAG,CAACkB,MAAxB,EAAgC;QAC9B,IAAIO,IAAI,GAAGzB,GAAG,CAACwB,QAAJ,IAAgBxB,GAAG,CAACkB,MAA/B;QACAO,IAAI,CAACN,GAAL,CAAUtpB,GAAD,IAAa;UACpB;UACA;UACA;UACAqpB,MAAM,CAAC1S,IAAP,CAAY3W,GAAZ;QACD,CALD;MAMD,CARD,MAQO;QACL,IAAImoB,GAAG,CAACtrB,IAAR,EAAc;UACZ,IAAI0sB,MAAM,GAAGpB,GAAG,CAACtrB,IAAJ,CAAS,CAAT,CAAb;;UACA,KAAK,MAAMka,GAAX,IAAkBwS,MAAlB,EAA0B;YACxB,MAAMrT,OAAO,GAAGqT,MAAM,CAACxS,GAAD,CAAtB;YACA,IAAIyS,IAAI,GAAG;cACTjiB,IAAI,EAAEwP,GADG;cAETxZ,KAAK,EAAEwZ,GAAG,CAACyQ,WAAJ,EAFE;cAGTlb,OAAO,EAAE,CAHA;cAIT2a,MAAM,EAAE;YAJC,CAAX;YAMAoC,MAAM,CAAC1S,IAAP,CAAY6S,IAAZ;UACD;QACF;MACF;;MAEDf,YAAY,CAAC9B,OAAb,GAAuB0C,MAAvB;MAEA,IAAIR,YAAY,GAAGV,GAAG,CAACS,YAAJ,IAAoBT,GAAG,CAACW,YAA3C;MACA,CAACD,YAAD;MACAJ,YAAY,CAACtnB,MAAb,CAAoB4nB,UAApB,GAAiCF,YAAjC;;MAEA,IAAIJ,YAAY,CAACtnB,MAAb,CAAoB4mB,gBAApB,IAAwC,KAA5C,EAAmD;QACjDU,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GAA4BH,YAA5B;QACAJ,YAAY,CAACtnB,MAAb,CAAoB0mB,WAApB,GAAkC,CAAlC;QACAY,YAAY,CAACtnB,MAAb,CAAoB8nB,OAApB,GAA8B,CAA9B;QACAR,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiC,IAAjC;MACD,CALD,MAKO;QACLQ,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiCjrB,IAAI,CAACksB,IAAL,CAC/BT,YAAY,CAACtnB,MAAb,CAAoB4nB,UAApB,GAAiCN,YAAY,CAACtnB,MAAb,CAAoB4mB,gBADtB,CAAjC;QAIAU,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAAiCQ,YAAY,CAACtnB,MAAb,CAAoB8mB,UAApB,GAC7BQ,YAAY,CAACtnB,MAAb,CAAoB8mB,UADS,GAE7B,CAFJ;QAIAQ,YAAY,CAACtnB,MAAb,CAAoB8nB,OAApB,GAA8BJ,YAAY,GACtCJ,YAAY,CAACtnB,MAAb,CAAoBymB,mBAApB,GAA0C,CADJ,GAEtC,CAFJ;QAGAa,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GACEP,YAAY,CAACtnB,MAAb,CAAoB0mB,WAApB,GAAkCY,YAAY,CAACtnB,MAAb,CAAoB4mB,gBADxD;QAGAU,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GACEP,YAAY,CAACtnB,MAAb,CAAoB6nB,KAApB,GAA4BP,YAAY,CAACtnB,MAAb,CAAoB4nB,UAAhD,GACIN,YAAY,CAACtnB,MAAb,CAAoB4nB,UADxB,GAEIN,YAAY,CAACtnB,MAAb,CAAoB6nB,KAH1B;MAID;IAnEsD;EAoExD;;EAEDa,WAAW,CAAC1Y,IAAD,EAAYqV,cAAZ,EAA6C;IACtDA,cAAc,CAACrlB,MAAf,CAAsB2oB,SAAtB,GAAkC3Y,IAAlC;;IACA,IACEqV,cAAc,CAACM,kBAAf,IACA,OAAON,cAAc,CAACM,kBAAtB,IAA4C,UAF9C,EAGE,CACA;IACD;EACF;;AArT2B;;;mBAAjBnB;AAAiB;;;SAAjBA;EAAiBlrB,SAAjBkrB,iBAAiB;EAAAjrB,YAFhB;;;;;;;;;;;;;;;;;;ACrBP,MAAM,aAAa;IACxB,SAAS,CAAC,KAAY,EAAE,MAAc;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAElB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;0EAZU,aAAa;0HAAb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLqD;AAGhD;AACF;;;;;;;;;;;;ICHzB,sEACiC;IACwG,4SAAW,2HAAkD,KAAC;IAAnM,4DAAiR;;;IAFhR,8FAAkC;IAEY,0DAAiB;IAAjB,0EAAiB;;;IAoBxD,6EACyE;IACrE,uDAAQ;IAAA,4DAAS;;;;IADrB,4HAAyD;IACrD,0DAAQ;IAAR,kFAAQ;;;;IANpB,0EAAgH;IACtG,kEAAO;IAAA,4DAAO;IACpB,0EAAc;IACO,6SAAU,qIAA4D,KAAC;IACxF,+HAEqB;IACzB,4DAAS;;;IAHoB,0DAA6B;IAA7B,sGAA6B;;;;;IAM9D,wEAAgN;IAAtE,+RAAS,mGAAiC,KAAC;IACjL,8DAA2F;IAA3F,0EAA2F;IAEzF,sEAAqU;IACvU,4DAAI;;;IAJ6E,oKAAoD;;;IAcnI,mEAAkG;;;;IAI5F,0EAAgG;IAA/B,sWAAS,0FAAoB,KAAC;IAAC,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,8EAAa;;;IANzH,0EAA4H;IAEtH,qHAAkG;IAAA,iEAAM;IAAA,4DAAS;IAEnH,6FAA4B;IAEpB,yHAAmH;IACvH,4DAAM;;;;IANF,0DAA+B;IAA/B,oFAA+B;IACjC,0DAAqD;IAArD,mLAAqD;IAIP,0DAAmB;IAAnB,4FAAmB;;;;IAM3E,0EAAyD;IACrB,sSAAS,+EAAa,KAAC;IAAC,sEAAW;IAAA,4DAAS;;;AD9CxF,4DAA4D;AAMrD,MAAM,qBAAqB;IAwChC,oEAAoE;IACpE,kCAAkC;IAClC,KAAK;IACL,YACS,kBAAqC;IAC5C,qDAAqD;IAC7C,IAAuB;QAFxB,uBAAkB,GAAlB,kBAAkB,CAAmB;QAEpC,SAAI,GAAJ,IAAI,CAAmB;QA3CxB,aAAQ,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAW,OAAO,CAAC;QACjC,cAAS,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAEtC,wBAAmB,GAAY,KAAK,CAAC;QACpC,mBAAc,GAAG,IAAI,uDAAY,EAAQ,CAAC;QAC1C,WAAM,GAAsB,IAAI,uDAAY,EAAO,CAAC;QAE9D,qBAAgB,GAAY,IAAI,CAAC;QAEjC,WAAM,GAAG;YACP,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,KAAK,EAAE;gBACL,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;aACrB;YACD,WAAW,EAAE;gBACX,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;aACrB;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,UAAU;aACpB;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;aACrB;SACF,CAAC;IAWF,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,gBAAgB,GAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC;QAClF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAAA,CAAC;IAEF,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,QAAQ,CAAC,QAAa;QAEpB,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC;QACpE,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAClM,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI;aACN,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAE;aACzH,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,uDAAuD;YACvD,IAAI,QAAQ,GAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE;gBACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,OAAO,GAAG,CAAC,IAAI,EAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnE,IAAI,QAAQ,GAAQ,EAAE,CAAC;gBACvB,IAAI,IAAI,GAAU,EAAE,CAAC;gBACrB,IAAG,GAAG,CAAC,IAAI,EAAE,YAAY,EAAC;oBACxB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY;iBAC7B;qBAAK;oBACJ,IAAI,GAAG,GAAG,CAAC,IAAI;iBAChB;gBACD,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpB,IAAI,GAAG,GAAQ,EAAE,CAAC;oBAClB,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBACpD,IAAI,CAAC,CAAC,OAAO,EAAE;4BACb,iCAAiC;4BACjC,IAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACvB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gCAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;6BACtC;iCACI;gCACH,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;6BACzB;yBACF;oBACH,CAAC,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC;gBAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;wBACnB,MAAM,KAAK,GAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC1B,MAAM,KAAK,GAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;wBACrC,MAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,YAAY,EAAE,GAAG;6BAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;yBAClC;6BAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;4BACxB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBAChB;qBACJ;gBACH,CAAC,CAAC;gBACF,MAAM,EAAE,GAAmB,qDAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,EAAE,GAAkB,gDAAmB,EAAE,CAAC;gBAChD,yDAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,2CAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC9B;iBAAM;gBACL,uDAAS,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;;0FAxHU,qBAAqB;mHAArB,qBAAqB;QCdlC,yEAAwD;QACpD,iHAGM;QAEN,sEAAK;QAES,uDACwB;QAAA,4DAAO;QAErC,sEAAK;QACH,iLAA2C,CAAC,GAAE,4CAAwC,MAAM,mBAAc,GAAG,KAAK,IAAC;QAAC,kEACxF;QAAA,4DAAO;QACjC,0EAEsE;QADrE,sNACA,4CAAwC,MAAM,mBAAc,GAAE,KAAK,IAAC;QAAC,mEAC3C;QAAA,4DAAO;QAE1C,mHASM;QACN,+GAMI;QAMJ,mHAUM;QAEN,mHAEM;QAEV,4DAAM;;QAxDmC,0DACV;QADU,qLACV;QAMjB,0DACwB;QADxB,iMACwB;QAElB,0DAA8D;QAA9D,qLAA8D;QAGhE,0DAA2F;QAA3F,sNAA2F;QAKjF,0DAAsF;QAAtF,oMAAsF;QAUhF,0DAAqC;QAArC,qGAAqC;QAY7D,0DAAiG;QAAjG,wKAAiG;QAYjG,0DAAoC;QAApC,4IAAoC;;;;;;;;;;;;;;;;;;;;;;;AC9C3B;;;AAYhB,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,EAAE;IACnB,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,CAAC;IACtB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,GAAG;IACrB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACtC,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,KAAK;IACjB,eAAe;IACf,4BAA4B;IAC5B,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,2BAA2B;IAC3B,sBAAsB;IACtB,yBAAyB;IACzB,uCAAuC;CACxC,CAAC;AAuDK,MAAM,cAAc;IAyBzB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,iBAAiB,CAAC,IAA6B;QAC7C,sCAAsC;QAEtC,wFAAwF;QACxF,KAAK;QAEL,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,IAAI,GAAG,GAAQ;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;aACpB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAEM,MAAM,aAAa;IACxB,YACU,KAAa,CAAC,EACd,SAAiB,EACjB,QAAiB,EACjB,MAAe;QAHf,OAAE,GAAF,EAAE,CAAY;QACd,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAS;QACjB,WAAM,GAAN,MAAM,CAAS;IACrB,CAAC;IAEL,OAAO;QACL,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,cAAc;IACzB,YAAmB,SAAiB,EAAS,EAAW;QAArC,cAAS,GAAT,SAAS,CAAQ;QAAS,OAAE,GAAF,EAAE,CAAS;QACtD,YAAY;QACZ,kBAAkB;QAClB,IAAI;IACN,CAAC;CACF;AAKM,MAAM,wBAAwB;IAOnC,YACU,KAAiB,EACjB,QAAmB,EACnB,kBAAqC;QAFrC,UAAK,GAAL,KAAK,CAAY;QACjB,aAAQ,GAAR,QAAQ,CAAW;QACnB,uBAAkB,GAAlB,kBAAkB,CAAmB;QAL/C,eAAU,GAAQ,CAAC,CAAC;IAMhB,CAAC;IACL,QAAQ;QACN,iGAAiG;QACjG,uCAAuC;QAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,yGAAyG;QACzG,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxD,KAAK,IAAI,KAAK,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;SAC5D;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,SAAS,GAAG,CAAC,EAAE;YACjB,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;gBACvC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,SAAS,EAAE,QAAQ,EAAE,EAAE;oBACxD,IAAI,QAAQ,IAAI,KAAK,EAAE;wBACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;qBACnC;;wBAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBAC1C;aACF;iBAAM,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;gBAC9C,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;oBACnC,KACE,IAAI,QAAQ,GAAG,CAAC,EAChB,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAClC,QAAQ,EAAE,EACV;wBACA,IAAI,QAAQ,IAAI,KAAK,EAAE;4BACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;yBACnC;;4BAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACrC;qBAAM,IACL,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK;oBACvC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAC3B;oBACA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC1B,KACE,IAAI,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,EACtC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EACnC,QAAQ,EAAE,EACV;wBACA,IAAI,QAAQ,IAAI,KAAK,EAAE;4BACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;yBACnC;;4BAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACrC;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC1B,KACE,IAAI,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EACpD,QAAQ,IAAI,SAAS,EACrB,QAAQ,EAAE,EACV;wBACA,IAAI,QAAQ,IAAI,KAAK,EAAE;4BACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;yBACnC;;4BAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;qBAC1C;iBACF;aACF;SACF;IACH,CAAC;IAED,YAAY,CAAC,MAAW;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,QAAa,EAAE,MAAW;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,QAAa,EAAE,MAAW;QACnC,IAAI,CAAC,WAAW,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAEzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,SAAc,EAAE,MAAW;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAC1C,CAAC,SAAS,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;;gGApIU,wBAAwB;sHAAxB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;IErOjC,uEAA+L;IAArH,oSAAS,mGAAkC,CAAC,GAAE,+CAAwC,OAAO,sBAAc,GAAG,KAAK,KAAC;IAAC,gEAAK;IAAA,4DAAI;;;;IACxM,uEAA8L;IAApH,oSAAS,mGAAkC,CAAC,GAAE,+CAAwC,MAAM,sBAAc,GAAG,KAAK,KAAC;IAAC,mEAAQ;IAAA,4DAAI;;;;IAM1M,uEAAwP;IAAjJ,sSAAS,6IAAkE,gDAAwC,MAAM,uBAAc,GAAG,KAAK,KAAC;IAAC,+DAAI;IAAA,4DAAI;;;;IAChQ,uEAAwP;IAAjJ,sSAAS,6IAAkE,gDAAwC,MAAM,uBAAc,GAAG,KAAK,KAAC;IAAC,+DAAI;IAAA,4DAAI;;;IAVpQ,yEAC+C;IAC3C,oHAAwM;IACxM,oHAA0M;IAK1M,oEAA8J;IAC9J,oHAAgQ;IAChQ,oHAAgQ;IACpQ,4DAAM;;;IAT6B,0DAAyC;IAAzC,4GAAyC;IACzC,0DAAyC;IAAzC,4GAAyC;IAKhD,0DAAiC;IAAjC,iGAAiC;IAC1B,0DAAsE;IAAtE,gJAAsE;IACtE,0DAAsE;IAAtE,gJAAsE;;;;IA8BnG,wEACsH;IAApH,0SAAS,oGAAkC,CAAC,GAAE,gDAAwC,MAAM,uBAAc,GAAG,KAAK,KAAC;IACnH,mEAAmC;IAAA,4DAAI;;;;IAIzC,wEACmJ;IAAjJ,0SAAS,6IAAkE,gDAAwC,MAAM,uBAAc,GAAG,KAAK,KAAC;IAChJ,mEAAoC;IAAA,4DAAI;;;IAX5C,yEAA2G;IAGzG,yHAEyC;IAEzC,qEACwD;IACxD,yHAE0C;IAG5C,4DAAK;;;IAX0C,0DAAyC;IAAzC,6GAAyC;IAI/C,0DAAiC;IAAjC,kGAAiC;IAE3B,0DAAsE;IAAtE,kJAAsE;;;;;IAjBzH,wEAAsE;IAC3C,uDACW;IAAA,4DAAK;IAEzC,qEAAI;IACA,mSAAS,oGAAkC,CAAC,GAAE,gDAAwC,MAAM,uBAAc,GAAG,KAAK,KAAC;IACrH,4DAAO;IAEP,qHAcK;IACT,4DAAK;;;IAtBsB,0DACW;IADX,0MACW;IAEzB,0DAA8D;IAA9D,uLAA8D;IAI7C,0DAA+E;IAA/E,yJAA+E;;AD1BtG,MAAM,sBAAsB;IAIjC,YAAmB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAD/C,sBAAiB,GAAQ,EAAE,CAAC;IACsB,CAAC;IAE5D,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACzD,CAAC;;4FATU,sBAAsB;oHAAtB,sBAAsB;QCXnC,kHAWM;QAkBN,gHAuBK;;QApDgC,oMACQ;QA4BxB,0DAA8C;QAA9C,+GAA8C;;;;;;;;;;;;;;;;;;;;ACrB5C;AACK;;AAKrB,MAAM,kBAAkB;IAyB7B,YAAoB,GAAe,EAAU,SAAoB;QAA7C,QAAG,GAAH,GAAG,CAAY;QAAU,cAAS,GAAT,SAAS,CAAW;QAxBvD,YAAO,GAAG,IAAI,uDAAY,EAAO,CAAC;QACnC,gBAAW,GAAW,CAAC,CAAC;IAuBoC,CAAC;IArB/D,OAAO,CAAC,KAAU;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,mCAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;SACxD;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;SAC3D;QACD,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;SAC3D;QACD,IACE,KAAK,CAAC,OAAO,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,IAAI,CAAC,EAClB;YACA,+BAA+B;SAChC;IACH,CAAC;IAGD,QAAQ;QACN,iGAAiG;QACjG,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAExE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAEhE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAErD,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAEnD,qEAAqE;QACrE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,GAAQ;QAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,GAAQ,EAAE,GAAQ;QACjC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;;oFAvEU,kBAAkB;gHAAlB,kBAAkB;gJAAlB,mBAAe;;;;;;;;;;;;;;;;;;;;;;ACV8E;AAC7D;;;;;;ICMnC,uEAA0K;;;IAArE,6FAA6B;;;IAGlI,uEAAyK;;;IAArE,6FAA6B;;;;IAM/H,6EAC+B;IAA/B,wTAAS,qFAAoB,KAAC;IAAC,uDAA2B;IAAA,4DAAS;;;IAApC,0DAA2B;IAA3B,+FAA2B;;;;IAC1D,6EAC+B;IAA9B,wTAAS,oFAAmB,KAAC;IAAC,uDAAyB;IAAA,4DAAS;;;IAAlC,0DAAyB;IAAzB,6FAAyB;;ADX7D,MAAM,gCAAgC;IAK3C,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAHnD,cAAS,GAAgB,IAAI,uDAAW,EAAE;IAItC,CAAC;IAEL,QAAQ;QACN,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;gHArCU,gCAAgC,6PAOjC,oHAAuB;8HAPtB,gCAAgC;QCNrC,wEAAiB;QAAA,oEAAkD;QAAA,4DAAK;QACxE,oEAAG;QAAC,uDAAuB;QAAA,4DAAI;QAG/B,yEAAsE;QACpE,gIAA0K;QAC1K,2EAAyD;QAAiC,yEAAc;QAAA,4DAAO;QAAC,uDAAuB;QAAA,4DAAQ;QAE/I,kIAAyK;QACzK,4EAAgD;QAAiC,yEAAa;QAAA,4DAAO;QAAC,wDAAuB;QAAA,4DAAQ;QAEvI,yEAA6B;QAAC,wDAAuB;QAAA,4DAAK;QAE1D,0EAAuB;QACnB,qIACmE;QACnE,qIACiE;QACrE,4DAAM;;QAjBF,0DAAuB;QAAvB,kGAAuB;QAIjB,0DAAsC;QAAtC,sGAAsC;QACkE,0DAAuB;QAAvB,kGAAuB;QAE/H,0DAAsC;QAAtC,sGAAsC;QACwD,0DAAuB;QAAvB,kGAAuB;QAEjG,0DAAuB;QAAvB,kGAAuB;QAGY,0DAA6B;QAA7B,6FAA6B;QAElC,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;;ACrBhD;AAC0C;AACvB;;AAe3D,MAAM,6BAA6B;;0GAA7B,6BAA6B;0HAA7B,6BAA6B;8HANtC,yDAAY;QACZ,uDAAW;QACX,+DAAmB;mIAIV,6BAA6B,mBATtC,kGAAgC,aAGhC,yDAAY;QACZ,uDAAW;QACX,+DAAmB,aAEX,kGAAgC;;;;;;;;;;;;;;;;;;;;ACRrC,MAAM,oBAAoB;IAG/B,YACS,WAA2B;QAA3B,gBAAW,GAAX,WAAW,CAAgB;IAChC,CAAC;IAEL,QAAQ;IACR,CAAC;IACD,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC,MAAM,EAAC,IAAI,EAAC,CAAC,CAAC;IACxC,CAAC;;wFAXU,oBAAoB;kHAApB,oBAAoB;QCRjC,yEAA4B;QACrB,kEAAmC;QAAA,4DAAI;QAC1C,wEAAiB;QAAA,uDAAW;QAAA,4DAAK;QACjC,4EAAiE;QAAvB,4IAAS,gBAAY,IAAC;QAAC,mEAAQ;QAAA,4DAAS;;QADjE,0DAAW;QAAX,4EAAW;;;;;;;;;;;;;;;;;;;;ACDe;AACiB;;AAYzD,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHAL1B,yDAAY;mIAKH,iBAAiB,mBAPb,yEAAoB,aAEjC,yDAAY,aAEZ,yEAAoB;;;;;;;;;;;;;;;;;;;;;;ACXyE;AAG5B;;;;;;;;ICCzD,0EAAyF;IACpB,kEAAM;IAAA,wEAAgC;IAAA,6MAAwI;IAAA,4DAAI;IAEnP,wEAAoI;IAAA,6EAAkB;IAAA,4DAAI;;;;IAc9J,wEAAsH;IAA7B,sSAAS,yFAAiB,KAAC;IAAE,wEAAa;IAAA,4DAAI;;;IACvI,wEAA8C;IAAA,uDAAkC;IAAA,4DAAI;;;IAAtC,0DAAkC;IAAlC,wHAAkC;;;;IArBxF,yEAAoC;IAG5B,yHAKM;IACN,oEAAG;IAAA,uDAAW;IAAA,4DAAI;IAElB,yEAA6E;IAAzC,oTAAe,yFAAwB,KAAC;IACxE,yEAA8B;IAC1B,oEAA+D;IAC/D,+EAAsE;IAAtC,6SAAU,0FAAwB,KAAC;IAAnE,4DAAsE;IACtE,yEAAyC;IAAA,wDAAoC;IAAA,4DAAI;IACjF,yEAA4B;IAAA,6EAAiB;IAAA,4DAAI;IACjD,qEAAG;IAAA,8EAAkB;IAAA,wEAAM;IAAA,2EAAe;IAAA,4DAAO;IAGzD,wHAAuI;IACvI,wHAAoF;IACxF,4DAAM;IACN,yEAA8B;IAAA,wDAA6J;IAAA,4DAAI;;;IArB1L,0DAAyD;IAAzD,4HAAyD;IACpD,0DAA+B;IAA/B,kGAA+B;IAMlC,0DAAW;IAAX,+EAAW;IAID,0DAA4C;IAA5C,yLAA4C;IAER,0DAAoC;IAApC,iHAAoC;IAKjF,0DAAiE;IAAjE,2IAAiE;IACjE,0DAAa;IAAb,gFAAa;IAES,0DAA6J;IAA7J,8OAA6J;;;IAIzL,wEAAmG;;;;IAAhE,wNAA2B;;;;IAC5D,6EAAkG;IAA5B,iTAAS,2FAAiB,KAAC;IAAC,wEAAa;IAAA,4DAAS;;;;IACxH,0EAA0J;IAA1H,2SAAS,2FAAiB,KAAC;IAA3D,4DAA0J;;;IAA7F,8IAAgB;;;IAJrF,0EAA0F;IAEpF,gIAAmG;IACjG,gIAAwH;IACxH,0HAA0J;IAC9J,4DAAI;IAEJ,wEAA8B;IAAA,uDAA6J;IAAA,4DAAI;;;IAP9L,qIAAoE;IAE1D,0DAAuB;IAAvB,0FAAuB;IACrB,0DAAuB;IAAvB,0FAAuB;IAC1B,0DAAuB;IAAvB,0FAAuB;IAGH,0DAA6J;IAA7J,8OAA6J;;ADvB5L,MAAM,uBAAuB;IAgBlC,YACU,kBAAsC,EACtC,yBAAmD;QADnD,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,8BAAyB,GAAzB,yBAAyB,CAA0B;QARnD,eAAU,GAAC,IAAI,uDAAY,EAAE,CAAC;QACxC,YAAO,GAAQ,EAAE,CAAC;QAClB,eAAU,GAAW,kDAAkD,CAAC;QACxE,yBAAyB;QACzB,YAAO,GAAW,8BAA8B,CAAC;IAK7C,CAAC;IAEL,QAAQ;QACN,gCAAgC;QAChC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACjD,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;gBACnB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC;gBAC3C,IAAI,CAAC,OAAO,GAAC,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAC,yDAAwD,EAAC,GAAE,CAAC;YAC7H,CAAC;SACF,CAAC,CAAC;QACH,gCAAgC;IAClC,CAAC;IACD,gBAAgB,CAAC,KAAS;QACxB,IAAI,KAAK,GAAS,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,KAAS;QAEf,IAAI,KAAK,EAAE,QAAQ,CAAC,sCAAsC,CAAC,EAAE;YAC3D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,sCAAsC,EAAE,4BAA4B,CAAC,CAAC;SAC7F;aAEI,IAAI,KAAK,EAAE,QAAQ,CAAC,2CAA2C,CAAC,EAAE;YACrE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,2CAA2C,EAAE,4BAA4B,CAAC,CAAC;SAClG;QACD,IAAI,gBAAgB,GAA4B,EAAE,IAAI,EAAC,EAAC,GAAG,EAAC,KAAK,EAAC,EAAC,CAAC;QACpE,IAAI,eAAe,GAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAoB,6EAAiB,EAAC,gBAAgB,CAAC,CAAC;IAClH,CAAC;;8FA/CU,uBAAuB;qHAAvB,uBAAuB;;;;;;QCVpC,yEAAiB;QACb,oHAwBM;QACN,mHASM;QACV,4DAAM;;QAnCmB,0DAAa;QAAb,6EAAa;QAyByC,0DAAY;QAAZ,4EAAY;;;;;;;;;;;;;;;;;;;;;;;ACzB5C;AACuB;AACzB;AACU;AACQ;;AAgBxD,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;qHAP7B,yDAAY;QACZ,uDAAW;QACX,iEAAW;QACX,uEAAc;mIAIL,oBAAoB,mBAV7B,+EAAuB,aAGvB,yDAAY;QACZ,uDAAW;QACX,iEAAW;QACX,uEAAc,aAEP,+EAAuB;;;;;;;;;;;;;;;;;;;;;AClBW;AAG6D;;;;;ICGpG,wEAA0C;IAAA,qEAMH;IAAA,4DAAI;;;IANI,0DAMT;IANS,uhBAMT;;;IACtC,oEAAgG;;;IAAhE,+JAAiC;;;;IAiBrD,6EAA8G;IAA/B,qTAAS,qFAAoB,KAAC;IAC3G,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,0GACF;;;;IAGA,6EAA4G;IAA9B,qTAAS,oFAAmB,KAAC;IACzG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,wGACF;;AD3BX,MAAM,6BAA6B;IAIxC,YACS,SAAsC,EACL,IAAS;QAD1C,cAAS,GAAT,SAAS,CAA6B;QACL,SAAI,GAAJ,IAAI,CAAK;QAJjD,cAAS,GAAO,IAAI,CAAC,IAAI;QAC3B,cAAS,GAAgB,IAAI,uDAAW,EAAE;IAItC,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAGM,UAAU,CAAC,MAAW;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAW;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;;0GApCU,6BAA6B,6PAM9B,oHAAuB;2HANtB,6BAA6B;QCX1C,yEAAmC;QACjC,oEAIM;QACN,yEAA0E;QACtE,qHAM2C;QAC3C,uHAAgG;QAChG,yEAAmC;QAExB,oEAAS;QAAA,4DAAI;QAChB,uEAAmB;QAAA,wDAA0B;QAAA,4DAAI;QAErD,0EAAqD;QAC9C,kEAAM;QAAA,4DAAI;QACb,wEAAmB;QAAA,wDAAyB;QAAA,4DAAI;QAEpD,0EAA2C;QACpC,uEAAW;QAAA,4DAAI;QAClB,wEAAmB;QAAA,wDAAmC;QAAA,4DAAI;QAG9D,0EAAiB;QAET,kIAES;QACb,4DAAM;QACN,2EAAqD;QACjD,kIAES;QACb,4DAAM;;QAhCV,0DAAuB;QAAvB,uFAAuB;QAOtB,0DAAyB;QAAzB,yFAAyB;QAIH,0DAA0B;QAA1B,uIAA0B;QAI1B,0DAAyB;QAAzB,sIAAyB;QAIzB,0DAAmC;QAAnC,gJAAmC;QAKF,0DAA6B;QAA7B,6FAA6B;QAK9B,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;;;;;ACnC7C;AACoC;AACjB;;AAe3D,MAAM,0BAA0B;;oGAA1B,0BAA0B;uHAA1B,0BAA0B;2HANnC,yDAAY;QACZ,uDAAW;QACX,+DAAmB;mIAIV,0BAA0B,mBATnC,4FAA6B,aAG7B,yDAAY;QACZ,uDAAW;QACX,+DAAmB,aAEX,4FAA6B;;;;;;;;;;;;;;;;;;;;;;;;ACfM;AACyC;AACG;AACM;AACjC;AACnB;AACS;;AAqB/C,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAXvB,yDAAY;QACZ,0EAAqB;QACrB,uDAAW;QACX,gEAAc;mIAQL,cAAc,mBAhBvB,iGAAuB;QACvB,oGAAwB;QACxB,0GAA0B,aAG1B,yDAAY;QACZ,0EAAqB;QACrB,uDAAW;QACX,gEAAc,aAGd,iGAAuB;QACvB,oGAAwB;QACxB,0GAA0B;;;;;;;;;;;;;;;;;;;ACzBiD;;;;AAOxE,MAAM,uBAAuB;IAOlC;QADU,mBAAc,GAAG,IAAI,uDAAY,EAAO,CAAC;IACnC,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,aAAa;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;;8FAdU,uBAAuB;qHAAvB,uBAAuB;QCNpC,+EACgE;QADoB,oJAAU,mBAAe,IAAC;QAE9G,4DAAY;;QAFD,+EAAkB;;;;;;;;;;;;;;;;;;;ACD+C;;;;ICMxE,kEAA+B;;;IAA5B,iJAAuB;;;IAI1B,oEAAkC;;;IAA7B,gJAAsB;;ADHxB,MAAM,wBAAwB;IAMnC;QAHU,mBAAc,GAAC,IAAI,uDAAY,EAAO,CAAC;QACjD,YAAO,GAAG,MAAM,CAAC;QACjB,iBAAY,GAAQ,EAAE;IACN,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;;gGAbU,wBAAwB;sHAAxB,wBAAwB;QCPrC,qFAE0C;QADtC,qKAAY,wBAAoB,IAAC;QAErC,4DAAkB;QAElB,gNAEc;QAEd,gNAEc;;;;QAXG,mFAAsB;;;;;;;;;;;;;;;;;;;ACAqC;;;;ICMxE,kEAA+B;;;IAA5B,iJAAuB;;;IAI1B,oEAAkC;;;IAA7B,gJAAsB;;ADHxB,MAAM,0BAA0B;IAMrC;QAHU,mBAAc,GAAC,IAAI,uDAAY,EAAO,CAAC;QACjD,YAAO,GAAG,MAAM,CAAC;QACjB,iBAAY,GAAQ,EAAE;IACN,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;;oGAbU,0BAA0B;wHAA1B,0BAA0B;QCPvC,qFAE0C;QADtC,uKAAY,wBAAoB,IAAC;QAErC,4DAAkB;QAElB,kNAEc;QAEd,kNAEc;;;;QAXG,mFAAsB;;;;;;;;;;;;;;;;;;;;ACWjB;AAKJ;AACsC;;;AAejD,MAAM,sBAAsB;IAyEjC;QAvEA,UAAK,GAAG,iBAAiB,CAAC;QAM1B,YAAY;QACL,yBAAoB,GAAa;YACtC,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,WAAW;YACX,iBAAiB;SAClB,CAAC;QAUkB,SAAI,GAAgB;YACtC;gBACE,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE,CAAC;aACP;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,MAAM;gBACb,GAAG,EAAE,GAAG;aACT;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,GAAG,GAAG,GAAG;aACf;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,OAAO;gBACd,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;aACrB;SACF,CAAC;QAEF,qCAAqC;QAC9B,uBAAkB,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAExD,oBAAe,GAAG,IAAI,CAAC;QAEvB,uBAAkB,GAAc,WAAW,CAAC;QAwBlD,kBAAa,GAAG;YACf,EAAE,EAAE,eAAe;YACnB,SAAS,CAAC,KAAU,EAAE,MAAW;gBAE/B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,QAAQ,GAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChD,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,eAAe,CAAC;gBACtC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC3B,4BAA4B;gBAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAC5C,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EACzB,CAAC,CACF,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,CAAM,EAAE,EAAE;oBACnD,qCAAqC;oBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBACrC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACpD,kCAAkC;wBAElC,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;wBACxD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;wBAC1C,IAAI,OAAO,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;4BAAE,SAAS;wBAC9D,IAAI,SAAS,GAAG,CAAC;4BAAE,SAAS;wBAC5B,MAAM,KAAK,GAAoB,KAAK;6BACjC,cAAc,CAAC,CAAC,CAAC;6BACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;wBAEnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBAErB,MAAM,MAAM,GAAG;4BACb,CAAC,EAAE,KAAK,GAAG,CAAC;4BACZ,CAAC,EAAE,KAAK,GAAG,CAAC;yBACb,CAAC;wBAEF,wCAAwC;wBACxC,GAAG,CAAC,SAAS,EAAE,CAAC;wBAChB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBACpE,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;wBACxB,QAAQ;wBACR,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;wBAC9B,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;wBACnB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;wBACtB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;wBACtB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;wBAClB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;wBACvB,GAAG,CAAC,IAAI,EAAE,CAAC;wBACX,GAAG,CAAC,SAAS,EAAE,CAAC;wBAChB,GAAG,CAAC,aAAa,GAAI,CAAC,CAAC,CAAC,KAAK,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjD,+CAA+C;wBAC/C,GAAG,CAAC,SAAS,EAAE,CAAC;wBAChB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBACpE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;wBACzB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;wBACtB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;wBAClB,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;wBACpB,GAAG,CAAC,SAAS,EAAE,CAAC;wBAGhB,YAAY;wBACZ,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;wBAC5B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;wBAC9B,MAAM,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC/C,MAAM,KAAK,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAEhD,MAAM,SAAS,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE5C,GAAG,CAAC,SAAS,EAAE,CAAC;wBAChB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;wBAClB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBACvC,GAAG,CAAC,IAAI,EAAE,CAAC;wBACX,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACzB,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;wBACrC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBACjD,6BAA6B;wBAC7B,GAAG,CAAC,MAAM,EAAE,CAAC;wBAGb,OAAO;wBACP,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClE,MAAM,IAAI,GAAG,GAAG,EAAE,aAAa,CAAC;wBAChC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAC,UAAU,CAAC;wBAC3B,uBAAuB;wBACvB,MAAM,aAAa,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;wBACxD,MAAM,UAAU,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3C,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;wBAC9B,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;wBAC5B,kDAAkD;wBAClD,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;wBAExB,6CAA6C;wBAC7C,MAAM,OAAO,GAAG,CAAC,CAAC;wBAClB,MAAM,IAAI,GAAG,OAAO,CAAC;wBACrB,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;wBAC1C,MAAM,GAAG,GAAG,OAAO,CAAC;wBACpB,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;wBAChC,MAAM,KAAK,GACT,CAAC,IAAI,SAAS;4BACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;4BACvC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;wBAC7C,MAAM,KAAK,GACT,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;wBACnE,0CAA0C;wBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAEtC,IAAI,SAAS,GAAG,EAAE,CAAC;wBACnB,IAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;4BAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;4BAAM,SAAS,GAAG,EAAE,CAAC;wBAClF,MAAM,UAAU,GAAG,GAAG,CAAC;wBAEvB,IAAG,SAAS,IAAI,EAAE;4BAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;6BAC9B;4BACH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;4BACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACzC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;6BAC/F;yBACF;qBAEA;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC;SACF,CAAC;IA1ID,CAAC;IAzDF,QAAQ,CAAC,KAAK;QACZ,+CAA+C;QAC/C,yCAAyC;QACzC,+DAA+D;QAC/D,gCAAgC;IAClC,CAAC;IAwCD,OAAO,CAAC,CAAM,EAAE,CAAM;QACpB,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;YACrB,OAAO,CAAC,CAAC;SACV;QACD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;YACrB,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAMD,QAAQ;QACN,oDAAc,CAAC,iEAAe,CAAC,CAAC;IAClC,CAAC;IA0ID,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,0BAA0B;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE;YAC5B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;YACjB,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,EACF;YACA,GAAG,GAAG,CAAC,CAAC;SACT;QAED,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE;YAC5B,OAAO,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,EACF;YACA,GAAG,GAAG,GAAG,CAAC;SACX;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC1D,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;aACjB;YACD,IAAI,CAAC,IAAI,CAAC;gBAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;SACxB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,8BAA8B;QAC9B,kCAAkC;QAClC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC1C,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;wBACtC,UAAU,EAAE;4BACV,MAAM,EAAE;gCAEN,KAAK,EAAE;oCACL,KAAK,EAAE,KAAK;oCACZ,eAAe,EAAE,UAAU,GAAQ;wCACjC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wCAC5C,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oCACrC,CAAC;oCACD,WAAW,EAAE,aAAa;oCAC1B,WAAW,EAAE,CAAC;oCACd,YAAY,EAAE,EAAE;oCAChB,KAAK,EAAE,UAAU,GAAQ;wCACvB,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wCAC5C,OAAO,OAAO,CAAC;oCACjB,CAAC;oCACD,IAAI,EAAC,UAAS,GAAQ;wCAClB,MAAM,QAAQ,GAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,GAAC,CAAC,GAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wCAC9D,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC;oCAC1B,CAAC;oCAED,SAAS,EAAE,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;wCAClC,IAAI,GAAG,GAAG,CAAC,CAAC;wCACZ,IAAI,KAAK,GAAG,CAAC,CAAC;wCACd,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;wCAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,IAAS;4CAC7B,GAAG,IAAI,IAAI,CAAC;wCACd,CAAC,CAAC,CAAC;wCAEH,IAAI,GAAG,IAAI,CAAC,EAAG;4CACb,OAAO,SAAS,CAAC;yCAClB;wCAED,IAAI,UAAU,GAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wCAC9E,IAAG,UAAU,IAAI,KAAK;4CAAE,OAAO,UAAU,GAAI,SAAS;wCACtD,OAAO,UAAU,GAAG,GAAG,CAAC;oCAC1B,CAAC;iCACF;6BACF;yBACF;wBAED,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;qBACpD;iBACF;aACF;YAED,OAAO,EAAE,CAAC,iEAAe,EAAE,IAAI,CAAC,aAAa,CAAC;YAC9C,OAAO,EAAE;gBACP,mBAAmB,EAAE,IAAI;gBACzB,QAAQ,EAAE;oBACR,GAAG,EAAE;wBACH,WAAW,EAAE,CAAC;qBACf;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,CAAC;qBACf;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,CAAC;qBACf;oBACD,SAAS,EAAE;wBACT,WAAW,EAAE,CAAC;qBACf;oBACD,YAAY;oBACZ,eAAe;oBACf,eAAe;oBACf,MAAM;oBACN,KAAK;oBACL,oCAAoC;oBACpC,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;qBACb;oBAED,OAAO,EAAE;wBACP,OAAO,EAAE;4BACP,OAAO,EAAE,KAAK;yBACf;qBAEF;iBACF;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;iBACf;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;iBACf;gBAED,MAAM,EAAE;oBACN,CAAC,EAAE;wBACD,WAAW,EAAE;4BACX,OAAO,EAAE,KAAK;4BACd,iBAAiB,EAAE,KAAK;yBACzB;wBACD,KAAK,EAAE;4BACL,GAAG,EAAE,EAAE;4BACP,GAAG,EAAE,EAAE;4BACP,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,aAAa;4BACpB,aAAa,EAAE,aAAa;yBAC7B;wBACD,IAAI,EAAE;4BACJ,OAAO,EAAE,KAAK;yBACf;qBACF;iBACF;gBACD,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,OAAO,EAAE,KAAK;qBACf;iBAEF;gBACD,SAAS,EAAE,CAAC,KAAU,EAAE,GAAQ,EAAE,EAAE;oBAClC,uCAAuC;gBACzC,CAAC;aACF;SAEF,CAAC;QAEF,mCAAmC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;QACtB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG;gBAC5D,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/D,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtD,oBAAoB;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACnD,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG;YAClC,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACV,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,OAAsB;QAEhC,IAAI,OAAO,IAAI,SAAS,EAAE;SACzB;aAAM;YACL,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;gBACzC,yCAAyC;aAC1C;SACF;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;YACnD,GAAG,GAAG,CAAC,CAAC;SACT;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;gBAAE,GAAG,IAAI,GAAG,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC;gBAAE,GAAG,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACzD,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CACpB,CAAC;YACF,2DAA2D;YAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG;gBAClC,IAAI,EAAE,EAAE;gBACR,KAAK,EAAC,EAAE;aACT,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACrB;IACH,CAAC;;4FAxbU,sBAAsB;oHAAtB,sBAAsB;;;;;;sJAAtB,oBAAgB;;QChC7B,uEAAuG;;;;;;;;;;;;;;;;;;;;;ACCxD;AACsB;AACzB;;AAcrC,MAAM,mBAAmB;;sFAAnB,mBAAmB;gHAAnB,mBAAmB;oHAL5B,yDAAY;QACZ,sDAAc;mIAIL,mBAAmB,mBAR5B,8EAAsB,aAGtB,yDAAY;QACZ,sDAAc,aAEN,8EAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf6C;AAEhC;AACgC;AACA;AACoB;AACW;AACJ;AACa;AACrC;AACpB;AACP;AACqB;AAC7B;AACmB;AACK;AAC7B;AACsB;AACR;AACuB;AACW;AAC1C;AAC2C;AACA;AACZ;AACA;AACyC;AAC/C;AACiB;AACwB;AAChC;AACG;AAC0B;;;AAC/G,qDAAqD;AAmF9C,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;8GAxErB,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qFAAU;QACV,yFAAoB;QACpB,wFAAgB;QAChB,4GAAsB;QACtB,2FAAiB;QACjB,uEAAc;QACd,iEAAW;QACX,uFAAgB;QAChB,0DAAY;QACZ,kEAAS;QACT,6DAAoB,CAAC;YACnB,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI;YACzD,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI;SACxD,CAAC;QACF,2EAAqB;QACrB,mEAAgB;QAChB,yFAAgB;QAChB,qGAAsB;QACtB,2DAAgB;QAChB,qGAAoB;QACpB,sGAAiB;QACjB,yFAAmB;QACnB,uEAAc;QACd,0FAAiB;QACjB,kIAA6B;QAC7B,mFAAc;QACd,4HAA2B;QAC3B,iBAAiB;QACjB,6FAAkB;QAClB,yHAA0B,EAG1B,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qFAAU;QACV,yFAAoB;QACpB,wFAAgB;QAChB,4GAAsB;QAItB,2FAAiB;QACjB,uEAAc;QACd,kIAA6B;QAC7B,iEAAW;QACX,uFAAgB;QAChB,0DAAY;QACZ,kEAAS;QACT,qDAAY;QACZ,2EAAqB;QACrB,mEAAgB;QAChB,yFAAgB;QAChB,qGAAsB;QACtB,2DAAgB;QAChB,qGAAoB;QACpB,sGAAiB;QACjB,yFAAmB;QACnB,uEAAc;QACd,0FAAiB;QACjB,mFAAc;QAEd,4HAA2B;QAC3B,kBAAkB;QAClB,6FAAkB;QAElB,yHAA0B;oIAGjB,YAAY,mBA/ErB,uHAAwB;QACxB,mHAAqB;QACrB,gIAAsB;QACtB,oGAAoB;QACpB,+FAAa,aAGb,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qFAAU;QACV,yFAAoB;QACpB,wFAAgB;QAChB,4GAAsB;QACtB,2FAAiB;QACjB,uEAAc;QACd,iEAAW;QACX,uFAAgB;QAChB,0DAAY;QACZ,kEAAS,yDAKT,2EAAqB;QACrB,mEAAgB;QAChB,yFAAgB;QAChB,qGAAsB;QACtB,2DAAgB;QAChB,qGAAoB;QACpB,sGAAiB;QACjB,yFAAmB;QACnB,uEAAc;QACd,0FAAiB;QACjB,kIAA6B;QAC7B,mFAAc;QACd,4HAA2B;QAC3B,iBAAiB;QACjB,6FAAkB;QAClB,yHAA0B,aAG1B,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qFAAU;QACV,yFAAoB;QACpB,wFAAgB;QAChB,4GAAsB;QACtB,uHAAwB;QACxB,mHAAqB;QACrB,gIAAsB;QACtB,2FAAiB;QACjB,uEAAc;QACd,kIAA6B;QAC7B,iEAAW;QACX,uFAAgB;QAChB,0DAAY;QACZ,kEAAS;QACT,qDAAY;QACZ,2EAAqB;QACrB,mEAAgB;QAChB,yFAAgB;QAChB,qGAAsB;QACtB,2DAAgB;QAChB,qGAAoB;QACpB,sGAAiB;QACjB,yFAAmB;QACnB,uEAAc;QACd,0FAAiB;QACjB,mFAAc;QACd,oGAAoB;QACpB,4HAA2B;QAC3B,kBAAkB;QAClB,6FAAkB;QAClB,+FAAa;QACb,yHAA0B;;;;;;;;;;;;;;;;;;AC5GvB,MAAM,kBAAkB;IAE7B,SAAS,CAAC,KAAU,EAAE,KAAW;QAC/B,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;YAClF,OAAO,GAAG;SACX;QACD,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;YAClF,OAAO,GAAG;SACX;QAED,OAAO,KAAK,CAAC;IACf,CAAC;;oFAXU,kBAAkB;oIAAlB,kBAAkB;;;;;;;;;;;;;;;;ACJxB,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,4CAA4C;IACrD,+DAA+D;IAC/D,yDAAyD;IACzD,gBAAgB,EAAC,8CAA8C;IAC/D,eAAe,EAAC,4CAA4C;IAC5D,YAAY,EAAE,4CAA4C;IAC1D,UAAU,EAAE,4BAA4B;IACxC,YAAY,EAAE,0CAA0C;IACxD,SAAS,EAAE,kCAAkC;CAC9C,CAAC;;;;;;;;;;;;;;;;;;ACZwD;AAGb;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,IAAI,CAAC,wDAAS,EAAE,EAAE;IAChB,OAAO,CAAC,MAAM,GAAG,cAAa,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,UAAU,GAAG,cAAa,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,GAAG,cAAa,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,GAAG,cAAa,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,cAAc,GAAG,cAAa,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,GAAG,cAAa,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,GAAG,cAAa,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,GAAG,cAAa,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,GAAG,cAAa,CAAC,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,cAAa,CAAC,CAAC;IACjC,OAAO,CAAC,OAAO,GAAG,cAAa,CAAC,CAAC;IACjC,OAAO,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,GAAG,cAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,GAAG,cAAa,CAAC,CAAC;CAC/B;AACD,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACjCpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnSA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth.guard.ts","./src/app/core/common/common-config.ts","./src/app/core/common/common-function.ts","./src/app/core/common/dynamic-search/dynamic-search.component.ts","./src/app/core/common/dynamic-search/dynamic-search.component.html","./src/app/core/core.module.ts","./src/app/core/custom-datepicker/custom-datepicker.component.ts","./src/app/core/custom-datepicker/custom-datepicker.component.html","./src/app/core/custom-datepicker/custom-datepicker.module.ts","./src/app/core/custom-datepicker/ngx-datePicker-CustConfg.ts","./src/app/core/directives/InputRestriction/input-restriction.directive.ts","./src/app/core/directives/core-directives.module.ts","./src/app/core/directives/debounce/abstract-debounce.directive.ts","./src/app/core/directives/debounce/srch-dbounce.directive.ts","./src/app/core/directives/focus-to-next-input.directive.ts","./src/app/core/directives/hide.directive.ts","./src/app/core/directives/input-form-focus.directive.ts","./src/app/core/directives/input-limit.directive.ts","./src/app/core/directives/int-aadhar-mask.directive.ts","./src/app/core/directives/invalid-directive.directive.ts","./src/app/core/directives/restricteAutoComplete/restricte-autocomplete.directive.ts","./src/app/core/directives/show-hide-password.directive.ts","./src/app/core/directives/uppercase/uppercase.directive.ts","./src/app/core/enum/toster-enum.ts","./src/app/core/interceptors/http-interceptor.interceptor.ts","./src/app/core/pipes/ceiling/ceiling.pipe.ts","./src/app/core/pipes/filter/filter.pipe.ts","./src/app/core/pipes/getFirstLetter/get-first-letter.pipe.ts","./src/app/core/pipes/inr.pipe.ts","./src/app/core/pipes/masking/mask-contact-no.pipe.ts","./src/app/core/pipes/number-to-word.pipe.ts","./src/app/core/pipes/pipes.module.ts","./src/app/core/pipes/remove-especial-symbol.pipe.ts","./src/app/core/pipes/replace.pipe.ts","./src/app/core/pipes/safe-html.pipe.ts","./src/app/core/pipes/safe-url/safe-url.pipe.ts","./src/app/core/pipes/shringAmount/shring-amount.pipe.ts","./src/app/core/pipes/spread-into-array/spread-into-array.pipe.ts","./src/app/core/services/api-request.service.ts","./src/app/core/services/bank-list.service.ts","./src/app/core/services/common.service.ts","./src/app/core/services/crypto.service.ts","./src/app/core/services/excelToJsonToggle/excel-to-json.service.ts","./src/app/core/services/file-upload.service.ts","./src/app/core/services/loader.service.ts","./src/app/core/services/permission-service.service.ts","./src/app/core/services/request-url.service.ts","./src/app/core/services/session-storage.service.ts","./src/app/core/services/toasterNgs.service.ts","./src/app/core/services/toster.service.ts","./src/app/core/services/user-details.service.ts","./src/app/core/services/utility.service.ts","./src/app/core/utility/validator.ts","./src/app/core/validators/regExpPatternList.ts","./src/app/features/autoLogout/auto-log-out-pop/auto-log-out-pop.component.ts","./src/app/features/autoLogout/auto-log-out-pop/auto-log-out-pop.component.html","./src/app/features/autoLogout/auto-log-out.module.ts","./src/app/features/autoLogout/auto-log-out/auto-log-out.component.ts","./src/app/features/autoLogout/auto-log-out/auto-log-out.component.html","./src/app/features/autoLogout/service/auto-logout.service.ts","./src/app/features/custom-input/custom-input.component.ts","./src/app/features/custom-input/custom-input.component.html","./src/app/features/custom-input/custom-input.module.ts","./src/app/features/custom-otp/custom-otp.component.ts","./src/app/features/custom-otp/custom-otp.component.html","./src/app/features/custom-otp/custom-otp.module.ts","./src/app/features/customCDK/cdk-drop-down/cdk-drop-down.module.ts","./src/app/features/customCDK/cdk-drop-down/cdk-dropdown/cdk-dropdown.component.ts","./src/app/features/customCDK/cdk-drop-down/cdk-dropdown/cdk-dropdown.component.html","./src/app/features/customCDK/cdk-drop-down/dropdown-trigger-for.directive.ts","./src/app/features/customCDK/cdkCustomMdl/cdk-custom-mdl.module.ts","./src/app/features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref.ts","./src/app/features/customCDK/cdkCustomMdl/classes/form-modal.ref.ts","./src/app/features/customCDK/cdkCustomMdl/classes/template-modal.ref.ts","./src/app/features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component.ts","./src/app/features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component.html","./src/app/features/customCDK/cdkCustomMdl/components/custom-modal/custom-modal.component.ts","./src/app/features/customCDK/cdkCustomMdl/components/custom-modal/custom-modal.component.html","./src/app/features/customCDK/cdkCustomMdl/components/form-modal/form-modal.component.ts","./src/app/features/customCDK/cdkCustomMdl/components/form-modal/form-modal.component.html","./src/app/features/customCDK/cdkCustomMdl/services/common-functions.service.ts","./src/app/features/customCDK/cdkCustomMdl/services/component-modal.service.ts","./src/app/features/customCDK/cdkCustomMdl/services/confirmation-modal.service.ts","./src/app/features/customCDK/cdkCustomMdl/services/template-modal.service.ts","./src/app/features/customCDK/cdkCustomMdl/tokens/component-data.token.ts","./src/app/features/customCDK/cdkCustomMdl/tokens/confirmation-data.token.ts","./src/app/features/customCDK/customTooltip/custom-tooltip.directive.ts","./src/app/features/layouts/components/content/content.component.ts","./src/app/features/layouts/components/content/content.component.html","./src/app/features/layouts/components/content/content.module.ts","./src/app/features/layouts/components/footer/footer.component.ts","./src/app/features/layouts/components/footer/footer.component.html","./src/app/features/layouts/components/footer/footer.module.ts","./src/app/features/layouts/components/header/header.component.ts","./src/app/features/layouts/components/header/header.component.html","./src/app/features/layouts/components/header/header.module.ts","./src/app/features/layouts/components/news/news.component.ts","./src/app/features/layouts/components/news/news.module.ts","./src/app/features/layouts/components/sidebar/sidebar-service.service.ts","./src/app/features/layouts/components/sidebar/sidebar.component.ts","./src/app/features/layouts/components/sidebar/sidebar.component.html","./src/app/features/layouts/components/sidebar/sidebar.module.ts","./src/app/features/layouts/layouts.module.ts","./src/app/features/layouts/template/template.component.ts","./src/app/features/layouts/template/template.component.html","./src/app/features/layouts/template/template.module.ts","./src/app/features/show-errors/show-errors.component.ts","./src/app/features/show-errors/show-errors.component.html","./src/app/features/show-errors/show-errors.module.ts","./src/app/features/slider-toggle/slider-toggle.module.ts","./src/app/features/slider-toggle/slider-toggle/slider-toggle.component.ts","./src/app/features/slider-toggle/slider-toggle/slider-toggle.component.html","./src/app/pages/auth/auth.service.ts","./src/app/pages/auth/sign-up.service.ts","./src/app/pages/dashboard/dashboard.service.ts","./src/app/pages/dashboard/kyc/bank-detail/bank-detail.component.ts","./src/app/pages/dashboard/kyc/bank-detail/bank-detail.component.html","./src/app/pages/dashboard/kyc/bank-detail/bank-detail.module.ts","./src/app/pages/dashboard/kyc/business-detail/business-detail.component.ts","./src/app/pages/dashboard/kyc/business-detail/business-detail.component.html","./src/app/pages/dashboard/kyc/business-detail/business-detail.module.ts","./src/app/pages/dashboard/kyc/contact-detail/contact-detail.component.ts","./src/app/pages/dashboard/kyc/contact-detail/contact-detail.component.html","./src/app/pages/dashboard/kyc/contact-detail/contact-detail.module.ts","./src/app/pages/dashboard/kyc/kyc-model.ts","./src/app/pages/dashboard/kyc/kyc-services.ts","./src/app/pages/dashboard/kyc/kyc.component.ts","./src/app/pages/dashboard/kyc/kyc.component.html","./src/app/pages/dashboard/kyc/kyc.module.ts","./src/app/pages/dashboard/kyc/more-detail-required/more-detail-required.component.ts","./src/app/pages/dashboard/kyc/more-detail-required/more-detail-required.component.html","./src/app/pages/dashboard/kyc/partner-documents/partner-documents.component.ts","./src/app/pages/dashboard/kyc/partner-documents/partner-documents.component.html","./src/app/pages/dashboard/kyc/partner-documents/partner-documents.module.ts","./src/app/pages/dashboard/kyc/verify-document/verify-document.component.ts","./src/app/pages/dashboard/kyc/verify-document/verify-document.component.html","./src/app/pages/dashboard/kyc/verify-document/verify-document.module.ts","./src/app/pages/pages.service.ts","./src/app/pages/payin/payin.service.ts","./src/app/pages/tickler.service.ts","./src/app/rnfi-config/config.service.ts","./src/app/rnfi-config/index.ts","./src/app/rnfi-config/rnfi.module.ts","./src/app/services/common-subject.service.ts","./src/app/shared/components/connected-banking-modal/bulk-payout-modal/bulk-payout-modal.component.ts","./src/app/shared/components/connected-banking-modal/bulk-payout-modal/bulk-payout-modal.component.html","./src/app/shared/components/connected-banking-modal/common-connected-modal/common-connected-modal.component.ts","./src/app/shared/components/connected-banking-modal/common-connected-modal/common-connected-modal.component.html","./src/app/shared/components/connected-banking-modal/connected-banking-modal.component.ts","./src/app/shared/components/connected-banking-modal/connected-banking-modal.component.html","./src/app/shared/components/connected-banking-modal/connected-banking-modal.module.ts","./src/app/shared/components/connected-banking-modal/icic-bank/icic-bank.component.ts","./src/app/shared/components/connected-banking-modal/icic-bank/icic-bank.component.html","./src/app/shared/components/custom-dynamic-otp/custom-dynamic-otp.component.ts","./src/app/shared/components/custom-dynamic-otp/custom-dynamic-otp.component.html","./src/app/shared/components/custom-dynamic-otp/custom-dynamic-otp.module.ts","./src/app/shared/components/dash-info-box/dash-info-box.component.ts","./src/app/shared/components/dash-info-box/dash-info-box.component.html","./src/app/shared/components/doc-modal/doc-modal.component.ts","./src/app/shared/components/doc-modal/doc-modal.component.html","./src/app/shared/components/doc-modal/doc-modal.module.ts","./src/app/shared/components/dynamic-otp/dynamic-otp.component.ts","./src/app/shared/components/dynamic-otp/dynamic-otp.component.html","./src/app/shared/components/dynamic-otp/dynamic-otp.module.ts","./src/app/shared/components/file-upload/file-upload.component.ts","./src/app/shared/components/file-upload/file-upload.component.html","./src/app/shared/components/file-upload/file-upload.module.ts","./src/app/shared/components/loader/loader.component.ts","./src/app/shared/components/loader/loader.component.html","./src/app/shared/components/pytCustTbl/pyt-cust-tbl.service.ts","./src/app/shared/components/pytCustTbl/pyt-tbl-pipe/pyt-filter.pipe.ts","./src/app/shared/components/pytCustTbl/pyt-tbl-top-box/pyt-tbl-top-box.component.ts","./src/app/shared/components/pytCustTbl/pyt-tbl-top-box/pyt-tbl-top-box.component.html","./src/app/shared/components/pytCustTbl/pytPagination/pyt-cust-tbl-pager.directive.ts","./src/app/shared/components/pytCustTbl/pytPagination/pyt-pagination/pyt-pagination.component.ts","./src/app/shared/components/pytCustTbl/pytPagination/pyt-pagination/pyt-pagination.component.html","./src/app/shared/components/pytCustTbl/pyt_SearchBox/search-box.directive.ts","./src/app/shared/components/select-confirmation-modal/select-confirmation-modal.component.ts","./src/app/shared/components/select-confirmation-modal/select-confirmation-modal.component.html","./src/app/shared/components/select-confirmation-modal/select-confirmation-modal.module.ts","./src/app/shared/components/show-message/show-message.component.ts","./src/app/shared/components/show-message/show-message.component.html","./src/app/shared/components/show-message/show-message.module.ts","./src/app/shared/components/upload-document/upload-document.component.ts","./src/app/shared/components/upload-document/upload-document.component.html","./src/app/shared/components/upload-document/upload-document.module.ts","./src/app/shared/components/vpa-confirmation-modal/vpa-confirmation-modal.component.ts","./src/app/shared/components/vpa-confirmation-modal/vpa-confirmation-modal.component.html","./src/app/shared/components/vpa-confirmation-modal/vpa-confirmation-modal.module.ts","./src/app/shared/drop-down/drop-down.module.ts","./src/app/shared/drop-down/global-drop-down/global-drop-down.component.ts","./src/app/shared/drop-down/global-drop-down/global-drop-down.component.html","./src/app/shared/drop-down/primary-drop-down/primary-drop-down.component.ts","./src/app/shared/drop-down/primary-drop-down/primary-drop-down.component.html","./src/app/shared/drop-down/secondary-drop-down/secondary-drop-down.component.ts","./src/app/shared/drop-down/secondary-drop-down/secondary-drop-down.component.html","./src/app/shared/dyn-polar-chart/dyn-polar-chart.component.ts","./src/app/shared/dyn-polar-chart/dyn-polar-chart.component.html","./src/app/shared/dyn-polar-chart/dyn-polar-chart.module.ts","./src/app/shared/shared.module.ts","./src/app/shared/show-null-result.pipe.ts","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$","ignored|/Users/thunderchawla/Documents/RNFI/cipherpay_kyc/node_modules/crypto-js|crypto"],"sourcesContent":["\n\nimport { AuthGuard } from './auth.guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: '',\n loadChildren: () => import('./pages/auth/auth.module').then(m => m.AuthModule),\n },\n {\n path: '',\n loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule),\n canActivate: [AuthGuard],\n },\n {\n path: '**',\n redirectTo: '/login'\n },\n\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { useHash: true }),\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { RnfiConfigService } from '@rnficonfig/config.service';\nimport { Subject, takeUntil, Subscription, BehaviorSubject } from 'rxjs';\n// import { AuthCoreService } from '@page/auth/auth.service';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { CommonSubjectService } from './services/common-subject.service';\nimport { config } from '@core/services/request-url.service';\ndeclare function mySideBarInitFn(): any;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n // providers: [ FileuploadService]\n})\nexport class AppComponent implements OnInit, OnDestroy {\n // title(title: any) {\n // throw new Error('Method not implemented.');\n // }\n\n relipayConfig: any;\n amountDatasubscription: Subscription;\n\n // Private\n private _unsubscribeAll: Subject;\n\n public static staticIsLoad = false;\n\n get isLoad() {\n return AppComponent.staticIsLoad;\n };\n\n set isLoad(value) {\n AppComponent.staticIsLoad = value;\n }\n constructor(\n private _rnfiConfigService: RnfiConfigService,\n // private _authCoreService:AuthCoreService,\n private _ApiRequestService:ApiRequestService,\n private _CommonSubjectService:CommonSubjectService\n // private fileuploadService: FileuploadService\n ) {\n\n // this._authCoreService.shouldEncryptApiRequest().subscribe(res=>{\n // if(res.statuscode == 200){\n // this._authCoreService.encrypted = res.data.encrypt ?? true;\n // this._authCoreService.reporting = res.data.reporting ?? true;\n // this.isLoad = true;\n // }\n // });\n\n this._ApiRequestService.postdata('', config['shouldApiEncryptDecrypt']).subscribe((res: any) => {\n if(res.statuscode == 200){\n this._CommonSubjectService.encrypted = new BehaviorSubject(res?.data?.encrypt ?? true);\n this._CommonSubjectService.reporting = new BehaviorSubject(res?.data?.reporting ?? true);\n this.isLoad = true;\n }\n });\n\n\n\n this._rnfiConfigService.config = {\n layout: {\n navbar: {\n hidden: true\n },\n header: {\n hidden: true\n },\n footer: {\n hidden: true\n },\n news: {\n hidden: true\n },\n sidepanel: {\n hidden: true\n },\n content: {\n hidden: true\n },\n slider: {\n hidden: true\n },\n }\n };\n this._unsubscribeAll = new Subject();\n }\n\n ngOnInit(): void {\n // this._AutoLogoutService.initTimer(0.1, 1);\n setTimeout(() => {\n // mySideBarInitFn();\n }, 1);\n\n // this.loader.hide();\n this._rnfiConfigService.config\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((config: any) => {\n this.relipayConfig = config;\n });\n\n }\n\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next(true);\n this._unsubscribeAll.complete();\n };\n\n\n}\n","\n\n\n \n \n\n
\n","\nimport { LoaderComponent } from './shared/components/loader/loader.component';\nimport { CoreModule } from './core/core.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { SharedModule } from '@shared/shared.module';\nimport { Relipayconfig } from '@rnficonfig/index';\nimport { RnfiModule } from '@rnficonfig//rnfi.module';\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { LayoutsModule } from '@features/layouts/layouts.module';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { DatePipe, HashLocationStrategy } from '@angular/common';\nimport { HttpInterceptorInterceptor } from '@core/interceptors/http-interceptor.interceptor';\nimport { AutoLogOutModule } from '@features/autoLogout/auto-log-out.module';\n\n@NgModule({\n declarations: [\n AppComponent,\n LoaderComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n RnfiModule.forRoot(Relipayconfig),\n LayoutsModule,\n AutoLogOutModule,\n SharedModule,\n CoreModule,\n\n ],\n providers: [\n // {\n // provide: HTTP_INTERCEPTORS,\n // useClass: NetworkInterceptor,\n // multi: true\n // },\n [ {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpInterceptorInterceptor,\n HashLocationStrategy,\n multi: true,\n\n }],\n DatePipe,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { SessionStorageService } from '@core/services/session-storage.service';\nimport { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { AutoLogoutService } from '@features/autoLogout/service/auto-logout.service';\nimport { CommonSubjectService } from './services/common-subject.service';\nimport waitUntil from 'async-wait-until';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n loginSession: any;\n\n constructor(\n private route: Router,\n private sessionStorage: SessionStorageService,\n private _UserDetailsService: UserDetailsService,\n private _AutoLogoutService: AutoLogoutService,\n private _CommonSubjectService: CommonSubjectService\n ) {}\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n\n // await waitUntil(() => this._CommonSubjectService.encrypted?.getValue() != undefined);\n\n let session: any = this.sessionStorage.getItem('userDetails');\n this.loginSession = session ? JSON.parse(session).authtoken : false;\n // console.log(this.loginSession);\n\n if (this.loginSession) {\n this._UserDetailsService.setUserLoginDetails = JSON.parse(session);\n // this._AutoLogoutService.init();\n return true;\n }\n // this._AutoLogoutService.uninit();\n this.sessionStorage.clearStorage();\n this.route.navigate(['/login']);\n\n return false;\n }\n}\n","import { config } from '@core/services/request-url.service';\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\nexport const KYC_Service_Steps = [\n { name: 'Contact Details', selected: 1, sub_type: [], status: 4 },\n { name: 'Business Details', selected: 2, sub_type: [], status: 4 },\n { name: 'Verify Documents', selected: 3, sub_type: [], status: 4 },\n { name: 'Bank Details', selected: 9, sub_type: [], status: 4 },\n] as const;\nexport const SEARCH_BY = [\n { name: 'Sr.No', value: 'Sr.No' },\n { name: 'Txn Id', value: 'Txn Id' },\n { name: 'Ref Id', value: 'Ref Id' },\n { name: 'Mobile', value: 'Mobile' },\n { name: 'User Name', value: 'username' },\n] as const;\n\nexport const STATUS = [\n // { name: 'All', value: '' },\n { name: 'Success', value: '1' },\n { name: 'In Process', value: '2' },\n // { name: 'Processing', value: '3' },\n // { name: 'Processed', value: '4 ' },\n { name: 'Failed', value: '0' },\n] as const;\n\nexport const STATUS1 = {\n 2: 'In Process',\n 3: 'In Process',\n 4: 'In Process',\n 1: 'Success',\n 0: 'Failed',\n} as const;\n\nexport const DOWNLOAD_TYPE = [\n { name: 'XLSX', value: '.xlsx' },\n { name: 'XLS', value: '.xls' },\n { name: 'CSV', value: '.csv' },\n] as const;\n\nexport const Permissions = {\n Dashboard: {\n module: 'Dashboard',\n permissions: {\n DashboardView: 'Dashboard-View',\n DashboardViewKyc: 'Dashboard-View-Kyc',\n DashboardViewTrend: 'Dashboard-View-Trend',\n DashboardViewWallet: 'Dashboard-View-Wallet',\n DashboardViewGraph: 'Dashboard-View-Graph',\n DashboardViewRecentTransactions: 'Dashboard-View-Recent-Transactions',\n },\n },\n Payout: {\n module: 'Payout',\n permissions: {\n AddBene: 'Payout-Add-Bene',\n SinglePayout: 'Payout-Single-Payout',\n PeneDrop: 'Payout-Pene-Drop',\n BulkPayout: 'Payout-Bulk-Payout',\n },\n },\n ConnectedBanking: {\n module: 'Connected-Banking',\n permissions: {\n ViewStatement: 'CB-View-Statement',\n Balance: 'CB-Balance',\n SinglePayout: 'CB-Single-Payout',\n BulkPayout: 'CB-Bulk-Payout',\n },\n },\n Statement: {\n module: 'Statement',\n permissions: {\n Ledger: 'Statement-Ledger',\n Payout: 'Statement-Payout',\n PeneDrop: 'Statement-Pene-Drop',\n BulkPayout: 'Statement-Bulk-Payout',\n },\n },\n UserManagement: {\n module: 'User-Management',\n permissions: {\n AddUser: 'Add-User',\n UpdateUser: 'Update-User',\n UserList: 'User-List',\n BenefeciaryMaker: 'Bene-Maker',\n BenefeciaryChecker: 'Bene-Checker',\n PayoutMaker: 'Payout-Maker',\n PayoutChecker: 'Payout-Checker',\n },\n },\n Administrator: {\n module: 'Administrator',\n permissions: {\n FundRequest: 'Fund-Request',\n WhitelistAccounts: 'Whitelist-Accounts',\n Credentials: 'Credentials',\n },\n },\n Reseller: {\n module: 'Reseller',\n enabled: false,\n permissions: {\n ResellerPerformance: 'Reseller-Performance',\n ResellerInvoice: 'Reseller-Invoice',\n ResellerGraphs: 'Reseller-Graphs',\n ResellerAddMerchant: 'Reseller-Add-Merchant',\n ResellerSetCharges: 'Reseller-Set-Charges',\n ResellerMerchantList: 'Reseller-Merchant-List',\n },\n },\n Aggregator: {\n module: 'Aggregator',\n enabled: false,\n permissions: {\n AggregatorPerformance: 'Aggregator-Performance',\n AggregatorInvoice: 'Aggregator-Invoice',\n AggregatorGraphs: 'Aggregator-Graphs',\n AggregatorAddMerchant: 'Aggregator-Add-Merchant',\n AggregatorSetCharges: 'Aggregator-Set-Charges',\n AggregatorMerchantList: 'Aggregator-Merchant-List',\n },\n },\n Payin: {\n module: 'Payin',\n enabled: false,\n permissions: {\n PayinAddVPA: 'Payin-Add-VPA',\n PayinListVPA: 'Payin-List-VPA',\n PayinListTransactions: 'Payin-List-Transactions',\n PayinGenerateQR: 'Payin-Generate-QR',\n }\n }\n};\n\nexport const Get_Started_Side_Bar = [\n {\n id: 1,\n name: 'Welcome onboard',\n is_active: 1,\n routeUrl: '/get-started/welcome-onboard',\n },\n {\n id: 2,\n name: 'Setup your account & card',\n is_active: 1,\n routeUrl: '/get-started/setup-your-account',\n },\n {\n id: 3,\n name: 'Explore Plan',\n is_active: 1,\n routeUrl: '/get-started/explore-plan',\n },\n {\n id: 4,\n name: 'Explore Open',\n is_active: 1,\n routeUrl: '/get-started/explore-open',\n },\n] as const;\nexport const beneficiary_Side_Bar = [\n { id: 1, name: 'Basic Information', selected_type: 1 },\n // { id: 2, name: 'Address Detail', selected_type: 2 },\n { id: 3, name: 'Bank Detail', selected_type: 3 },\n] as const;\n\nexport const Pay_Out = [\n {\n id: 1,\n value: 'Add Beneficiary',\n routePath: '/payout/add-beneficiary',\n permission: Permissions.Payout.permissions.AddBene,\n },\n {\n id: 2,\n value: 'Single Payout',\n routePath: '/payout/pay-outs',\n permission: Permissions.Payout.permissions.SinglePayout,\n },\n {\n id: 6,\n value: 'Bank Account Verification',\n routePath: '/payout/penny-drop',\n permission: Permissions.Payout.permissions.PeneDrop,\n },\n // {\n // id: 3,\n // value: 'Bulk Payouts',\n // routePath: '/payout/bulk-payout',\n // permission: Permissions.Payout.permissions.BulkPayout,\n // },\n] as const;\n\nexport const ADMINISTRATION = [\n {\n id: 7,\n value: 'Fund Request',\n routePath: '/administration/fund-request',\n permission: Permissions.Administrator.permissions.FundRequest,\n },\n {\n id: 8,\n value: 'White List Acc.',\n routePath: '/administration/white-list',\n permission: Permissions.Administrator.permissions.WhitelistAccounts,\n },\n {\n id: 9,\n value: 'Credentials',\n routePath: '/administration/credentials',\n permission: Permissions.Administrator.permissions.Credentials,\n },\n] as const;\n\nexport const Pay_Out_Flow = [\n { id: 1, name: 'Beneficiary', isSelected: '1' },\n { id: 2, name: 'Initiate Payout', isSelected: '2' },\n] as const;\nexport const Statements = [\n {\n id: 1,\n value: 'Ledger',\n routePath: '/statements/ledger-stmt',\n permission: Permissions.Statement.permissions.Ledger,\n },\n {\n id: 2,\n value: 'Payout',\n routePath: '/statements/payout-stmt',\n permission: Permissions.Statement.permissions.Payout,\n },\n {\n id: 3,\n value: 'Bank Account Verification',\n routePath: '/statements/penny-drop-stmt',\n permission: Permissions.Statement.permissions.PeneDrop,\n },\n {\n id: 4,\n value: 'All Bulk Payout',\n routePath: '/statements/all-bulk-payout-stmt',\n permission: Permissions.Statement.permissions.BulkPayout,\n },\n] as const;\n\nexport const UserManagement = [\n {\n id: 1,\n value: 'View Users',\n routePath: '/user-management/user-list',\n permission: Permissions.UserManagement.permissions.UserList\n },\n {\n id: 2,\n value: 'Maker Checker',\n routePath: '/user-management/maker-checker',\n permission: Permissions.UserManagement.permissions.BenefeciaryMaker,\n },\n] as const;\n\nexport const Fund_Requests = [\n { id: 1, value: 'Online Transfer', routePath: 'online-transfer' },\n { id: 2, value: 'Exceptional Request', routePath: 'exceptional-request' },\n { id: 3, value: 'All Fund Request', routePath: 'all-fund-request' },\n] as const;\nexport const Payment_Transfer_Mode = [\n {\n id: 1,\n value: 'Single Transfer',\n routePath: '/banking/transactions/single-transfer',\n },\n { id: 2, value: 'Bulk Transfer', routePath: '/banking/transactions/bulk-transfer', permission: Permissions.ConnectedBanking.permissions.BulkPayout },\n // { id: 3, value: 'Statements', routePath: '/banking/transaction-detail' }\n] as const;\n\nexport const Payment_Transfer_Maker_Mode = [\n {\n id: 1,\n value: 'Single Transfer',\n routePath: '/banking/payouts/single',\n },\n {id: 2, value: 'Bulk Transfer', routePath: '/banking/payouts/bulk'},\n // { id: 3, value: 'Statements', routePath: '/banking/transaction-detail' }\n] as const;\n\n\nexport const RESELLER = [\n {\n id: 7,\n value: 'Performance',\n routePath: '/reseller/performance',\n permission: Permissions.Reseller.permissions.ResellerPerformance,\n },\n {\n id: 8,\n value: 'M. Onboarding',\n routePath: '/reseller/merchant-onboarding',\n permission: Permissions.Reseller.permissions.ResellerMerchantList,\n },\n // {\n // id: 9,\n // value: 'Personal Info',\n // routePath: '/reseller/personal-info',\n // },\n] as const;\n\nexport const Aggregator = [\n {\n id: 7,\n value: 'Performance',\n routePath: '/aggregator/performance',\n permission: Permissions.Aggregator.permissions.AggregatorPerformance,\n },\n {\n id: 8,\n value: 'M. Onboarding',\n routePath: '/aggregator/merchant-onboarding',\n permission: Permissions.Aggregator.permissions.AggregatorMerchantList,\n },\n] as const;\n\nexport const Performance_Payment_Mode = [\n {\n id: 1,\n value: 'Settled Payment',\n routePath: 'settled-payment',\n name: 'settled',\n icoUrl: `\n \n \n`,\n },\n {\n id: 2,\n value: 'Unsettled Payment',\n routePath: 'unsettled-payment',\n name: 'unsettled',\n icoUrl: `\n \n \n \n \n \n \n \n`,\n },\n {\n id: 3,\n value: 'Pending Payment',\n routePath: 'pending-payment',\n name: 'pending',\n icoUrl: `\n \n \n \n \n \n \n \n`,\n },\n] as const;\n\nexport const Side_Bar = [\n {\n id: 1,\n name: 'Dashboard',\n is_active: 1,\n icon: `\n \n \n \n \n \n \n \n \n \n \n \n \n `,\n routeUrl: 'dashboard',\n module: Permissions.Dashboard.module,\n },\n {\n id: 2,\n name: 'Cipher Payouts',\n is_active: 1,\n icon: `\n \n \n \n \n \n \n \n \n \n \n \n `,\n routeUrl: 'payout',\n module: Permissions.Payout.module,\n subMenu: [...Pay_Out],\n },\n\n {\n id: 4,\n name: 'Cipher Connect',\n is_active: 1,\n icon: `\n \n \n \n \n \n \n `,\n routeUrl: 'banking',\n module: Permissions.ConnectedBanking.module,\n },\n {\n id: 6,\n name: 'User Management',\n is_active: 1,\n icon: `\n \n \n \n \n \n `,\n routeUrl: 'user-management',\n module: Permissions.UserManagement.module,\n subMenu: [...UserManagement]\n },\n\n // {\n // if: 7, name: 'Swagger', is_active: 1, icon: `\n // \n // \n // \n // \n // `, routeUrl: 'swagger-viewer',\n // },\n {\n id: 8,\n name: 'Statements',\n is_active: 1,\n icon: `\n \n \n \n \n`,\n routeUrl: 'statements',\n module: Permissions.Statement.module,\n subMenu: [...Statements],\n },\n\n {\n id: 5,\n name: 'Administration',\n is_active: 1,\n icon: `\n \n \n \n \n \n\n\n `,\n routeUrl: 'administration',\n module: Permissions.Administrator.module,\n subMenu: [...ADMINISTRATION],\n },\n\n {\n id: 7,\n name: 'Reseller',\n is_active: 1,\n icon: `\n \n \n \n \n \n \n \n `,\n routeUrl: 'reseller',\n module: Permissions.Reseller.module,\n subMenu: [...RESELLER],\n },\n\n {\n id: 7,\n name: 'Aggregator',\n is_active: 1,\n icon: `\n \n \n \n \n \n \n \n `,\n routeUrl: 'aggregator',\n module: Permissions.Aggregator.module,\n subMenu: [...Aggregator],\n },\n\n {\n id: 7,\n name: 'Cipher UPI Collect',\n is_active: 1,\n icon: ` \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `,\n routeUrl: 'payin',\n module: Permissions.Payin.module\n\n },\n\n // {\n // id: 7, name: 'White List Acc.', is_active: 1, icon: `\n // \n // \n // \n // \n // \n // \n // \n // `, routeUrl: 'white-list-account'\n // },\n\n // {id:5,name:'Risk Management',is_active:1,icon:`\n // \n // \n // \n // \n // \n // \n // \n // \n // `,routeUrl:'risk-management'}\n\n // {\n // id: 3, name: 'Get Started', is_active: 1, icon: `\n // \n // \n // \n // \n // `, routeUrl: 'get-started'\n // },\n] as const;\n\nexport const user_management_tab = [\n {\n id: 1,\n value: 'Beneficary Addition',\n routePath: 'bene-maker-checker',\n icoUrl: `\n \n \n \n \n`,\n },\n {\n id: 2,\n value: 'Connected-Banks',\n routePath: 'bene-payout',\n icoUrl: `\n \n \n \n`,\n },\n] as const;\n\nexport const Single_Transfer_Mode = [\n // {\n // id: 1, value: 'Add Bene', routePath: 'add-bene', icoUrl: `\n // \n // \n // \n // \n // `,\n // },\n {\n id: 2,\n value: 'Beneficiary',\n routePath: 'beneficiary',\n icoUrl: `\n \n \n \n`,\n },\n {\n id: 3,\n value: 'Statements',\n routePath: 'transactions',\n icoUrl: `\n \n \n \n \n \n \n \n`,\n },\n] as const;\n\nexport const MakerBene_Transfer_Mode = [\n {\n id: 1,\n value: 'Non-Authorized-beneficiaries',\n routePath: 'non-authorize-bene',\n icoUrl: `\n \n \n \n \n`,\n },\n {\n id: 2,\n value: 'Authorized-beneficiaries',\n routePath: 'authorize-bene',\n icoUrl: `\n \n \n \n`,\n },\n] as const;\n\nexport const transLimit_Transfer_Mode = [\n {\n id: 1,\n value: 'Account Limit',\n routePath: 'account-limit',\n icoUrl: `\n \n \n \n \n`,\n },\n {\n id: 2,\n value: 'Beneficiary Limit',\n routePath: 'bene-limit',\n icoUrl: `\n \n \n \n`,\n },\n] as const;\n\nexport const MakerPayouts_Transfer_Mode = [\n {\n id: 1,\n value: 'Non-Authorized-Payouts',\n routePath: 'non-authorize-payouts',\n icoUrl: `\n \n \n \n \n`,\n },\n {\n id: 2,\n value: 'Authorized-Payouts',\n routePath: 'authorize-payouts',\n icoUrl: `\n \n \n \n`,\n },\n] as const;\n\nexport const USER_MANAGEMENT = [\n {\n id: 1,\n value: 'Active User',\n },\n {\n id: 2,\n value: 'Inactive Users',\n },\n {\n id: 3,\n value: 'Pending Users',\n },\n] as const;\n\nexport const White_List_Account = [\n {\n id: 1,\n value: 'Account List',\n routePath: '/white-list-account/account-list',\n },\n {\n id: 2,\n value: 'Add Account',\n routePath: '/white-list-account/add-whitelist-account',\n },\n] as const;\nexport const User_Profile_Setting = [\n { id: 1, value: 'Profile Settings', routePath: '/profile/profile-setting' },\n { id: 2, value: 'Notifications', routePath: '/profile/notifications' },\n { id: 3, value: 'Password', routePath: '/profile/password' },\n] as const;\nexport const Bank_List = [\n {\n id: 1,\n name: 'HDFC Bank Corporate(ENet)',\n image: 'assets/assets/img/hdfc-img.png',\n },\n { id: 2, name: 'IndusInd Bank', image: 'assets/assets/img/idus-img.png' },\n {\n id: 3,\n name: 'Punjab National Bank',\n image: 'assets/assets/img/png-img.png',\n },\n { id: 4, name: 'Indian Bank', image: 'assets/assets/img/indain-img.png' },\n {\n id: 5,\n name: 'Union Bank of India',\n image: 'assets/assets/img/ubi-img.png',\n },\n { id: 6, name: 'IDFC FIRST Bank', image: 'assets/assets/img/idfc-img.png' },\n] as const;\n\nexport const Account_Type = [\n { name: 'Saving Account', value: 'saving' },\n { name: 'Current Account', value: 'current' },\n] as const;\n\nexport const Payment_Type = [\n { name: 'Loan Disbursement', value: 'loan_disbursement' },\n { name: 'Claim Disbursement', value: 'claim_disbursement' },\n { name: 'Customer Payout', value: 'customer_payout' },\n { name: 'GST Bill payment', value: 'gst_bill_payment' },\n { name: 'Direct Gov. Taxes', value: 'direct_gov_taxes' },\n { name: 'Customer Duty', value: 'customer_duty' },\n { name: 'Salary Disbursement', value: 'salary_disbursement' },\n { name: 'Vendor', value: 'Vendor' },\n { name: 'GST Bill payment', value: 'gst_bill_payment' },\n { name: 'Direct Gov.Taxes', value: 'direct_gov_taxes' },\n { name: 'Custom Duty Payment', value: 'custom_duty_payment' },\n { name: 'Instant Refunds', value: 'instant_refunds' },\n { name: 'Expence Reimbursement', value: 'expence_reimbursement' },\n { name: 'Others', value: 'others' },\n] as const;\n\nexport const Payment_Mode_With_Type = [\n {\n name: 'Regulatory',\n items: [\n { name: 'Loan Disbursement', value: 'loan_disbursement' },\n { name: 'Claim Disbursement', value: 'claim_disbursement' },\n { name: 'Customer Payout', value: 'customer_payout' },\n { name: 'GST Bill payment', value: 'gst_bill_payment' },\n { name: 'Direct Gov. Taxes', value: 'direct_gov_taxes' },\n { name: 'Customer Duty', value: 'customer_duty' },\n { name: 'Salary Disbursement', value: 'salary_disbursement' },\n ],\n },\n {\n name: 'Non Regulatory',\n items: [\n { name: 'Vendor', value: 'Vendor' },\n { name: 'Custom Duty Payment', value: 'custom_duty_payment' },\n { name: 'Instant Refunds', value: 'instant_refunds' },\n { name: 'Expense Reimbursement', value: 'expence_reimbursement' },\n { name: 'Others', value: 'others' },\n ],\n },\n] as const;\n\nexport const Payment_Mode = [\n { name: 'Regulatory', value: 'Regulatory', id: 1 },\n { name: 'Non-regulatory', value: 'Non-regulatory', id: 2 },\n] as const;\n\nexport const Source_Fund = [\n { name: 'Salary', value: 'salary' },\n { name: 'Business', value: 'business' },\n] as const;\n\nexport const WEEK_DAYS = [\n { name: 'Monday', value: 'Monday' },\n { name: 'Tuesday', value: 'Tuesday' },\n { name: 'Wednesday', value: 'Wednesday' },\n { name: 'Thursday', value: 'Thursday' },\n { name: 'Friday', value: 'Friday' },\n { name: 'Saturday', value: 'Saturday' },\n { name: 'Sunday', value: 'Sunday' },\n] as const;\n\nexport type MODAL_TYPE =\n | 'BENE_BANK_DETAILS_CONFIG'\n | 'BULK_PAYOUT_DETAILS_CONFIG';\ntype CONFIG = {\n [key: string]: Partial;\n};\n\nexport function getConfig(type: MODAL_TYPE): any {\n const CONFIG: CONFIG = {\n BENE_BANK_DETAILS_CONFIG: {\n windowClass: 'modal fade',\n keyboard: false,\n scrollable: false,\n centered: true,\n backdrop: 'static',\n },\n BULK_PAYOUT_DETAILS_CONFIG: {\n windowClass: 'modal fade',\n keyboard: true,\n scrollable: false,\n centered: true,\n // backdrop: 'static'\n },\n };\n\n return CONFIG[type];\n}\n\nexport function getMessages(type) {\n const MESSAGES = {\n BENE_BANK_DETAILS_MSG: {\n title: 'Link your ICICI Bank Current Account',\n title2: 'Approve Integration Connection Request',\n msg: 'No user found for this number, please sign up',\n btnClose: 'No',\n btnConfirm: 'Yes',\n btnCancel: 'Cancel',\n img: 'assets/assets/img/svg/warning.svg',\n },\n BULK_PAYOUT_DETAILS_MSG: {\n title: 'Insufficient Balance',\n msg: `you don't have sufficient amount to proceed this request.`,\n img: 'assets/assets/img/svg/error.svg',\n btnConfirm: 'Ok',\n },\n };\n return MESSAGES[type];\n}\n","import { UntypedFormGroup } from '@angular/forms';\nimport * as moment from 'moment';\n\n\n// function to allowed maximum number\nexport function maxNumToBeAllowed(event, maxLen) {\n if (event.target.value.length >= maxLen) {\n return false;\n }\n return true;\n};\nexport function validateNumber(event) {\n const keyCode = event.keyCode;\n\n const excludedKeys = [8, 37, 39, 46];\n\n if (!((keyCode >= 48 && keyCode <= 57) ||\n (keyCode >= 96 && keyCode <= 105) ||\n (excludedKeys.includes(keyCode)))) {\n event.preventDefault();\n }\n}\n// function to check account and confirm account number\nexport function ConfirmedValidator(controlName: string, matchingControlName: string): any {\n return (formGroup: UntypedFormGroup) => {\n let control = formGroup.controls[controlName];\n // console.log(control)\n const matchingControl = formGroup.controls[matchingControlName];\n // console.log(matchingControl)\n if (matchingControl.errors && !matchingControl.errors['confirmedValidator']) {\n return;\n };\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ confirmedValidator: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n};\n\n\n// function to check age and set error validation if age doesn't satisfied the condition\nexport function minimumAge(age: number, controlName: string) {\n return (fg: UntypedFormGroup) => {\n let result = fg.controls[controlName];\n let selectedDate: Date = new Date(result.value);\n\n if (!selectedDate) {\n return\n }\n\n if (selectedDate) {\n let selected = {\n year: selectedDate.getFullYear(),\n month: selectedDate.getMonth(),\n day: selectedDate.getDay()\n }\n const value: { year: any, month: any, day: any } = selected;\n\n const date = moment({ year: +value.year, month: (+value.month), day: +value.day }).startOf('day');\n if (date.isValid()) {\n const now = moment().startOf('day');\n const yearsDiff = date.diff(now, 'years'); // here using moment js to get difference between the dates\n if (yearsDiff > -age) {\n result.setErrors({ minimumAge: true });\n } else {\n result.setErrors(null);\n }\n }\n }\n };\n};\n\n// function to generate random numbers\nexport function getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport function genString(length) {\n var times = length;\n var key = '';\n while (times > 0) {\n times--;\n key += getRandomInt(0, 9);\n }\n return key;\n}\n\nexport function chekValueIsNumberOrNot(val) {\n return /^-?\\d+$/.test(val);\n}\nexport function validateEmail(email) {\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{3,}))$/;\n return re.test(email);\n}\n\n\nexport function parseData(data: any, column:any) {\n let name = column.name;\n let final: any = undefined;\n if(name.includes('.')) {\n try {\n let keys = name.split('.');\n let temp: any = data;\n keys.forEach(key => {\n temp = temp[key];\n });\n let values = data[column.name + 'Values'] ?? column.values;\n if(values) {\n for (let key in values) {\n if(key == temp) {\n final ??= values[key];\n }\n }\n }\n final ??= temp;\n }\n catch (e) {\n return '';\n }\n }\n let values = data[column.name + 'Values'] ?? column.values;\n if(values)\n final ??= values[data[name]] ?? data[name] ?? '';\n final ??= data[name] ?? '';\n if(typeof final === 'object') {\n final = final['name'];\n }\n\n return final;\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\n\n\n@Component({\n selector: 'app-dynamic-search',\n templateUrl: './dynamic-search.component.html',\n styleUrls: ['./dynamic-search.component.scss']\n})\nexport class DynamicSearchComponent {\n @Output() searchEvent = new EventEmitter();\n searchForm: FormGroup;\n appliedFilters: { name: string, value: string, values?:any}[] = [];\n\n private _defaultFilters: any = undefined;\n private _filters: any = {};\n @Input() set filters(value: any) {\n this._defaultFilters ??= value;\n this._filters = value;\n }\n get filterOptions(): any {\n return this._filters;\n }\n\n constructor(private formBuilder: FormBuilder) {\n this.searchForm = this.formBuilder.group({\n selectedFilter: [''],\n filterValue: ['']\n });\n\n this.searchForm.controls['selectedFilter'].valueChanges.subscribe((value: any) => {\n this.selectedFilter = this.filterOptions.find((item: any) => {\n return item.name === this.searchForm.controls['selectedFilter'].value;\n });\n });\n }\n\n onSearch() {\n const selectedFilter = this.searchForm.controls['selectedFilter'].value;\n const filterValue = this.searchForm.controls['filterValue'].value;\n\n if (selectedFilter && filterValue) {\n const newFilter = { name: selectedFilter, value: filterValue, values: this.selectedFilter.values };\n this.appliedFilters.push(newFilter);\n\n this.filters = this._filters.filter((item: any) => {\n return item.name !== selectedFilter;\n });\n this.searchEvent.emit({ filters: this.appliedFilters });\n console.log(this.appliedFilters);\n this.searchForm.reset();\n this.searchForm.controls['selectedFilter'].setValue(this._filters[0].name);\n }\n else {\n console.log(selectedFilter, filterValue)\n }\n }\n refreshFilters() {\n this.filters = this._defaultFilters;\n this.appliedFilters.forEach((filter: any) => {\n this.filters = this._filters.filter((item: any) => {\n return item.name !== filter.name;\n });\n });\n this.searchForm.controls['selectedFilter'].setValue(this._filters[0].name);\n }\n\n removeFilter(index: number) {\n this.appliedFilters.splice(index, 1);\n this.refreshFilters();\n this.searchEvent.emit({ filters: this.appliedFilters });\n }\n\n selectedFilter: any;\n}\n","\n
\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n \n {{ filter.name }}: {{ filter.values[filter.value] }}\n \n\n \n {{ filter.name }}: {{ filter.value }}\n \n \n
\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SharedModule } from '@shared/shared.module';\nimport { DynamicSearchComponent } from './common/dynamic-search/dynamic-search.component';\n\n\n\n@NgModule({\n declarations: [\n DynamicSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n SharedModule,\n ReactiveFormsModule,\n ],\n exports: [DynamicSearchComponent]\n})\nexport class CoreModule { }\n","import { AfterViewInit, Component, ElementRef, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonService } from '@core/services/common.service';\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\nimport { CustConfg } from './ngx-datePicker-CustConfg';\n\n@Component({\n selector: 'app-custom-datepicker',\n templateUrl: './custom-datepicker.component.html',\n styleUrls: ['./custom-datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomDatepickerComponent),\n multi: true,\n },\n ],\n})\nexport class CustomDatepickerComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n @Input('datepickerType') datepickerType?: 'bsDaterangepicker' | 'bsDatepicker' = 'bsDaterangepicker';\n\n @ViewChild('rangePicker') rangePicker: any;\n // @Output() onDateSelect: EventEmitter = new EventEmitter();\n // selectdate: FormControl = new FormControl()\n @Input('bsCustConfg') bsCustConfg?: Partial\n @Input() dateFormate?: string;\n @Input() class: any = '';\n @Input() showDateFormate?: string;\n @Input() minDate?: Date;\n @Input() maxDate?: Date;\n @Input() connectedBanking: any;\n @Input() placeholder?: string = 'Select Date';\n @Input() previousNext?: boolean = false;\n @Output() showDateFormateValue: EventEmitter = new EventEmitter();\n // @HostBinding('class')\n protected _class = this.class;\n // minDate: Date;\n // maxDate: Date = new Date();\n _bsCustConfg: any = CustConfg;\n\n input: any = null;\n\n item: any = null;\n isFirst: boolean = true;\n bsValue = new Date();\n connectedValue: any;\n\n constructor(\n private _CommonService: CommonService,\n private ele: ElementRef\n ) {\n console.log(\"bs config \", this.bsCustConfg)\n console.log(\"class \", this._class)\n // console.log(\"CustConfg config \", CustConfg, this.connectedBanking)\n\n }\n\n ngOnInit(): void {\n if (this.bsCustConfg) {\n this._bsCustConfg = {\n ...CustConfg,\n ...this.bsCustConfg\n }\n }\n\n }\n ngAfterViewInit(): void {\n // setTimeout(() => {\n // }, 1);\n\n setTimeout(() => {\n // console.log((this.ele.nativeElement));\n // console.log(this.class);\n // console.log((this.rangePicker as ElementRef).nativeElement);\n // console.log((this.rangePicker._elementRef.nativeElement));\n const l = this.class.split(' ').forEach((e: any) => {\n // console.log(e);\n\n (this.rangePicker._elementRef.nativeElement).classList.add(e)\n })\n // ((this.rangePicker as ElementRef).nativeElement as HTMLElement).setAttribute('class', this.class)\n }, 1);\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes['connectedBanking']){\n this.connectedValue = changes['connectedBanking']?.currentValue\n\n }\n }\n\n onDateRangePickerShow() {\n // This is a workaround to show previous month\n\n var prevMonth = new Date();\n if (this.datepickerType == 'bsDaterangepicker') {\n prevMonth.setMonth(prevMonth.getMonth() - 1);\n }\n\n else if (this.datepickerType == 'bsDatepicker' && !this.connectedValue) {\n prevMonth.setMonth(prevMonth.getMonth());\n }\n else if (this.datepickerType == 'bsDatepicker' && this.connectedValue) {\n prevMonth.setMonth(prevMonth.getMonth() + 1);\n }\n\n this.rangePicker._datepicker.instance.monthSelectHandler({\n date: prevMonth,\n });\n }\n\n dateRangeTransform(v) {\n\n let dt: any;\n if (!v) {\n return\n }\n console.log(v);\n\n if (this.dateFormate) {\n dt = [\n this._CommonService.getTransformDate(v[0], this.dateFormate),\n this._CommonService.getTransformDate(v[1], this.dateFormate)\n ];\n }\n // console.log(dt);\n\n if (this.showDateFormate) {\n let dta: any;\n dta = [\n this._CommonService.getTransformDate(v[0], this.showDateFormate),\n this._CommonService.getTransformDate(v[1], this.showDateFormate)\n ];\n // console.log(dta);\n\n this.showDateFormateValue.emit(dta);\n }\n setTimeout(() => {\n\n this.onChange(this.dateFormate ? dt : v);\n }, 1);\n // this._CommonService.getTransformDate\n }\n\n singleRateTransform(v) {\n let dt: any;\n\n if (!v) {\n return\n }\n if (this.dateFormate && this.input != 'Invalid Date') {\n dt = this._CommonService.getTransformDate(v, this.dateFormate);\n }\n // console.log(dt);\n\n if (this.showDateFormate) {\n let dta: any;\n dta = this._CommonService.getTransformDate(v, this.showDateFormate);\n // console.log(dta);\n this.showDateFormateValue.emit(dta);\n }\n\n setTimeout(() => {\n this.onChange(this.dateFormate ? dt : v);\n this.setFloatingLable();\n }, 1);\n }\n onfocus() {\n if ((this.rangePicker._elementRef.nativeElement).closest('.floating-label')) {\n (this.rangePicker._elementRef.nativeElement).closest('.floating-label').classList.add('fltLbValid');\n }\n }\n onBlur() {\n setTimeout(() => {\n if (!this.input) {\n (this.rangePicker._elementRef.nativeElement).closest('.floating-label').classList.remove('fltLbValid');\n }\n }, 1);\n this.onTouch()\n }\n\n setFloatingLable() {\n let ele = (this.rangePicker._elementRef.nativeElement).closest('.floating-label');\n if (ele) {\n if (!this.input) {\n ele.classList.remove('fltLbValid');\n } else {\n ele.classList.add('fltLbValid');\n\n }\n }\n }\n\n /*ControlValueAccessor Functions */\n\n onChange: any = () => { };\n onTouch: any = () => { };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(input: any) {\n this.input = input;\n\n setTimeout(() => {\n this.setFloatingLable();\n }, 1);\n // let dt: any;\n // console.log(input);\n if (this.datepickerType == 'bsDaterangepicker') {\n this.dateRangeTransform(input);\n } else if (this.datepickerType == 'bsDatepicker') {\n this.singleRateTransform(input);\n }\n\n // this.onChange(input);\n }\n}\n","\n\n\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomDatepickerComponent } from './custom-datepicker.component';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { SharedModule } from '@shared/shared.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [CustomDatepickerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n BsDatepickerModule.forRoot(),\n ],\n exports: [\n CustomDatepickerComponent\n ]\n})\nexport class CustomDatepickerModule { }\n","import { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\n\nexport var CustConfg: Partial = {\n containerClass: 'theme-green',\n isAnimated: true,\n adaptivePosition: true,\n // selectWeek: true,\n dateInputFormat: 'DD/MM/YYYY',\n showPreviousMonth: false,\n rangeInputFormat: 'D-MMM-YYYY',\n showWeekNumbers: false,\n ranges: [\n {\n value: [new Date(), new Date()],\n label: 'Today',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 1)),\n new Date(new Date().setDate(new Date().getDate() - 1)),\n ],\n label: 'Yesterday',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 7)),\n new Date(),\n ],\n label: 'Last 7 Days',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 30)),\n new Date(),\n ],\n label: 'Last 30 Days',\n },\n {\n value: [new Date(new Date().setDate(1)), new Date()],\n label: 'This Month',\n },\n {\n value: [\n new Date(\n new Date(new Date().setDate(1)).setMonth(new Date().getMonth() - 1)\n ),\n new Date(\n new Date(new Date().setDate(0)).setMonth(new Date().getMonth() - 1)\n ),\n ],\n label: 'Previous Month',\n },\n ],\n};\n\nexport var CustConfg2: Partial = {\n containerClass: 'theme-green',\n isAnimated: true,\n adaptivePosition: true,\n selectWeek: true,\n dateInputFormat: 'D-MMM-YYYY',\n //rangeInputFormat: 'D-MMM-YYYY',\n showWeekNumbers: false,\n ranges: [\n {\n value: [new Date(), new Date()],\n label: 'Today',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 1)),\n new Date(new Date().setDate(new Date().getDate() - 1)),\n ],\n label: 'Yesterday',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 7)),\n new Date(),\n ],\n label: 'Last 7 Days',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 30)),\n new Date(),\n ],\n label: 'Last 30 Days',\n },\n {\n value: [new Date(new Date().setDate(1)), new Date()],\n label: 'This Month',\n },\n {\n value: [\n new Date(\n new Date(new Date().setDate(1)).setMonth(new Date().getMonth() - 1)\n ),\n new Date(\n new Date(new Date().setDate(0)).setMonth(new Date().getMonth() - 1)\n ),\n ],\n label: 'Previous Month',\n },\n ],\n};\n\nexport function getDatepickerConfig(configData: Partial): BsDatepickerConfig {\n\n return Object.assign(new BsDatepickerConfig(), configData ?? {\n containerClass: 'theme-green',\n isAnimated: true,\n adaptivePosition: true,\n\n // selectWeek: true,\n // dateInputFormat: 'YYYY-MM-DD',\n showPreviousMonth: true,\n rangeInputFormat: 'D-MMM-YYYY',\n showWeekNumbers: false,\n ranges: [\n {\n value: [new Date(), new Date()],\n label: 'Today',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 1)),\n new Date(new Date().setDate(new Date().getDate() - 1)),\n ],\n label: 'Yesterday',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 7)),\n new Date(),\n ],\n label: 'Last 7 Days',\n },\n {\n value: [\n new Date(new Date().setDate(new Date().getDate() - 30)),\n new Date(),\n ],\n label: 'Last 30 Days',\n },\n {\n value: [new Date(new Date().setDate(1)), new Date()],\n label: 'This Month',\n },\n {\n value: [\n new Date(\n new Date(new Date().setDate(1)).setMonth(new Date().getMonth() - 1)\n ),\n new Date(\n new Date(new Date().setDate(0)).setMonth(new Date().getMonth() - 1)\n ),\n ],\n label: 'Previous Month',\n },\n ],\n });\n}\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appInputRestriction]',\n})\nexport class InputRestrictionDirective {\n // camelCase\n // lowercase\n // lower-kebab-case\n // lower_snake_case\n // PascalCase\n // Sentencecase\n // UPPERCASE\n // UPPER-KEBAB-CASE\n // UPPER_SNAKE_CASE\n // Title Case\n @Input('appInputRestriction') appInputRestriction!:\n | 'integer'\n | 'alphabets'\n | 'noSpecialChars'\n | 'amount';\n @Input('isSpaceAllow') isSpaceAllow: boolean = false;\n\n arabicRegex = '[\\u0600-\\u06FF]';\n\n constructor(private _el: ElementRef, private _renderer: Renderer2) { }\n\n @HostListener('keypress', ['$event']) onKeyPress(event: KeyboardEvent) {\n\n\n // console.log(((event.target as HTMLInputElement).value).toUpperCase());\n // this._el.nativeElement.value = this._el.nativeElement.value.toUpperCase();\n // this._renderer.setProperty(this._el.nativeElement, 'value', value);\n if (this.appInputRestriction === 'integer') {\n this.integerOnly(event);\n } else if (this.appInputRestriction === 'alphabets') {\n this.alphabetsOnly(event);\n } else if (this.appInputRestriction === 'noSpecialChars') {\n this.noSpecialChars(event);\n }\n }\n\n integerOnly(event: KeyboardEvent) {\n const e = event;\n if (e.key === 'Tab' || e.key === 'TAB') {\n return;\n }\n // if (\n // [46, 8, 9, 27, 13, 110].indexOf(e.keyCode) !== -1 ||\n // // Allow: Ctrl+A\n // (e.keyCode === 65 && e.ctrlKey === true) ||\n // // Allow: Ctrl+C\n // (e.keyCode === 67 && e.ctrlKey === true) ||\n // // Allow: Ctrl+V\n // (e.keyCode === 86 && e.ctrlKey === true) ||\n // // Allow: Ctrl+X\n // (e.keyCode === 88 && e.ctrlKey === true)\n // ) {\n // // let it happen, don't do anything\n // return;\n // }\n let arr = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']\n\n if(this.isSpaceAllow) arr.push('.');\n if (\n arr.indexOf(e.key) === -1\n ) {\n e.preventDefault();\n }\n }\n\n alphabetsOnly(event: KeyboardEvent) {\n const e = event;\n if (e.key === 'Tab' || e.key === 'TAB') {\n return;\n }\n let k;\n k = event.keyCode; // k = event.charCode; (Both can be used)\n if (\n (k > 64 && k < 91) ||\n (k > 96 && k < 123) ||\n k === 8 ||\n (this.isSpaceAllow && k === 32)\n ) {\n return;\n }\n // const ch = String.fromCharCode(e.keyCode);\n // const regEx = new RegExp(this.arabicRegex);\n // if (regEx.test(ch)) {\n // return;\n // }\n e.preventDefault();\n }\n\n noSpecialChars(event: KeyboardEvent) {\n // console.log(event);\n\n const e = event;\n if (e.key === 'Tab' || e.key === 'TAB') {\n return;\n }\n let k;\n k = event.keyCode; // k = event.charCode; (Both can be used)\n if (\n (k > 64 && k < 91) ||\n (k > 96 && k < 123) ||\n k === 8 ||\n (k >= 48 && k <= 57) ||\n (this.isSpaceAllow && k === 32)\n ) {\n return;\n }\n // const ch = String.fromCharCode(e.keyCode);\n // const regEx = new RegExp(this.arabicRegex);\n // if (regEx.test(ch)) {\n // return;\n // }\n e.preventDefault();\n }\n\n @HostListener('paste', ['$event']) onPaste(event: any) {\n let regex: any;\n if (this.appInputRestriction === 'integer') {\n regex = /[0-9\\.]/g;\n } else if (this.appInputRestriction === 'noSpecialChars') {\n regex = /[a-zA-Z0-9 ]/g;\n } else if (this.appInputRestriction === 'alphabets') {\n regex = /[a-zA-Z ]/g;\n }\n\n const e: any = event;\n const pasteData = (e.clipboardData as DataTransfer).getData('text/plain');\n\n let m;\n let matches = 0;\n while ((m = regex.exec(pasteData)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n // The result can be accessed through the `m`-variable.\n m.forEach((match: any, groupIndex: number) => {\n matches++;\n });\n }\n if (matches === pasteData.length) {\n return;\n } else {\n e.preventDefault();\n }\n }\n}\n","import { FormFocusDirective } from './input-form-focus.directive';\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { HideDirective } from './hide.directive'\nimport { inputMaskAadharDirective } from './int-aadhar-mask.directive';\nimport { AbstractDebounceDirective } from './debounce/abstract-debounce.directive';\nimport { ShowNullResultPipe } from '@shared/show-null-result.pipe';\nimport { SrchDbounceDirective } from './debounce/srch-dbounce.directive';\nimport { InputLimitDirective } from './input-limit.directive';\nimport { InvalidDirectiveDirective } from './invalid-directive.directive';\nimport { SearchBoxDirective } from '@shared/components/pytCustTbl/pyt_SearchBox/search-box.directive';\nimport { InputRestrictionDirective } from './InputRestriction/input-restriction.directive';\nimport { UppercaseDirective } from './uppercase/uppercase.directive';\nimport { FocusToNextInputDirective } from './focus-to-next-input.directive';\nimport { CustomTooltipDirective } from '@features/customCDK/customTooltip/custom-tooltip.directive';\nimport { ShowHidePasswordDirective } from './show-hide-password.directive';\nimport { RestricteAutocompleteDirective } from './restricteAutoComplete/restricte-autocomplete.directive';\n\n@NgModule({\n declarations: [\n HideDirective,\n FormFocusDirective,\n inputMaskAadharDirective,\n AbstractDebounceDirective,\n ShowNullResultPipe,\n SrchDbounceDirective,\n InputLimitDirective,\n InvalidDirectiveDirective,\n SearchBoxDirective,\n InputRestrictionDirective,\n UppercaseDirective,\n FocusToNextInputDirective,\n CustomTooltipDirective,\n ShowHidePasswordDirective,\n RestricteAutocompleteDirective,\n ],\n imports: [CommonModule],\n exports: [\n HideDirective,\n FormFocusDirective,\n inputMaskAadharDirective,\n AbstractDebounceDirective,\n ShowNullResultPipe,\n SrchDbounceDirective,\n InputLimitDirective,\n InvalidDirectiveDirective,\n SearchBoxDirective,\n InputRestrictionDirective,\n UppercaseDirective,\n FocusToNextInputDirective,\n CustomTooltipDirective,\n ShowHidePasswordDirective,\n RestricteAutocompleteDirective\n ],\n providers: [],\n})\nexport class CoreDirectivesModule { }\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from \"rxjs/operators\";\n\n@Directive({\n selector: '[appAbstractDebounce]'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Input()\n public minLength: number = 3;\n\n @Output()\n public onEvent: EventEmitter;\n\n protected emitEvent$: Subject;\n protected subscription$: Subject;\n\n constructor() {\n this.debounceTime = 500;\n this.onEvent = new EventEmitter();\n this.emitEvent$ = new Subject();\n this.subscription$ = new Subject();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n\n\n if (value.target.value.length > this.minLength || value.target.value.length === 0) {\n this.onEvent.emit(value);\n }\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n\n}\n","import { Directive, HostListener } from \"@angular/core\";\nimport { AbstractDebounceDirective } from \"./abstract-debounce.directive\";\n@Directive({\n selector: '[appSrchDbounce]'\n})\nexport class SrchDbounceDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener(\"keyup\", [\"$event\"])\n public onKeyUp(event: any): void {\n event.preventDefault();\n //console.log(event);\n\n if (event.keyCode != 32 && event.keyCode != 16 && event.keyCode != 17 && event.keyCode != 18 && event.keyCode != 9) {\n this.emitEvent$.next(event);\n }\n\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appFocusToNextInput]',\n})\nexport class FocusToNextInputDirective {\n @Input() focusAfterLastInput: any = null;\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private _el: ElementRef\n ) {}\n\n @HostListener('keyup', ['$event']) onKeyDown(e: any) {\n\n if (e.keyCode == 9 || e.keyCode == 16) {\n return;\n }\n if (\n e.srcElement.previousElementSibling &&\n (e.keyCode == 8 || e.keyCode == 46)\n ) {\n e.srcElement.previousElementSibling.value = '';\n e.srcElement.previousElementSibling.focus();\n return;\n }\n if (e.srcElement.value.length === 1) {\n e.preventDefault();\n\n // let nextControl: any = e;\n let nextControl: any = e.srcElement.nextElementSibling;\n // let nextControl: any = this._el.nativeElement;\n // Searching for next similar control to set it focus\n\n // while (true) {\n if (nextControl) {\n if (nextControl.type === e.srcElement.type) {\n nextControl.focus();\n return;\n } else {\n // e.blur();\n // nextControl = nextControl.nextElementSibling;\n }\n } else {\n if (document.querySelectorAll(this.focusAfterLastInput)[0]) {\n // this._el.nativeElement.blur();\n document.querySelectorAll(this.focusAfterLastInput)[0].focus();\n }\n return;\n }\n // }\n }\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core'\n\n@Directive({\n selector: '[appHide]',\n})\nexport class HideDirective {\n @Input() set appHide(value: boolean) {\n value\n ? this.renderer2.setStyle(this.elementRef.nativeElement, 'visibility', 'hidden')\n : this.renderer2.removeStyle(this.elementRef.nativeElement, 'visibility')\n }\n\n constructor(protected elementRef: ElementRef, protected renderer2: Renderer2) {}\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n AfterViewInit,\n Input\n } from \"@angular/core\";\n \n @Directive({\n selector: \"form\"\n })\n export class FormFocusDirective implements AfterViewInit {\n @Input('iSFocus')iSFocus:boolean = true;\n focusables = [\"input\", \"select\", \"textarea\"];\n \n constructor(private element: ElementRef) {}\n \n ngAfterViewInit() {\n const input = this.element.nativeElement.querySelector(this.focusables.join(\",\")\n );\n // console.log(\"input\", input)\n if (input && this.iSFocus) {\n input.focus();\n }\n }\n \n @HostListener(\"submit\")\n submit() {\n const input = this.element.nativeElement.querySelector(\n this.focusables.map(x => `${x}.ng-invalid`).join(\",\")\n );\n if (input) {\n input.focus();\n }\n }\n }\n\n\n// import { Directive, Input, ElementRef, HostListener } from '@angular/core';\n// import { BehaviorSubject } from 'rxjs';\n// // import { EnterAsATabService } from '../services/enter-as-a-tab.service';\n// type IKNOWISNUMBER = any;\n// type IKNOWISSTRING = any;\n\n// @Directive({\n// selector: '[autoFocus]',\n// })\n// export class FormFocusDirective {\n// selectedInput: BehaviorSubject = new BehaviorSubject(1);\n// private _index!: number;\n// get index(): IKNOWISNUMBER {\n// return this._index;\n// }\n// @Input('appEnterAsATab')\n// set index(i: IKNOWISSTRING) {\n// this._index = parseInt(i);\n// }\n// @HostListener('keydown', ['$event'])\n// onInput(e: any) {\n// if (e.which === 13) {\n// this.selectedInput.next(this.index + 1);\n// e.preventDefault();\n// }\n// }\n// constructor(private el: ElementRef) {}\n\n// ngOnInit() {\n// this.selectedInput.subscribe((i) => {\n// if (i === this.index) {\n// if (this.el.nativeElement.type == 'text'|| this.el.nativeElement.type == \"select-one\") {\n// this.el.nativeElement.focus();\n// }\n// if (this.el.nativeElement.type == 'submit') {\n// this.el.nativeElement.focus();\n// this.el.nativeElement.click();\n// }\n// if (this.el.nativeElement.type == 'submit' && this.el.nativeElement.id == 'final' ) {\n// this.el.nativeElement.focus();\n// setTimeout(() => {\n// this.selectedInput.next(1);\n// }, 500);\n// }\n \n// }\n// });\n// }\n// }\n ","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appInputLimit]'\n})\nexport class InputLimitDirective {\n @Input('maxDigits') maxDigits: any = 4;\n\n constructor(private renderer: Renderer2, private el: ElementRef) { \n this.renderer.setProperty(this.el.nativeElement, 'maxLength', '9'.repeat(this.maxDigits));\n }\n\n @HostListener('keydown', ['$event']) onKeydown(e: any) {\n // console.log(\"event fire\");\n \n const limit = +this.maxDigits;\n if (e.keyCode > 47 && e.keyCode < 127) {\n if (e.target.value.length === limit) { e.preventDefault(); }\n }\n }\n\n\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\n\n@Directive({\n selector: '[inputMaskAadhar]',\n})\n\nexport class inputMaskAadharDirective {\n\n tempAdhar: any\n d: number[][];\n p: number[][];\n\n count = 1;\n tempData = null;\n\n @Output() addharNumber: EventEmitter = new EventEmitter();\n\n\n constructor(private el: ElementRef) {\n this.d = [\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],\n [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],\n [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],\n [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],\n [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],\n [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],\n [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],\n [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],\n [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]\n ];\n\n // permutation table p\n this.p = [\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],\n [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],\n [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],\n [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],\n [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],\n [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],\n [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]\n ];\n }\n\n @HostListener('input', ['$event']) onInput(_event: any) {\n setTimeout(() => {\n this.change(this.el.nativeElement.value)\n }, 100)\n }\n\n private change(value: any) {\n switch (value.length) {\n case 1:\n this.tempAdhar = value\n this.el.nativeElement.value = value.split(value).join('X')\n break;\n case 2:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(1))\n this.el.nativeElement.value = value.split(value).join('XX')\n break;\n case 3:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(2))\n this.el.nativeElement.value = value.split(value).join('XXX')\n break;\n case 4:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(3))\n this.el.nativeElement.value = value.split(value).join('XXXX')\n break;\n case 5:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(4))\n this.el.nativeElement.value = value.split(value).join('XXXXX')\n break;\n case 6:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(5))\n this.el.nativeElement.value = value.split(value).join('XXXXXX')\n break;\n case 7:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(6))\n this.el.nativeElement.value = value.split(value).join('XXXXXXX')\n break;\n case 8:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(7))\n this.el.nativeElement.value = value.split(value).join('XXXXXXXX')\n break;\n case 9:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(8))\n break;\n case 10:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(9))\n break;\n case 11:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(10))\n break;\n case 12:\n this.tempAdhar = this.tempAdhar?.concat(value.substring(11))\n break;\n }\n this.isValidUidaiNumber(this.tempAdhar)\n }\n\n // validates checksum\n validate(array: any) {\n var c = 0;\n var invertedArray = this.invArray(array);\n var has_only_numbers = !invertedArray.some(isNaN);\n if (has_only_numbers == false) {\n return false;\n } else {\n for (var i = 0; i < invertedArray.length; i++) {\n c = this.d[c][this.p[(i % 8)][invertedArray[i]]];\n }\n return (c === 0);\n }\n }\n\n // converts string or number to an array and inverts it\n invArray(array: any) {\n if (Object.prototype.toString.call(array) === \"[object Number]\") {\n array = String(array);\n }\n if (Object.prototype.toString.call(array) === \"[object String]\") {\n array = array.split(\"\").map(Number);\n }\n return array.reverse();\n }\n isValidUidaiNumber(aadhaar_no: any): void {\n if (aadhaar_no.length != 12 || aadhaar_no.startsWith('0') || aadhaar_no.startsWith('1')) {\n this.addharNumber.emit(false);\n } else {\n const addharNumber: any = this.validate(aadhaar_no);\n this.addharNumber.emit(addharNumber? aadhaar_no: false);\n }\n }\n\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: '[invalid]'\n})\nexport class InvalidDirectiveDirective implements OnInit, OnDestroy {\n subscription$: any;\n @Input(\"invalid\") invalid: boolean = false;\n constructor(private control: NgControl, private el: ElementRef) { }\n ngOnInit() {\n this.subscription$ =\n (this.control as any).statusChanges.subscribe(res => {\n\n this.el.nativeElement.setCustomValidity(res == \"INVALID\" ? \"error\" : \"\");\n });\n\n if (this.invalid && this.control.invalid)\n this.el.nativeElement.setCustomValidity(\"error\");\n }\n ngOnDestroy() {\n this.subscription$.unsubscribe();\n }\n}\n","import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: 'form'\n})\nexport class RestricteAutocompleteDirective implements OnInit {\n\n constructor(private _ElementRef: ElementRef, private _Renderer2: Renderer2) {\n const INPUT = this._Renderer2.createElement('INPUT');\n // \n this._Renderer2.setAttribute(this._ElementRef.nativeElement, 'autocomplete', 'false');\n this._Renderer2.setStyle(INPUT, 'display', 'none');\n this._Renderer2.setAttribute(INPUT, 'type', 'text');\n this._Renderer2.setAttribute(INPUT, 'autocomplete', 'false');\n this._Renderer2.setAttribute(INPUT, 'name', 'hidden');\n this._Renderer2.insertBefore(this._ElementRef.nativeElement, INPUT, this._ElementRef.nativeElement.firstChild)\n }\n\n ngOnInit(): void {\n\n }\n}\n","import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appShowHidePassword]'\n})\nexport class ShowHidePasswordDirective {\n\n // constructor(\n // private ele: ElementRef,\n // private renderr2: Renderer2\n // ) { }\n\n // ngOnInit(): void {\n // console.log(this.ele);\n\n // }\n private _shown = false;\n\n constructor(private el: ElementRef) {\n const parent = this.el.nativeElement.parentNode;\n const span = document.createElement('span');\n span.classList.add('pw-eye');\n span.innerHTML = '';\n span.addEventListener('click', () => {\n this.toggle(span);\n });\n parent.appendChild(span);\n }\n\n toggle(span: HTMLElement) {\n this._shown = !this._shown;\n if (this._shown) {\n this.el.nativeElement.setAttribute('type', 'text');\n span.innerHTML = ``;\n } else {\n this.el.nativeElement.setAttribute('type', 'password');\n span.innerHTML = ``;\n }\n }\n}\n","import { A, Z } from '@angular/cdk/keycodes';\nimport {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n OnInit,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n@Directive({\n selector: '[appUppercase]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => UppercaseDirective),\n multi: true,\n },\n ],\n})\nexport class UppercaseDirective implements ControlValueAccessor {\n /** implements ControlValueAccessorInterface */\n _onChange!: ((_: any) => void);\n\n /** implements ControlValueAccessorInterface */\n _touched!: (() => void);\n\n constructor(@Self() private _el: ElementRef, private _renderer: Renderer2) {}\n\n /** Trata as teclas */\n @HostListener('keyup', ['$event'])\n onKeyDown(evt: KeyboardEvent) {\n // console.log('ddd');\n\n const keyCode = evt.keyCode;\n const key = evt.key;\n if (keyCode >= A && keyCode <= Z) {\n const value = this._el.nativeElement.value.toUpperCase();\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n this._onChange(value);\n evt.preventDefault();\n }else{\n this._onChange(this._el.nativeElement.value);\n\n }\n }\n\n @HostListener('blur', ['$event'])\n onBlur() {\n this._touched();\n }\n\n /** Implementation for ControlValueAccessor interface */\n writeValue(value: any): void {\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\n }\n\n /** Implementation for ControlValueAccessor interface */\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implementation for ControlValueAccessor interface */\n registerOnTouched(fn: () => void): void {\n this._touched = fn;\n }\n\n /** Implementation for ControlValueAccessor interface */\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._el.nativeElement, 'disabled', isDisabled);\n }\n}\n","\n\nexport enum ToasterIcon {\n error = 'toast-error',\n info = 'toast-info',\n success = 'toast-success',\n warning = 'toast-warning',\n}\n\nexport enum ToasterPosition {\n topRight = 'toast-top-right',\n topLeft = 'toast-top-left',\n bottomRight = 'toast-bottom-right',\n bottomLeft= 'toast-bottom-left',\n centerRight = \"toast-top-center\",\n // center = \"toast-top-center\"\n \n // Other positions you would like\n }\n\n ","import { LoaderService } from '@core/services/loader.service';\n\nimport { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment'\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport Swal from 'sweetalert2';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\n// import { LocationService } from '@core/services/location.service';\nimport { CryptoService } from '@core/services/crypto.service';\nimport { CommonSubjectService } from 'src/app/services/common-subject.service';\n\n\n@Injectable()\nexport class HttpInterceptorInterceptor implements HttpInterceptor {\n\n loginSession: string;\n fetchsServiceToken: any;\n latitude: any;\n longitude: any;\n returnData: any;\n form_keys: any;\n\n secureCall: boolean = false;\n\n private requests: HttpRequest[] = [];\n\n\n constructor(\n private loader: LoaderService,\n private authCoreService: AuthCoreService,\n private sessionStorage: SessionStorageService,\n private toaster: NgxToasterService,\n // private locationService: LocationService,\n private crypto: CryptoService,\n private _CommonSubjectService: CommonSubjectService,\n ) {\n // this.locationService.geterLocation.subscribe({\n // next: (value: any) => {\n // this.longitude = value?.long;\n // this.latitude = value?.lat;\n // }\n // })\n // let letLang: any = this.locationService.seterLocation.getValue()\n // this.longitude = letLang.long;\n // this.latitude = letLang?.lat;\n }\n\n removeRequest(req: HttpRequest) {\n\n // const isLoader: any = req.headers.get('isLoader') == 'true' ? true : false;\n const i = this.requests.indexOf(req);\n if (i >= 0) {\n this.requests.splice(i, 1);\n }\n this.loader.isLoading.next(this.requests.length > 0);\n }\n\n intercept(request: HttpRequest | any, next: HttpHandler): Observable> {\n\n // this.secureCall = this.authCoreService.encrypted ?? true;\n this.secureCall = this._CommonSubjectService.encrypted?.value ?? true;\n this.requests.push(request);\n\n if (request.headers['lazyUpdate']) {\n this.form_keys = request.headers['lazyUpdate'][0].value;\n }\n\n\n if (this.latitude) { }\n\n // this.loader.show();\n this.loader.isLoading.next(true);\n\n if (request.url.indexOf(`${environment.corporateBaseUrl}company/list`) > -1) {\n var headers = new HttpHeaders({})\n } else {\n let session: any = ''\n this.loginSession = ''\n session = this.sessionStorage.getItem('userDetails');\n // console.log(session)\n if (session) {\n this.loginSession = JSON.parse(session).authtoken; // getting login session to set in headers\n }\n\n var headers = new HttpHeaders({ // adding login session in api's header\n 'Authorization': this.loginSession ? 'Bearer ' + this.loginSession : '',\n 'token': '22509F2AE7BA71E4C3FB32AB94B6CEA8',\n })\n\n }\n // if (request.url.indexOf(`${environment.corporateBaseUrl}kyc/pan-ocr`) > -1) {\n // var headers = new HttpHeaders({ // adding login session in api's header\n // 'Authorization': 'Bearer' + this.loginSession,\n // 'token': '22509F2AE7BA71E4C3FB32AB94B6CEA8',\n // })\n // }\n\n\n let shouldEncrypt: boolean = true;\n let body = {};\n\n if (request.body instanceof FormData) {\n // request.clone({\n // body: request.body.append('latitude', this.latitude)\n // })\n // request.clone({\n // body: request.body.append('longitude', this.longitude)\n // })\n for (let key of request.body.keys()) {\n if (key == 'encrypt') {\n shouldEncrypt = false;\n request.body.delete('encrypt');\n break;\n }\n body[key] = request.body.get(key);\n }\n } else {\n body = request.body;\n }\n\n if (shouldEncrypt && this.secureCall) {\n request.body = body;\n request.body = this.crypto.encrypt(request.body);\n }\n\n const requestmod = request.clone({\n headers\n });\n return new Observable(observer => {\n const subscription = next.handle(requestmod).subscribe(\n {\n next: (event) => {\n if (event instanceof HttpResponse) {\n // this.loader.hidden(false);\n\n let shouldDecrypt = shouldEncrypt;\n // this.loader.hide();\n if (shouldDecrypt && this.secureCall) {\n event = event.clone({\n body: this.crypto.decrypt(JSON.stringify(event.body))\n })\n }\n if (event.status !== 400 && event.status !== 401) {\n observer.next(event);\n } else {\n this.authCoreService.logout();\n this.authCoreService.isSessionTimeOut.next(true);\n const Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n })\n Toast.fire({\n icon: 'warning',\n title: 'Session Expired!!'\n })\n }\n this.removeRequest(request);\n\n }\n },\n error: (err) => {\n this.removeRequest(request);\n\n // this.loader.hide();\n // console.log(err);\n let shouldDecrypt = shouldEncrypt;\n // this.loader.hide();\n if (shouldDecrypt && this.secureCall) {\n err['error'] = this.crypto.decrypt(JSON.stringify(err['error']))\n }\n if (err.error.statuscode == 400 || err.error.statuscode == 401 || err.error.statuscode == 520) {\n this.authCoreService.logout(false);\n } else if (err.error.statuscode == 422) {\n\n for (const key in err.error.errors) {\n const element = err.error.errors[key];\n if (this.form_keys) {\n this.form_keys.get(key)?.setErrors({ 'dynError': element.split(' {\n this.removeRequest(request);\n\n // this.loader.hidden(false);\n // this.loader.hide();\n observer.complete();\n }\n }\n );\n // remove request from queue when cancelled\n return () => {\n this.removeRequest(request);\n\n subscription.unsubscribe();\n };\n });\n\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'ceiling',\n})\nexport class CeilingPipe implements PipeTransform {\n transform(value: number): number {\n return Math.ceil(value)\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n\n transform(items: any[], filter: string): any[] {\n if (!items) return [];\n if (!filter) return items;\n\n return items.filter((item) => {\n return Object.keys(item).some((key) => {\n return String(item[key]).toLowerCase().includes(filter.toLowerCase());\n });\n });\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'getFirstLetter'\n})\nexport class GetFirstLetterPipe implements PipeTransform {\n\n transform(value: string, ...args: unknown[]): string {\n let strStack: string[] = value.split(\" \");\n let ttlStr: string = '';\n strStack.forEach((e: string) => {\n ttlStr = ttlStr + e.slice(0, 1);\n })\n ttlStr = ttlStr.slice(0, 2);\n return ttlStr;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {formatCurrency} from \"@angular/common\";\n\n@Pipe({\n name: 'inr'\n})\nexport class InrPipe implements PipeTransform {\n\n transform(value: number | string | undefined, ...args: any[]): string {\n if (value == undefined) {\n return '';\n }\n if (typeof value === 'string') {\n let v = parseFloat(value);\n if (isNaN(v)) {\n return value;\n }\n value = v;\n }\n return value.toLocaleString('en-in', {style: 'currency', currency: 'INR'});\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'maskContactNumber',\n})\nexport class MaskContactNumberPipe implements PipeTransform {\n\n transform(data) {\n if(data.length == 10){\n return data.replace(/\\d(?=\\d{4})/g, \"*\");\n }else{\n let splitData=data.split('@');\n return this.maskValue(splitData[0].split(''))+'@'+splitData[1];\n }\n }\n maskValue(x){\n let y:string[]=[];\n x.forEach((element,index) => {\n if(index<(x.length/2)){\n y.push('*');\n }else{\n y.push(element);\n }\n });\n return y.join('');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {CommonService} from \"@core/services/common.service\";\n\n@Pipe({\n name: 'numberToWord'\n})\nexport class NumberToWordPipe implements PipeTransform {\n\n constructor(private commonService: CommonService) {\n }\n transform(value: any, ...args: unknown[]): string {\n return this.commonService.convertNumberToWords(value);\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { SpreadIntoArrayPipe } from '@core/pipes/spread-into-array/spread-into-array.pipe'\nimport { CeilingPipe } from './ceiling/ceiling.pipe'\nimport { MaskContactNumberPipe } from './masking/mask-contact-no.pipe'\nimport { SafeUrlPipe } from './safe-url/safe-url.pipe';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { FilterPipe } from './filter/filter.pipe';\nimport { ShringAmountPipe } from './shringAmount/shring-amount.pipe';\nimport { ReplacePipe } from './replace.pipe';\nimport { GetFirstLetterPipe } from './getFirstLetter/get-first-letter.pipe';\nimport { RemoveEspecialSymbolPipe } from './remove-especial-symbol.pipe';\nimport { NumberToWordPipe } from './number-to-word.pipe';\nimport { InrPipe } from './inr.pipe'\n\n@NgModule({\n declarations: [SafeUrlPipe, SpreadIntoArrayPipe, CeilingPipe, MaskContactNumberPipe,\n SafeHtmlPipe, FilterPipe, ShringAmountPipe, ReplacePipe, GetFirstLetterPipe, RemoveEspecialSymbolPipe, NumberToWordPipe, InrPipe],\n imports: [CommonModule],\n exports: [SafeUrlPipe, SpreadIntoArrayPipe, CeilingPipe, MaskContactNumberPipe, SafeHtmlPipe,\n FilterPipe, ShringAmountPipe, ReplacePipe, GetFirstLetterPipe, RemoveEspecialSymbolPipe, NumberToWordPipe, InrPipe],\n providers: [],\n})\nexport class PipesModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'removeEspecialSymbol'\n})\nexport class RemoveEspecialSymbolPipe implements PipeTransform {\n\n transform(value: any, ...args: unknown[]): unknown {\n // console.log(\"pipe \",value)\n return value === undefined ? '' : value.replace(/[`~!@#$%^&*()_|+\\-=?;:'\",.<>\\{\\}\\[\\]\\\\\\/]/gi, ' ');\n ;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'replace'\n})\nexport class ReplacePipe implements PipeTransform {\n\n transform(value: unknown, ...args: unknown[]): unknown {\n let val: any = value;\n // console.log(\"replace pipe \", val.replace(/ /g,\"_\"))\n return val.replace(/ /g,\"_\");\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) { }\n transform(value: string): SafeHtml {\n\n return this._sanitizer.bypassSecurityTrustHtml(value);\n\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\nimport { DomSanitizer } from '@angular/platform-browser'\n\n@Pipe({\n name: 'safeUrl',\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url)\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'shringAmount'\n})\nexport class ShringAmountPipe implements PipeTransform {\n static instance: ShringAmountPipe;\n constructor(){\n // ShringAmountPipe.instance = this\n }\n\n transform(value: any, cs?: any): any {\n // console.log(\"pipe val \", value);\n\n\n var val: any = Math.abs(value);\n\n if (val >= 10000000) {\n val = (val / 10000000).toFixed(2) + ' Cr';\n }\n else if (val >= 100000) {\n val = (val / 100000).toFixed(2) + ' Lac';\n }\n else if (val >= 1000) {\n // val = 'Rs.' +(val).toFixed(2) ;\n val = Math.round(val);\n }\n if (value < 0) {\n if (typeof val === 'string') {\n return '-' + val;\n }\n\n return -Math.abs(val);\n }\n return val;\n };\n\n\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'spreadIntoArray',\n})\nexport class SpreadIntoArrayPipe implements PipeTransform {\n transform(value: number, startIndex = 0): number[] {\n const result: number[] = []\n for (let i = startIndex; i < value; i++) {\n result.push(i + 1)\n }\n\n return result\n }\n}\n","import { environment } from 'src/environments/environment';\nimport { catchError, Observable, retry, throwError } from 'rxjs';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CommonSubjectService } from 'src/app/services/common-subject.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiRequestService {\n\n constructor(private http: HttpClient,\n private _CommonSubjectService:CommonSubjectService\n ) {\n }\n\n // function to perform post operation using formData type payload and header\n postdata(payload: any, path: any): Observable {\n let headers = new HttpHeaders()\n if (payload?.form) {\n headers = headers.set('from', payload.form);\n }\n\n return this.http\n .post(environment.corporateBaseUrl + path['url'], payload?.payload ?? payload, { headers })\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n postdataAdmin(payload: any, path: any): Observable {\n return this.http\n .post(environment.adminBaseUrl + path['url'], payload)\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n\n // Function for get Api\n getdata(path: any): Observable {\n return this.http\n .get(environment.corporateBaseUrl + path['url'])\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n // function to perform post operation using formData type payload and with no header\n postdataWithoutHeader(payload: any, path: any): Observable {\n let headers = new HttpHeaders()\n if (payload?.form) {\n headers = headers.set('from', payload.form);\n }\n return this.http\n .post(environment.corporateBaseUrl + path['url'], payload?.payload ?? payload, { headers })\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n postAdminData(payload: any, path: any, baseUrl?: any): Observable {\n const url = baseUrl? baseUrl+path: environment.adminBaseUrl + path;\n return this.http\n .post(url, payload)\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n postAdminDataReporting(payload: any, path: any, baseUrl?: any): Observable {\n let reporting = this._CommonSubjectService.reporting?.value ;\n path = typeof path === 'object' ? path.url : path\n baseUrl ??= reporting ? environment.apiUrlReporting : environment.baseUrl;\n const url = baseUrl + path;\n return this.http.post(url, payload).pipe(retry(0), catchError(this.errorHandl));\n };\n\n // function to perform post operation using formData type payload and with no header\n postdataForImageUrl(payload: any): Observable {\n return this.http\n .post(environment.imgBaseUrl, payload)\n .pipe(retry(0), catchError(this.errorHandl));\n };\n\n // handling error\n errorHandl(err: any) {\n //console.log(err);\n\n let error: any = '';\n if (err.error instanceof ErrorEvent) {\n error = err.error.message;\n } else {\n error = `Error Code: ${err.status}\\nMessage: ${err.message}`;\n }\n return throwError(() => error)\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { PagesService } from '@page/pages.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class BankListService {\n\n bankList: BehaviorSubject = new BehaviorSubject('');\n bankListForFund: BehaviorSubject = new BehaviorSubject('');\n constructor(private pageService: PagesService) { }\n\n getBankList() {\n // this.loader.hide();\n const formData = new FormData();\n return new Promise((resolve, reject) => {\n this.pageService.getBankList(formData).subscribe((resp: any) => {\n this.bankList.next(resp.data);\n resolve(true)\n })\n });\n }\n\n getBankListForFund() {\n const formData = new FormData();\n return new Promise((resolve, reject) => {\n this.pageService.getBankListForFund(formData).subscribe((resp:any)=>{\n this.bankListForFund.next(resp.data);\n resolve(true)\n })\n });\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport Swal, { SweetAlertOptions, SweetAlertResult } from 'sweetalert2';\n// import html2canvas from 'html2canvas';\n// import jspdf from 'jspdf';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { BehaviorSubject } from 'rxjs';\nimport * as XLSX from 'xlsx';\nimport { ApiRequestService } from './api-request.service';\n\n type IExcelExtensionType = '.xlsx'| '.xls'|'.csv'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonService {\n pageTitle: BehaviorSubject = new BehaviorSubject('');\n subMenu: BehaviorSubject = new BehaviorSubject(null);\n constructor(private _DatePipe: DatePipe,\n @Inject(DOCUMENT) private document: Document,\n private authService: AuthCoreService,\n private _ApiRequestService: ApiRequestService,\n ) { }\n getRequestType() {\n const reqType = {\n 0: \"Cash Deposit\",\n 1: \"NEFT\",\n 2: \"RTGS / IMPS\",\n 3: \"Bank Transfer\",\n 4: \"Cash Pickup\",\n 5: \"Exceptional Request\"\n }\n return reqType;\n };\n\n getRoleType() {\n const reqType = {\n 7: \"Admin\",\n 8: \"Operations\",\n 9: \"Finance\",\n 10: \"Manager\",\n 11: \"Customer Support\"\n }\n return reqType;\n };\n\n getRequestType1() {\n const reqType = [\n { name: \"Cash Deposit\", value: '0' },\n { name: \"NEFT\", value: '1' },\n { name: \"RTGS / IMPS\", value: '2' },\n { name: \"Bank Transfer\", value: '3' },\n { name: \"Cash Pickup\", value: '4' },\n { name: \"Exceptional Request\", value: '5' }\n ]\n return reqType;\n };\n getRequestPaymentMode() {\n const reqType = [\n { name: \"NEFT\", value: '1' },\n { name: \"RTGS\", value: '2' },\n { name: \"IMPS\", value: '3' },\n { name: \"UPI\", value: '4' },\n ]\n return reqType;\n };\n getRAPStatusList() {\n const reqType = {\n 0: \"rejected\",\n 1: \"approved\",\n 2: \"pending\",\n }\n return reqType;\n };\n\n getExcep() {\n const reqType = {\n 0: \"No\",\n 1: \"Yes\",\n }\n return reqType;\n };\n\n\n getStatus() {\n const reqType = {\n 0: \"Rejected\",\n 1: \"Accepted\",\n 2: \"Pending\",\n }\n return reqType;\n };\n\n getPaymentType() {\n const reqType = [\n { name: \"CC\", value: 'Credit Card' },\n { name: \"DC\", value: 'Debit Card' },\n { name: \"NB\", value: 'Net Banking' },\n ];\n return reqType;\n };\n\n // date transformation\n getTransformDate(date: any, formate?: any) {\n formate = formate ?? 'yyyy-MM-dd';\n let dat = new Date(date);\n // console.log(formate);\n let d = this._DatePipe.transform(dat, formate, '+0530');\n switch (formate) {\n case 'yyyy-MM-dd':\n if(dat.getFullYear().toString() != d?.split('-')[0]){\n d = dat.getFullYear().toString() + '-' + d?.split('-')[1] + '-' + d?.split('-')[2];\n }\n break;\n case 'YYYY/MM/dd':\n if(dat.getFullYear().toString() != d?.split('/')[0]){\n d = dat.getFullYear().toString() + '/' + d?.split('/')[1] + '/' + d?.split('/')[2];\n }\n break;\n }\n\n return d;\n }\n\n // FUNCTION TO CHANGE NUMBERS INTO STRING\n convertNumberToWords(amount: any) {\n var words = new Array();\n words[0] = \"\";\n words[1] = \"One\";\n words[2] = \"Two\";\n words[3] = \"Three\";\n words[4] = \"Four\";\n words[5] = \"Five\";\n words[6] = \"Six\";\n words[7] = \"Seven\";\n words[8] = \"Eight\";\n words[9] = \"Nine\";\n words[10] = \"Ten\";\n words[11] = \"Eleven\";\n words[12] = \"Twelve\";\n words[13] = \"Thirteen\";\n words[14] = \"Fourteen\";\n words[15] = \"Fifteen\";\n words[16] = \"Sixteen\";\n words[17] = \"Seventeen\";\n words[18] = \"Eighteen\";\n words[19] = \"Nineteen\";\n words[20] = \"Twenty\";\n words[30] = \"Thirty\";\n words[40] = \"Forty\";\n words[50] = \"Fifty\";\n words[60] = \"Sixty\";\n words[70] = \"Seventy\";\n words[80] = \"Eighty\";\n words[90] = \"Ninety\";\n amount = amount.toString();\n var atemp = amount.split(\".\");\n var number = atemp[0].split(\",\").join(\"\");\n var n_length = number.length;\n var words_string = \"\";\n if (n_length <= 9) {\n var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var received_n_array = new Array();\n for (var i = 0; i < n_length; i++) {\n received_n_array[i] = number.substr(i, 1);\n }\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\n n_array[i] = received_n_array[j];\n }\n for (var i = 0, j = 1; i < 9; i++, j++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n if (n_array[i] == 1) {\n n_array[j] = 10 + parseInt(n_array[j] as any);\n n_array[i] = 0;\n }\n }\n }\n let value;\n for (var i = 0; i < 9; i++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n value = n_array[i] * 10;\n } else {\n value = n_array[i];\n }\n if (value != 0) {\n words_string += words[value] + \" \";\n }\n if (\n (i == 1 && value != 0) ||\n (i == 0 && value != 0 && n_array[i + 1] == 0)\n ) {\n words_string += \"Crores \";\n }\n if (\n (i == 3 && value != 0) ||\n (i == 2 && value != 0 && n_array[i + 1] == 0)\n ) {\n words_string += \"Lakhs \";\n }\n if (\n (i == 5 && value != 0) ||\n (i == 4 && value != 0 && n_array[i + 1] == 0)\n ) {\n words_string += \"Thousand \";\n }\n if (\n i == 6 &&\n value != 0 &&\n (n_array[i + 1] != 0 && n_array[i + 2] != 0)\n ) {\n words_string += \"Hundred and \";\n } else if (i == 6 && value != 0) {\n words_string += \"Hundred \";\n }\n }\n words_string = words_string.split(\" \").join(\" \");\n }\n return words_string;\n };\n\n popWitHtml(options: Partial): Promise {\n let obj: Partial = {\n icon: options.icon ?? 'info', //`'warning'`, `'error'`, `'success'`, `'info'` and `'question'`\n showCloseButton: options.showCloseButton ?? true,\n showCancelButton: options.showCancelButton ?? false,\n focusConfirm: options.focusConfirm ?? false,\n confirmButtonText: options.confirmButtonText ?? 'OK',\n backdrop: options.backdrop ?? !options?.allowOutsideClick,\n allowOutsideClick: options.allowOutsideClick ?? true,\n };\n obj = {\n ...obj,\n ...options,\n };\n // let d: any = Swal;\n // d = Swal.fire(options)\n return Swal.fire(obj);\n }\n\n // const printContent: any = document.getElementById(\"printIt\");\n // html2canvas(printContent).then(canvas => {\n // // Few necessary setting options\n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n\n // const contentDataURL = canvas.toDataURL('image/png')\n // console.log(contentDataURL)\n // let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.save('FILE.pdf'); // Generated PDF\n // });\n\n sideBarOverFlow(req: boolean) {\n this.authService.isSubMenu.next(req);\n this.authService.toggleCols(req)\n }\n\n\n GetSearchArray(header, type: 'order' | 'search') {\n let ret = header?.map((r: any) => {\n if (type === 'order' ? r.isorder : r.issearch) {\n return { name: r.name, value: r.value };\n }\n return;\n });\n ret = ret.filter((r) => r);\n return ret;\n }\n\n DownloadFile(payload:any, url:any, filetype: IExcelExtensionType, fileNames: string, dataFormat:any = 'data.unauth'){\n this._ApiRequestService.postdata(payload, url).subscribe((res: any) => {\n let fileName: any = fileNames + (filetype ?? '.xlsx');\n if (res.statuscode == 200) {\n let mainData: any = [];\n let data: any[] = [];\n const dataMap: { [key: string]: any } = {\n 'nonAuth': res.data.unauth,\n 'auth': res.data.auth\n };\n\n // if(dataFormat.includes('.')) {\n // let split = dataFormat.split('.')\n // // dataMap[split[1]] = res[split[0]][split[1]]\n // data = res[split[0]][split[1]]\n // }else{\n // data = res.data;\n // }\n\n data = dataMap[fileNames] || res.data;\n\n (data ).forEach((e) => {\n let obj: any = {};\n (res.header || res.isheader as []).forEach((l: any) => {\n if (l.is_show) {\n if(l.name.includes('.')) {\n let split = l.name.split('.')\n obj[l.value] = e[split[0]][split[1]];\n }\n else {\n let values = l.values;\n obj[l.value] = values ? (values[e[l.name]] ?? e[l.name]) : e[l.name];\n // obj[l.value] = e[l.name];\n }\n }\n })\n mainData.push(obj);\n })\n\n mainData.forEach((e: any) => {\n for (const key in e) {\n const etype: any = e[key];\n const nmype: any = parseFloat(etype);\n const dtype: any = Date.parse(etype);\n if (key === 'time' || key === 'account_no') { } else\n if (isNaN(etype) && !isNaN(dtype)) {\n } else if (!isNaN(nmype)) {\n e[key] = nmype;\n }\n }\n e['Date & Time'] = this._DatePipe.transform(e['Date & Time'], 'dd-MM-YYYY hh:mm')\n console.log(e);\n\n })\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mainData);\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, fileNames);\n XLSX.writeFile(wb, fileName);\n } else {\n Swal.fire({\n icon: 'error',\n title: res.message,\n });\n }\n });\n\n }\n\n}\n","import { config } from './request-url.service';\nimport { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\nimport { environment } from 'src/environments/environment';\nimport { SessionStorageService } from './session-storage.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class CryptoService {\n\n constructor(\n private sessionStorage: SessionStorageService,\n ) { }\n\n aesEncrypt(data: any) {\n let key = config.aesEnc.key; //length 32\n let iv = config.aesEnc.iv;\n let cipher = CryptoJS.AES.encrypt(JSON.stringify(data), CryptoJS.enc.Utf8.parse(key), {\n iv: CryptoJS.enc.Utf8.parse(iv),\n mode: CryptoJS.mode.CBC,\n });\n return cipher.toString();\n }\n aesDecrypt(data: any) {\n let key = config.aesEnc.key; //length 32\n let iv = config.aesEnc.iv;\n let cipher = CryptoJS.AES.decrypt(data, CryptoJS.enc.Utf8.parse(key), {\n iv: CryptoJS.enc.Utf8.parse(iv),\n mode: CryptoJS.mode.ECB,\n });\n return cipher.toString(CryptoJS.enc.Utf8);\n }\n\n CryptoJSAesJson = {\n stringify: function (cipherParams) {\n let j: any = {ct: cipherParams.ciphertext.toString(CryptoJS.enc.Base64)};\n if (cipherParams.iv) j.iv = cipherParams.iv.toString();\n if (cipherParams.salt) j.s = cipherParams.salt.toString();\n return JSON.stringify(j);\n },\n parse: function (jsonStr) {\n let j: any = JSON.parse(jsonStr);\n let cipherParams = CryptoJS.lib.CipherParams.create({ciphertext: CryptoJS.enc.Base64.parse(j.ct)});\n if (j.iv) cipherParams.iv = CryptoJS.enc.Hex.parse(j.iv)\n if (j.s) cipherParams.salt = CryptoJS.enc.Hex.parse(j.s)\n return cipherParams;\n }\n }\n\n encrypt(data: any) {\n return CryptoJS.AES.encrypt(JSON.stringify(data), this.getKey(), {format: this.CryptoJSAesJson}).toString();\n }\n\n decrypt(body: any) {\n return JSON.parse(CryptoJS.AES.decrypt(body, this.getKey(), {format: this.CryptoJSAesJson}).toString(CryptoJS.enc.Utf8));\n }\n\n private getKey() {\n let session = this.sessionStorage.getItem('userDetails');\n let token;\n if (session) {\n token = JSON.parse(session).authtoken; // getting login session to set in headers\n }\n\n if(!session) {\n return environment.defEncKey;\n }\n let key = token;\n key = key.replace('Bearer ', '');\n key = key.replace(/X/g, 'a');\n key = key.replace(/x/g, 'A');\n key = key.replace(/(.)(.)(.)/g, \"$1$2\");\n\n return key;\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as XLSX from 'xlsx';\n@Injectable()\nexport class ExcelToJsonService {\n processedJsonData: any;\n\n constructor() { }\n\n getJsonFromExcelFn(ev: any) {\n return new Promise((resolve, reject) => {\n if (!ev) {\n reject(Error(\"It broke\"));\n }\n this.processedJsonData = null;\n let workBook: any = null;\n let jsonData = null;\n const reader = new FileReader();\n // const file = ev.target.files[0];\n const file = ev;\n reader.onload = (event) => {\n const data = reader.result;\n workBook = XLSX.read(data, { type: 'binary' });\n jsonData = workBook.SheetNames.reduce((initial: any, name: any) => {\n const sheet = workBook.Sheets[name];\n initial[name] = XLSX.utils.sheet_to_json(sheet);\n return initial;\n }, {});\n const dataString = JSON.stringify(jsonData);\n this.processedJsonData = dataString;\n resolve(this.processedJsonData);\n };\n reader.readAsBinaryString(file);\n });\n }\n\n getExcelFromJson(jsonData: any, fileName: any = 'paysprint') {\n\n fileName = fileName + '.xlsx';\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, fileName);\n }\n}\n","import { ApiRequestService } from '@core/services/api-request.service';\nimport { Injectable, isDevMode } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { SessionStorageService } from './session-storage.service';\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class FileuploadService {\n HttpUploadOptions = {\n headers: new HttpHeaders({ \"Content-Type\": \"multipart/form-data\" })\n }\n endpoint = environment.imgBaseUrl;\n imgToken = environment.imgBaseToken;\n // endpoint = 'https://py.rnfi.in/backend/public/getfilelink';\n constructor(\n private http: HttpClient,\n private sessionStorage: SessionStorageService,\n\n ) {\n // console.log(\" -------upload file service -----------\")\n }\n\n\n uploadFileFn(file: any, unlinkurl?: any): Promise {\n return new Promise((resolve, reject) => {\n const formdata = new FormData();\n formdata.append('token', this.imgToken);\n // formdata.append('token', 'cGFua2FqcmV0YWlsZXIxLzIzLzE2NTA0MzgxNDk=');\n formdata.append('image', file);\n formdata.append('encrypt', 'false');\n if (!isDevMode() && unlinkurl) {\n formdata.append('unlink', unlinkurl);\n }\n\n\n this.http.post(this.endpoint, formdata, this.HttpUploadOptions)\n .subscribe((res: any) => {\n resolve(res);\n });\n\n })\n }\n\n asyncMethod(url: any) {\n // return new Promise((resolve, reject) => {\n// console.log(url);\n\n let session: any = ''\n let loginSession = ''\n session = this.sessionStorage.getItem('userDetails');\n // console.log(session)\n if (session) {\n loginSession = JSON.parse(session).authtoken; // getting login session to set in headers\n }\n\n var headers = new HttpHeaders({ // adding login session in api's header\n 'Authorization': loginSession ? 'Bearer' + loginSession : '',\n 'token': '22509F2AE7BA71E4C3FB32AB94B6CEA8',\n })\n\n const formdata = new FormData();\n\n return this.http.post(environment.corporateBaseUrl+url.url,null, { headers })\n\n // })\n }\n}\n\n","\nimport { Injectable } from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class LoaderService {\n\n public isLoading = new BehaviorSubject(false);\n\n constructor() { }\n\n show() {\n this.isLoading.next(true);\n }\n\n hide() {\n this.isLoading.next(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {SessionStorageService} from \"@core/services/session-storage.service\";\n\n@Injectable(\n {\n providedIn: 'root'\n}\n)\nexport class PermissionServiceService {\n\n permissions: any;\n constructor(private _sessionStorageService: SessionStorageService) { }\n\n\n initPermissions() {\n if(!this._sessionStorageService.getItem('userDetails')) {\n // console.log('here', this.permissions);\n this.permissions = [];\n return []\n };\n this.permissions = JSON.parse(this._sessionStorageService.getItem('userDetails')).permissions;\n // console.log(this.permissions);\n\n return JSON.parse(this._sessionStorageService.getItem('userDetails')).permissions;\n }\n hasModule(module: string | undefined) {\n if(!module) return true;\n this.permissions ??= this.initPermissions();\n if(!this.permissions) return false;\n return this.permissions.some((permission: any) => {\n return permission.module === module;\n });\n }\n\n hasPermission(permission: string | undefined, module?: string) {\n if(!permission) return true;\n this.permissions ??= this.initPermissions();\n\n // console.log(permission)\n if (module) {\n let mod = this.permissions.find((perm: any) => perm.module === module);\n if(mod) {\n return mod.permissions.includes(permission);\n }\n return false;\n }\n if(!this.permissions) return false;\n return this.permissions?.some((perm: any) => {\n return perm.permissions?.includes(permission);\n });\n }\n}\n","// setting urls\nexport const config: any = {\n\n // encrypt and decrypt key\n aesEnc: {\n key: '6fa979f20126cb08aa645a8f495f6d85',\n iv: 'I8zyA4lVhMCaJ5Kg'\n },\n\n // sidebar related Urls\n sidebar: {\n token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9',\n url: 'dashboard/dashboard/getsidebar',\n },\n\n dashboard: {\n transactionList: {\n url: 'recentTransaction'\n },\n\n leadCount: {\n url: 'dashboard'\n },\n bussinessTrends: {\n url: 'businessTrends'\n },\n\n userBalance: {\n url: 'userBalance'\n },\n\n dashboardCount: {\n url: 'dashboad-counts'\n },\n categoryWiseTarget: {\n url: 'category-wise-target'\n },\n\n paymentModeTransfer: {\n url: 'payment-mode-tranfer'\n },\n },\n\n tickler: {\n url: 'auth/tickler'\n },\n\n // Accounts Related URLs\n auth: {\n login: {\n url: 'auth/login',\n },\n\n verifyOtp: {\n url: 'auth/verify'\n },\n\n changePassword: {\n url: 'change-password'\n },\n\n change_user_password: {\n url: 'auth/change-user-password'\n },\n\n updatePassword: {\n url: 'update-password'\n },\n\n logout: {\n url: 'user/logout'\n },\n\n forgetPassword: {\n url: 'auth/user-forgot-password'\n },\n forgetPasswordVerifyOtp: {\n url: 'verifyotp'\n },\n\n permission: {\n url: 'Settings/Permission'\n },\n },\n // Sign up related urls\n SignUp: {\n createUser: {\n url: 'account/create'\n },\n getCompanyList: {\n url: 'user/company-list'\n },\n assignCompany: {\n url: 'account/company'\n },\n assignContact: {\n url: 'account/contact'\n },\n // *******************\n createNewUser: {\n url: 'user/user-unique'\n },\n ValidateOTP: {\n url: 'user/send-otp'\n },\n sendOTP: {\n url: 'user/user-create'\n },\n sendEmail: {\n url: 'send-verifyemail'\n },\n sendEmailOTP: {\n url: 'emailsendverifyotp'\n },\n verifyEmailOTP: {\n url: 'emailverifyotp'\n },\n resellerDetails: {\n url: 'get-reseller-details'\n },\n },\n //Validate otp related Urls\n ValidateOtp: {\n otp: {\n url: 'account/otp'\n },\n },\n // KYC related Urls\n UserKyc: {\n contactDetail: {\n url: 'contact-details'\n },\n gstnDetail: {\n url: 'kyc/get-gstn'\n },\n udyamDetail: {\n url: 'kyc/get-udyam-details'\n },\n shopStateList: {\n url: 'kyc/state-list'\n },\n getShopDetail: {\n url: 'kyc/shop-details'\n },\n addBusinessDetail: {\n url: 'kyc/store-business-details'\n },\n storeUdhyamDetails: {\n url: 'kyc/store-udyam-details'\n },\n\n storeShopDetails: {\n url: 'kyc/store-shop-details'\n },\n\n addStoreUdyamDetail: {\n url: 'kyc/store-udyam-details'\n },\n addStoreShopDetail: {\n url: 'kyc/store-shop-details'\n },\n\n getBankList: {\n url: 'bank/bank-master'\n },\n getBankListForFund: {\n url: 'get-bank-list'\n }\n ,\n chequeOcr: {\n url: 'kyc/bank-ocr'\n }\n ,\n saveBankDetail: {\n url: 'kyc/bank-verify'\n },\n finalKycUpdate: {\n url: 'kyc/final-kyc-update'\n },\n createVirtualAccount: {\n url: 'virtual-account'\n },\n adminKycDetail: {\n url: 'kyc/kyc-details'\n },\n getDocumentList: {\n url: 'kyc/document-list'\n },\n uploadDocument: {\n incorporatepanDetail: {url: 'kyc/pan-ocr'},\n panVerify: {url: 'kyc/pan-verify'},\n coiDetail: {url: 'kyc/coi-verify'},\n gstDetail: {url: 'kyc/gst-ocr'},\n addShopUdyamDoc: {url: 'kyc/udyam-and-otherdoc'},\n moa_aoa_Detail: {url: 'kyc/moa-aoa'},\n boardResolution: {url: 'kyc/board-resolution'},\n\n partnerPanOcr: {url: 'kyc/partner-panocr'},\n partnerPanverify: {url: 'kyc/partner-panverify'},\n aadharOtp: {url: 'kyc/partner-aadharotp'},\n verifyAadharOtp: {url: 'kyc/partner-aadharverify'},\n verifyVoterId: {url: 'kyc/partner-voteridverify'},\n dlverify: {url: 'kyc/partner-dl'},\n ppverify: {url: 'kyc/partner-pp'},\n aadhar_store: {url: 'kyc/aadhar-store'},\n aadhar_ocr: {url: 'kyc/aadhar-ocr'},\n trustDeed: {url: 'kyc/trust-deed-or-mou'},\n byLawsDoc: {url: 'kyc/bylows-verify'},\n llpAgreement: {url: 'kyc/llp-agreement'},\n letterForPerson: {url: 'kyc/aletter-for-aperson'}\n // panDetail:{url:'company/pan'},\n // voterIdDetail:{url:'business/add'},\n },\n resellerRequest: {\n url: 'kyc/reseller-request'\n },\n // fetchPanName: {\n // url: 'document/kyc/pan-fetch'\n // }\n },\n // White List\n WhiteList: {\n addWhiteListBank: {\n url: 'bank/add-account'\n },\n whiteListBank: {\n url: 'bank/get-account-list'\n },\n },\n Statements: {\n payoutStatements: {\n url: 'statement',\n download: 'save-axis-payout'\n },\n\n ledgerStatements: {\n url: 'txn-ledger',\n download: 'save-txn-ledger'\n },\n\n pennyDropStatements: {\n url: 'penny-statement',\n download: 'save-penny-payout'\n },\n\n },\n FundRequest: {\n onlineTransfer: {\n url: 'fund/createrequest'\n },\n allRequest: {\n url: 'fund/getrequest'\n },\n allRequestDownload: {\n url: 'fund/request-download'\n }\n },\n NewPayouts: {\n addContact: {\n url: 'payout/add-contact'\n },\n listContact: {\n url: 'payout/list-contact'\n }\n },\n getCredentials: {\n url: 'credentials/get-credentials'\n },\n sendCredentials: {\n url: 'credentials/send-credentials'\n },\n Addbeneficiary: {\n addbeneficiary: {\n url: 'payout/add-bene'\n },\n getbeneficiary: {\n url: 'payout/list-bene'\n },\n getStateMaster: {\n url: 'state'\n },\n getCityMaster: {\n url: 'city'\n },\n getPincode: {\n url: 'pincode'\n },\n get_pincode_details: {\n url: 'get-pincode-details'\n },\n },\n PayoutRequest: {\n otpPayout: {\n url: 'payout/send-otp'\n },\n axisSinglePayout: {\n url: 'payout/axis-single-payout'\n }\n },\n vaAccount: {\n url: 'va/get-virtual-account'\n },\n\n pennyDrop: {\n url: 'payout/peny_drop'\n },\n\n chargesslab: {\n url: 'payout/getchargesslab'\n },\n axis_bulk_payout: {\n url: 'payout/axis-bulk-payout'\n },\n payout_otp: {\n url: 'payout/send-payout-otp'\n\n },\n payout_list: {\n url: 'payout/bulk-payout-list'\n\n },\n shouldApiEncryptDecrypt: {\n url: 'should-encrypt'\n },\n profilePicture: {\n url: 'user/profile-picture'\n },\n // White List\n notification: {\n updateNotification: {\n url: 'notification/update-notification'\n },\n },\n connected_banking: {\n add_bank: {\n url: 'connected-bank/generate-lead'\n },\n open_bank: {\n url: 'connected-bank/lead-data'\n },\n search_bank: {\n url: 'connected-bank/search'\n },\n link_bank: {\n url: 'connected-bank/add'\n },\n bank_balance: {\n url: 'connected-bank/balance'\n },\n transfer_fund: {\n url: 'connected-bank/transfer'\n },\n status_enquiry: {\n url: 'connected-bank/status'\n },\n add_bene: {\n url: 'connected-bene/add-bene-maker'\n },\n bene_list: {\n url: 'connected-bene/bene-list'\n },\n fav_bene: {\n url: 'connected-bank/fav-bene'\n },\n initiate_transfer: {\n url: 'connected-bank/transfer'\n },\n statement: {\n url: 'connected-bank/statement'\n },\n mini_statement: {\n url: 'connected-bank/self-statement'\n },\n bulk_mini_statement: {\n url: 'connected-bank/self-statement-bulk'\n },\n bulk_statement_details: {\n url: 'connected-bank/bulk-details-by-batchid'\n },\n scheduled_statement: {\n url: 'connected-bank/scheduled-payments'\n },\n cancel_scheduled: {\n url: 'connected-bank/cancel-scheduled'\n },\n bulk_payout_otp: {\n url: 'connected-bank/send-otp'\n },\n connected_bulk_payout: {\n url: 'connected-bank/bulkpayout'\n },\n sub_user_list: {\n url: 'connected-bene/sub-user'\n },\n send_otp_maker: {\n url: 'connected-bene/send-otp'\n },\n verify_bene_maker: {\n url: 'connected-bene/set-bene-maker'\n },\n verify_otp_maker: {\n url: 'connected-bank/verify-otp-maker'\n },\n\n nonauth_bene_list: {\n url: 'connected-bene/bene-list'\n },\n auth_bene_list: {\n url: 'connected-bank/list-bene-maker'\n },\n beneficiary_details: {\n url: 'connected-bene/beneficiary-details'\n },\n send_otp_bene: {\n url: 'connected-bank/send-otp-bene'\n },\n verifiy_otp_nonauthbene: {\n url: 'connected-bene/authorise-bene'\n },\n reject_nonauthbene: {\n url: 'connected-bank/reject-beneficiary'\n },\n payout_authorize_transfer: {\n url: 'connected-bank/authorize-transfer'\n },\n payout_authorize_transfer_bulk: {\n url: 'connected-bank/authorize-transfer-bulk'\n },\n payout_initiate_transfer: {\n url: 'connected-bank/initiate-transfer'\n },\n update_bene_limit: {\n url: 'connected-bene/update-bene-limit'\n },\n update_limit: {\n url: 'connected-bank/update-limit'\n },\n repeatPayment: {\n url: 'connected-bank/repeat-payment'\n },\n fetchSweepList: {\n url: 'connected-bank/sweep/sweep-list'\n },\n updateSweeplist: {\n url: 'connected-bank/sweep/sweep-update'\n },\n extendedList: {\n url: 'connected-bank/extended/list'\n },\n extendedFetch: {\n url: 'connected-bank/extended/fetch'\n },\n\n getAutoFundList: {\n url: 'connected-bank/auto-fund/get-list'\n },\n createUpdateAutoFund: {\n url: 'connected-bank/auto-fund/create-update'\n }\n\n },\n\n user_management: {\n\n managementList: {\n url: 'user-management/list'\n },\n createUser: {\n url: 'user-management/create'\n },\n updateUser: {\n url: 'user-management/update'\n },\n resetPassword: {\n url: 'user-management/reset-password'\n },\n permissions: {\n url: 'user-management/get-permission'\n },\n benemakerchecker: {\n url: 'user-management/maker-checker/list'\n },\n createupdatebenemakerchecker:{\n url:'user-management/maker-checker/create-update'\n },\n benepayout:{\n url:'user-management/maker-payouts/list'\n },\n createupdatepayout:{\n url:'user-management/maker-payouts/create-update'\n }\n },\n reseller: {\n reinvite_merchant: {\n url: 'reseller/reinvite-merchant'\n },\n reseller_refferal: {\n url: 'reseller/get-referral'\n },\n merchant_list: {\n url: 'reseller/merchant-list'\n },\n createMerchant: {\n url: 'reseller/create-merchant'\n },\n getCharge: {\n url: 'charges/get-charges'\n },\n performanceCard: {\n url: 'reseller/reseller-performance'\n },\n performanceGraph: {\n url: 'reseller/reseller-performance-graph'\n },\n businessGraph: {\n url: 'reseller/reseller-business-graph'\n },\n transactionList: {\n url: 'reseller/list-transection'\n },\n resellerClient: {\n url: 'reseller/reseller-client'\n }\n },\n payin:{\n vpaList:{\n url:'payin/vpa-list',\n },\n vpaCreate:{\n url:'payin/vpa-create',\n },\n transactionList:{\n url:'payin/transaction-list',\n },\n dynamicQR:{\n url:'payin/dynamic-qr',\n },\n staticQR:{\n url:'payin/static-qr',\n },\n settlementDetails:{\n url:'payin/settlement-details',\n },\n upiChargebackList:{\n url:'payin/chargeback/list',\n },\n updateChargeback:{\n url:'payin/chargeback/update-chargeback',\n },\n getRecentTransactions:{\n url:'payin/dashboard/recent-transactions',\n },\n statusWiseAmount:{\n url:'payin/dashboard/status-wise-amount',\n },\n volumeGraph:{\n url:'payin/dashboard/volume-graph',\n },\n QrList:{\n url:'payin/dashboard/qr-list',\n },\n }\n} as const;\n\n\n","import { CookieService } from 'ngx-cookie-service';\nimport { config } from './request-url.service';\nimport { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\nimport { DashboardService } from '@page/dashboard/dashboard.service';\nimport { PayinService } from '@page/payin/payin.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionStorageService {\n tokenFromUI: string = \"0123456789123456\";\n encrypted: any = \"\";\n decrypted: any;\n\n request: string;\n responce: string;\n\n constructor(\n private cookiesService: CookieService,\n private _DashboardService: DashboardService,\n private payinService:PayinService\n ) { }\n\n // *********************************************session storage related functions**************************************************************\n // saving or storing items to the session storage\n setItem(key: string, item: any) {\n this.encryptUsingAES256(key, item);\n };\n\n // getting item from session storage\n getItem(key: string) {\n let encryptedData = sessionStorage.getItem(key);\n let data = this.decryptUsingAES256(encryptedData);\n return data;\n };\n\n // clearing everything from session storage\n clearStorage() {\n sessionStorage.clear();\n this.cookiesService.deleteAll();\n localStorage.clear()\n this._DashboardService.resetDashboarBehaviours();\n this.payinService.resetPayinBehaviours();\n };\n\n // removing an item from session storage\n removeItem(key: string) {\n sessionStorage.removeItem(key);\n };\n\n // ****************************************************************************************************************\n\n // *********************************cookies related function********************************************************\n setCookies(key, value) {\n this.encryptUsingAES256(key, value, 'cookies')\n };\n\n getCookies(key) {\n let cookiesValue = this.cookiesService.get(key);\n let data = this.decryptUsingAES256(cookiesValue);\n return data;\n };\n // *****************************************************************************************************************\n\n // saving or storing items to the local storage\n setItemLocalStorage(key: string, value: any) {\n this.encryptUsingAES256(key, value, 'local')\n }\n\n // getting item from local storage\n getItemLocalStorage(key: string) {\n let encryptedData = localStorage.getItem(key);\n let data = this.decryptUsingAES256(encryptedData);\n return data;\n }\n\n\n encryptUsingAES256(key, request, storage?) {\n // console.log(\"request to encrypt \", request)\n let _key = CryptoJS.enc.Utf8.parse(this.tokenFromUI);\n let _iv = CryptoJS.enc.Utf8.parse(this.tokenFromUI);\n let encrypted = CryptoJS.AES.encrypt(\n JSON.stringify(request), _key, {\n iv: _iv,\n mode: CryptoJS.mode.ECB,\n padding: CryptoJS.pad.Pkcs7\n });\n let d = encrypted.toString();\n // console.log(\"enck\", d)\n if (storage == 'cookies') {\n this.cookiesService.set(key, d)\n } else if (storage == 'local') {\n localStorage.setItem(key, d)\n }\n sessionStorage.setItem(key, d);\n };\n\n decryptUsingAES256(encryptedData): any {\n // let data = JSON.parse(encryptedData);\n if (encryptedData) {\n let _key = CryptoJS.enc.Utf8.parse(this.tokenFromUI);\n let _iv = CryptoJS.enc.Utf8.parse(this.tokenFromUI);\n\n return CryptoJS.AES.decrypt(\n encryptedData, _key, {\n keySize: 16,\n iv: _iv,\n mode: CryptoJS.mode.ECB,\n padding: CryptoJS.pad.Pkcs7\n }).toString(CryptoJS.enc.Utf8);\n }\n\n };\n\n}\n","import { Injectable } from '@angular/core';\nimport { ToasterIcon, ToasterPosition } from '@core/enum/toster-enum';\nimport { ToastrService } from 'ngx-toastr';\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxToasterService {\n\n constructor(private toastr: ToastrService) { }\n\n showSuccess(message: any, title: any) {\n let toasterConfig = {\n }\n this.toastr.success(message, undefined, toasterConfig);\n }\n\n showError(message: any, title: any) {\n let toasterConfig = {\n // timeOut: 900000\n\n }\n this.toastr.error(message, undefined, toasterConfig);\n }\n\n showInfo(message: any, title: any) {\n let toasterConfig = {\n }\n this.toastr.info(message, undefined, toasterConfig);\n }\n\n showWarning(message: any, title: any) {\n let toasterConfig = {\n }\n this.toastr.warning(message, undefined, toasterConfig);\n }\n\n\n}\n\n\n","import { ToasterIcon } from './../enum/toster-enum';\nimport { ToasterPosition } from './../enum/toster-enum';\n\nimport { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport Swal from 'sweetalert2';\nimport { filter, Observable, Subject } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class TosterService {\n\n private subject = new Subject();\n private defaultId = 'default-alert';\n\n toasterConfig: ToasterConfiq = new ToasterConfiq();\n oast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 20000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n \n constructor(private toastr: ToastrService) { }\n\n presentToast(message, title, type: ToasterType, toasterConfig?: ToasterConfiq | any) {\n // console.log(toasterConfig);\n \n this.toasterConfig = {\n closeButton: true,\n timeOut: toasterConfig?.timeOut,\n easing: toasterConfig?.easing,\n positionClass: toasterConfig?.positionClass,\n icon: toasterConfig?.icon\n }\n\n // function will call based on toaster type\n switch(type){\n case 'success':\n this.toastr.success(message, title, toasterConfig);\n break;\n\n case 'error':\n this.toastr.error(message, title, toasterConfig);\n break;\n\n case 'warning':\n this.toastr.warning(message, title, toasterConfig);\n break;\n\n case 'info':\n this.toastr.info(message, title, toasterConfig);\n break;\n\n default:\n this.toastr.warning(message, title, toasterConfig);\n break;\n }\n };\n\n// **************************************************sweet alert code start*******************************************\n // enable subscribing to alerts observable\n onAlert(id = this.defaultId): Observable {\n return this.subject.asObservable().pipe(filter((x) => x && x.id === id));\n };\n\n // convenience methods\n success(message: string, options?: AlertOption) {\n // this.alert(new Alert({ ...options, type: AlertType.Success, message }));\n Swal.fire({\n toast: true,\n position: 'top-end',\n title: message,\n timer: 5000, //options?.timer,\n timerProgressBar: true, //options?.timer ? true : false,\n icon: 'success',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true,\n // showClass: {\n // popup: 'animate__slideInRight'\n // },\n // hideClass: {\n // popup: 'animate__slideOutRight'\n // }\n });\n };\n\n error(message: string, options?: AlertOption) {\n // this.alert(new Alert({ ...options, type: AlertType.Error, message }));\n Swal.fire({\n // title: 'Error!',\n text: message,\n timer: options?.timer,\n timerProgressBar: options?.timer ? true : false,\n icon: 'error',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true,\n backdrop: !options?.allowOutsideClick,\n allowOutsideClick: options?.allowOutsideClick || true,\n // showClass: {\n // backdrop: 'swal2-backdrop-show'\n // },\n // hideClass: {\n // popup: 'animate__bounceOut'\n // }\n })\n return false;\n };\n errorHtml(message: string, options?: AlertOption) {\n // this.alert(new Alert({ ...options, type: AlertType.Error, message }));\n Swal.fire({\n // title: 'Error!',\n html: message,\n timer: options?.timer,\n timerProgressBar: options?.timer ? true : false,\n icon: 'error',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true,\n backdrop: !options?.allowOutsideClick,\n allowOutsideClick: options?.allowOutsideClick || true,\n // showClass: {\n // backdrop: 'swal2-backdrop-show'\n // },\n // hideClass: {\n // popup: 'animate__bounceOut'\n // }\n })\n return false;\n };\n\n info(message: string, options?: AlertOption) {\n //this.alert(new Alert({ ...options, type: AlertType.Info, message }));\n Swal.fire({\n // title: 'Error!',\n text: message,\n timer: options?.timer,\n timerProgressBar: options?.timer ? true : false,\n icon: 'info',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true,\n // showClass: {\n // popup: 'animate__bounceIn'\n // },\n // hideClass: {\n // popup: 'animate__bounceOut'\n // }\n });\n };\n successalert(message: string, options?: AlertOption) {\n //this.alert(new Alert({ ...options, type: AlertType.Warning, message }));\n Swal.fire({\n // title: 'Error!',\n text: message,\n timer: options?.timer,\n timerProgressBar: options?.timer ? true : false,\n icon: 'success',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true\n // showClass: {\n // popup: 'animate__bounceIn'\n // },\n // hideClass: {\n // popup: 'animate__bounceOut'\n // }\n })\n };\n\n warn(message: string, options?: AlertOption) {\n //this.alert(new Alert({ ...options, type: AlertType.Warning, message }));\n Swal.fire({\n // title: 'Error!',\n text: message,\n timer: options?.timer,\n timerProgressBar: options?.timer ? true : false,\n icon: 'warning',\n showConfirmButton: options?.showConfirmButton,\n showCloseButton: true,\n // showClass: {\n // popup: 'animate__bounceIn'\n // },\n // hideClass: {\n // popup: 'animate__bounceOut'\n // }\n });\n };\n\n // main alert method\n alert(alert: Alert) {\n alert.id = alert.id || this.defaultId;\n this.subject.next(alert);\n };\n\n // clear alerts\n clear(id = this.defaultId) {\n this.subject.next(new Alert({ id }));\n };\n\n alertwithtml(message: string, options?: AlertOption, callback?:any) {\n Swal.fire({\n title: 'Successful',\n icon: 'success',\n html: message,\n showCloseButton: true,\n showCancelButton: false,\n focusConfirm: false,\n confirmButtonText: 'OK',\n backdrop: !options?.allowOutsideClick,\n allowOutsideClick: options?.allowOutsideClick || true,\n }).then((result) => {\n if (result?.isConfirmed) {\n callback(1)\n }\n });\n };\n// **************************************************sweet alert code end***************************************************\n \n}\n\n// **************************************************sweet alert classess and interface*******************************************\n export class Alert {\n id?: string;\n type: AlertType = 2;\n message?: string;\n autoClose?: boolean;\n remove:number = 3000;\n keepAfterRouteChange?: boolean;\n fade?: boolean;\n constructor(init?:Partial) {\n Object.assign(this, init);\n }\n }\n\n export enum AlertType {\n Success,\n Error,\n Info,\n Warning\n }\n\n export interface AlertOption {\n icon?: 'warning' | 'error' | 'success' | 'info' | 'question';\n showConfirmButton?: boolean;\n confirmButtonText?: string;\n timer?: number;\n timerProgressBar?: boolean;\n allowOutsideClick?: boolean;\n }\n\n// **************************************************sweet alert classess and interface*******************************************\n\n// type of toaster \nexport type ToasterType = 'success' | 'error' | 'warning' | 'info';\n\n// creating class to initalize the default value of the the toaster config\nexport class ToasterConfiq{\n closeButton: boolean = true;\n timeOut: number = 200;\n easing: any = 'ease-in ease-out';\n positionClass: ToasterPosition = ToasterPosition.topRight;\n icon: any = ToasterIcon.success;\n\n constructor(closeButton?: any, timeOut?: any, easing?: string, positionClass?: any, icon?: ToasterIcon){\n this.closeButton = closeButton;\n this.timeOut = timeOut; \n this.easing = easing;\n this.positionClass = positionClass;\n this.icon = icon;\n }\n}\n\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport * as _ from 'lodash'\nimport { SessionStorageService } from './session-storage.service';\nimport { KycServices } from '@page/dashboard/kyc/kyc-services';\nimport { PermissionServiceService } from './permission-service.service';\nimport { SidebarComponent } from '@features/layouts/components/sidebar/sidebar.component';\nimport { SidebarService } from '@features/layouts/components/sidebar/sidebar-service.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserDetailsService {\n userLoginDetails: BehaviorSubject = new BehaviorSubject('');\n\n\n constructor(\n private sessionStorage: SessionStorageService,\n private kycService: KycServices,\n private permissionService: PermissionServiceService,\n private sidebarService: SidebarService\n ) {\n\n }\n\n set setUserLoginDetails(data: any) {\n // console.log(data)\n // let details = this.userLoginDetails.getValue();\n // details = _.merge({}, details, data);\n console.log('setting session');\n this.sessionStorage.setItem('userDetails', data);\n this.sessionStorage.setItemLocalStorage(\"userDetails\", data);\n this.permissionService.initPermissions();\n this.sidebarService.refreshSidebar()\n // this.sessionStorage.setItem('kycSteps', data?.data?.kyc_step);\n this.sessionStorage.setItem('is_kyc', data?.data?.is_kyc);\n this.userLoginDetails.next(data);\n };\n\n get getUserLoginDetails(): any | Observable {\n return this.userLoginDetails.asObservable();\n };\n\n delete(clear?: any) {\n const currentItems = this.userLoginDetails.getValue();\n if (clear) {\n var result = _.omit(currentItems, clear)\n this.userLoginDetails.next(result);\n } else {\n this.userLoginDetails.next(null);\n }\n };\n\n\n updateLocalStorage(obj: any) {\n const encode: any = this.sessionStorage.getItem('userDetails');\n let loginDtl: any = JSON.parse(encode);\n let userDtl: any = loginDtl;\n if (obj.constructor === Array) {\n obj.forEach((element) => {\n for (const k in element) {\n _.set(userDtl, k, element[k]);\n }\n });\n } else {\n for (const k in obj) {\n _.set(userDtl, k, obj[k]);\n }\n }\n this.setUserLoginDetails = userDtl;\n }\n updateKycDetail(obj: any) {\n let kyc_detail: any = this.kycService.kyc_detail_.getValue();\n if (obj.constructor === Array) {\n obj.forEach((element) => {\n for (const k in element) {\n _.set(kyc_detail, k, element[k]);\n }\n });\n } else {\n for (const k in obj) {\n _.set(kyc_detail, k.split('.'), obj[k]);\n\n }\n }\n this.kycService.kyc_detail_.next(kyc_detail);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroup, ValidatorFn } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport html2canvas from 'html2canvas';\nimport jsPDF from 'jspdf';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilityService {\n constructor(private _Router: Router) { }\n checkFormControlAvailable(formGroup: FormGroup, controlName: string) {\n return Object.keys(formGroup.controls).find((name: any) => {\n return formGroup.get(controlName) === formGroup.controls[name];\n });\n // Object.keys(formGroup).find(name => formGroup.get(controlName) === formGroup[name]\n }\n setRemoveValidator(\n type: 'r' | 'a', //'r' remove | 'a' add\n group: FormGroup,\n control: string | string[],\n validators: ValidatorFn | ValidatorFn[],\n checkHasInForm: boolean = false\n ) {\n let controls: string[] = typeof control === 'string' ? (control === 'all' ? Object.keys(group.value)\n : [control]) : control;\n controls.forEach((controlName) => {\n if (\n checkHasInForm &&\n !this.checkFormControlAvailable(group, controlName)\n ) {\n return;\n }\n if (type === 'a') {\n group.controls[controlName].addValidators(validators);\n } else if (type === 'r') {\n group.controls[controlName].removeValidators(validators);\n }\n group.controls[controlName].updateValueAndValidity();\n });\n }\n\n reloadTo(uri: string) {\n this._Router\n .navigateByUrl('/', { skipLocationChange: true })\n .then(() => this._Router.navigate([uri ?? '**']));\n }\n generatePDF(\n _invoiceElement: any,\n filename: any,\n isType: 'PRINT' | 'DOWNLOAD' = 'DOWNLOAD',\n customPage?: boolean\n ): void {\n let invoiceElement: any = { _invoiceElement };\n invoiceElement = invoiceElement._invoiceElement;\n html2canvas(invoiceElement, {\n scale: 3, onclone(document: Document, element: HTMLElement) {\n element.querySelector('.receiptStampBox')?.classList.remove('d-none')\n },\n }).then((canvas) => {\n // console.log(canvas);\n\n const imageGeneratedFromTemplate = canvas.toDataURL('image/png');\n\n const fileWidth = 200;\n const generatedImageHeight = (canvas.height * fileWidth) / canvas.width;\n let page: any = 'a4'\n if (customPage) {\n page = [fileWidth + 20, generatedImageHeight]\n }\n let PDF = new jsPDF('p', 'mm', page);\n PDF.addImage(\n imageGeneratedFromTemplate,\n 'PNG',\n 5,\n 5,\n fileWidth,\n generatedImageHeight,\n '',\n 'MEDIUM'\n );\n PDF.rect(\n 5,\n 5,\n PDF.internal.pageSize.width - 10,\n PDF.internal.pageSize.height - 10,\n 'S'\n );\n // invoiceElement.querySelector('.receiptStampBox')?.classList.remove('d-none');\n // console.log(invoiceElement.querySelector('.receiptStampBox'));\n\n PDF.html(invoiceElement.innerHTML);\n if (isType == 'DOWNLOAD') {\n PDF.save(`${filename}.pdf`);\n } else if (isType == 'PRINT') {\n PDF.autoPrint();\n window.open(PDF.output('bloburl'), '_blank');\n }\n });\n }\n\n generatePng( _invoiceElement: any, filename: any, customPage?: boolean): void {\n let invoiceElement: any = { _invoiceElement };\n invoiceElement = invoiceElement._invoiceElement;\n html2canvas(invoiceElement, {\n scale: 3, onclone(document: Document, element: HTMLElement) {\n element.querySelector('.qr-bottom')?.classList.remove('d-flex')\n },\n }).then((canvas) => {\n console.log(canvas);\n const imageGeneratedFromTemplate = canvas.toDataURL('image/png');\n const link = document.createElement('a');\n link.href = imageGeneratedFromTemplate;\n link.download = 'Qrcode';\n link.click();\n link.remove();\n });\n\n\n // html2canvas(invoiceElement, {\n // scale: 3,\n // onclone(document: Document, element: HTMLElement) {\n // // element.querySelector('.qr-bottom')?.classList.add('pl-10')\n // },\n // }).then((canvas) => {\n // const imageGeneratedFromTemplate = canvas.toDataURL('image/png');\n\n // // Create a new container element to center the canvas\n // const container = document.createElement('div');\n // container.style.display = 'flex';\n // container.style.justifyContent = 'center';\n // container.style.alignItems = 'center';\n // container.style.height = '100vh'; // You can adjust this height as needed\n\n // // Create a new canvas element and add the image to it\n // const centeredCanvas = document.createElement('canvas');\n // centeredCanvas.width = canvas.width;\n // centeredCanvas.height = canvas.height;\n\n // console.log(\"center \", centeredCanvas)\n\n // // Append the centered canvas to the container\n // container.appendChild(centeredCanvas);\n\n // console.log(\"container \", container)\n\n // // Append the container to the document\n // document.body.appendChild(container);\n\n // // Create an image element and draw the image onto the centered canvas\n // const image = new Image();\n // image.onload = () => {\n // const context = centeredCanvas.getContext('2d');\n // if (context) {\n // context.drawImage(image, 0, 0);\n // // Trigger the download\n // const link = document.createElement('a');\n // link.href = centeredCanvas.toDataURL('image/png');\n // link.download = 'Qrcode';\n // link.click();\n // link.remove();\n\n // // Remove the container after the download\n // container.remove();\n // }\n // };\n // image.src = imageGeneratedFromTemplate;\n // });\n }\n}\n","import {\n AbstractControl,\n FormGroup,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { CommonService } from '@core/services/common.service';\nimport { regExpPattern } from '@core/validators/regExpPatternList';\n\nexport function maxAge(max: Number): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const today = new Date();\n const birthDate = new Date(control.value);\n const getYear: any = birthDate.getFullYear();\n const yearsDifference = today.getFullYear() - birthDate.getFullYear();\n const ValidateYear = /^(19|20)\\d{2}$/;\n\n if (!ValidateYear.test(getYear)) {\n return { maxAge: () => `Enter Valid Year.` };\n }\n if (\n today.getMonth() < birthDate.getMonth() ||\n (today.getMonth() === birthDate.getMonth() &&\n today.getDate() < birthDate.getDate())\n ) {\n yearsDifference - 1;\n }\n\n const isValid = yearsDifference >= max;\n if (isValid) return null;\n else return { maxAge: () => `Age should be greater than ${max}.` };\n };\n}\n\nexport function dateValidation(mindate?: number): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n //console.log('control >>', control);\n\n const today = new Date();\n const dateInserted = new Date(control.value);\n const getYear: any = dateInserted.getFullYear();\n const ValidateYear = /^(19|20)\\d{2}$/;\n if (!ValidateYear.test(getYear)) {\n return { validDate: () => `Enter Valid Year.` };\n }\n if (dateInserted.getTime() > today.getTime()) {\n return { validDate: () => `Future date not excepted` };\n }\n if (mindate) {\n today.setDate(today.getDate() - mindate);\n if (dateInserted.getTime() < new Date(today.toISOString().split('T')[0]).getTime()) {\n return { validDate: () => `Min date is not valid` };\n }\n }\n return null;\n };\n}\n\nexport function comparePassword(\n controlName: string,\n matchingControlName: string\n) {\n return (formGroup: FormGroup) => {\n const control: any = formGroup.controls[controlName];\n const matchingControl: any = formGroup.controls[matchingControlName];\n\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n return;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n return null;\n };\n}\n\nexport function removeSpaces(control: AbstractControl) {\n if (control && control.value && !control.value.replace(/\\s/g, '').length) {\n control.setValue('');\n }\n return null;\n}\n\nexport function RemoveSpecialCharacters(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/;\n if (control.value && nameRegexp.test(control.value)) {\n return { specialcharacters: true };\n } else {\n return null;\n }\n };\n}\n\nexport function serviceProvider(): ValidatorFn {\n return (control: AbstractControl): { invalid: boolean } | null => {\n const providerId = control.value;\n if (providerId && providerId == '001') {\n return { invalid: true };\n } else {\n return null;\n }\n };\n}\n\nexport function regExpPatternValidator(\n regex: RegExp,\n error: ValidationErrors\n): ValidatorFn {\n //HOW TO USE\n //[Validators.required, PasswordReg.patternValidator( /\\d{2}[A-Za-z]{5}\\d{4}[A-Za-z]{1}[A-Za-z\\d]{1}[Zz]{1}[A-Za-z\\d]{1}/, { wrongPattern: true } )]\n //GSTIN /\\d{2}[A-Za-z]{5}\\d{4}[A-Za-z]{1}[A-Za-z\\d]{1}[Zz]{1}[A-Za-z\\d]{1}/\n //PAN /[A-Z]{5}[0-9]{4}[A-Z]{1}$/\n //Udyogno /[A-Za-z]{2}\\d{2}[A-Za-z]{1}\\d{7}/\n\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (!control.value) {\n // if control is empty return no error\n return null;\n }\n\n // test the value of the control against the regexp supplied\n const valid = regex.test(control.value);\n\n // if true, return no error (no error), else return error passed in the second parameter\n return valid ? null : error;\n };\n}\n\nexport function regExpNativePatternValidator(\n logic: string | RegExp | Function,\n error: ValidationErrors,\n reverseValidation: boolean = false\n): ValidatorFn {\n //HOW TO USE\n //[Validators.required, PasswordReg.patternValidator( /\\d{2}[A-Za-z]{5}\\d{4}[A-Za-z]{1}[A-Za-z\\d]{1}[Zz]{1}[A-Za-z\\d]{1}/, { wrongPattern: true } )]\n //GSTIN: \"/\\d{2}[A-Za-z]{5}\\d{4}[A-Za-z]{1}[A-Za-z\\d]{1}[Zz]{1}[A-Za-z\\d]{1}/\"\n //PAN: \"/[A-Z]{5}[0-9]{4}[A-Z]{1}$/\"\n //Udyogno: \"/[A-Za-z]{2}\\d{2}[A-Za-z]{1}\\d{7}/\"\n\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (control.value === null || control.value === undefined) { //if (!control.value)\n // if control is empty return no error\n return null;\n }\n\n let valid!: boolean;\n // console.log(typeof logic, logic);\n\n if (typeof logic === 'function') {\n logic({\n value: control.value,\n callBack: (val: any, cbError?: ValidationErrors) => {\n valid = val;\n error = cbError ? cbError : error;\n },\n });\n } else if (typeof logic === 'string' || typeof logic === 'object') {\n valid = new RegExp(\n typeof logic === 'string' ? regExpPattern[logic.trim()] : logic\n ).test(control.value);\n }\n // console.log(regExpPattern[logic]);\n\n // test the value of the control against the regexp supplied\n\n // const valid = logic.test(control.value);\n\n // if true, return no error (no error), else return error passed in the second parameter\n if (reverseValidation) {\n valid = !valid;\n }\n // console.log(valid);\n\n return valid ? null : error;\n };\n}\n\n// Uses of regExpNativePatternValidator\n\n//1 use as function\n// regExpNativePatternValidator(\n// (obj: any) => {\n// let val = obj.value;\n// let res: boolean;\n// val = typeof val !== 'number' ? +val : val;\n// if (val <= 100 && val > 90) {\n// // res = true;\n// obj.callBack(false, {\n// maxAmount10K: () => `cannot enter amount between 90 to 100`,\n// });\n// }else{\n// obj.callBack(true);\n// }\n// },\n// {\n// maxAmount10K: () => `Enter amount 1Rs to 10 Lakh.`,\n// }\n// ),\n\n// 2 RegExp of amount should between rs 1 to 10 lack\n// regExpNativePatternValidator(\n// /\\b([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|1000000)\\b/,\n// {\n// maxAmount10K: () => `Enter amount ₹1 to ₹10 Lakh`,\n// }\n// ),\nexport class Validatorss {\n constructor(private _CommonService: CommonService) {}\n static validDate(): ValidatorFn {\n return (control: AbstractControl): { invalidDate: any } | null => {\n const val = control.value;\n // console.log(this._CommonService.getTransformDate(val));\n // console.log(this._CommonService.getTransformDate(new Date()));\n\n return { invalidDate: () => `Dasddsdte is invalid.....!` };\n if (val && val == '001') {\n } else {\n return null;\n }\n };\n }\n}\n// export function validDate(): ValidatorFn {\n\n// return (control: AbstractControl): { invalidDate: any } | null => {\n\n// const val = control.value;\n\n// if (val && val == '001') {\n// return { invalidDate: () => `Date is invalid.....!` };\n// } else {\n// return null;\n// }\n// };\n// }\n// export function AmountMax(max: Number): ValidatorFn {\n// return (control: AbstractControl): { [key: string]: any } | null => {\n\n// };\n\n// }\n","export const regExpPattern: { [key: string]: string | RegExp } = {\n\n GSTIN: /^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/,\n GSTIN2: /^[0-9]{2}[A-Za-z]{5}[0-9]{4}[A-Za-z]{1}[0-9]{1}[Zz]{1}[0-9]{1}$/,\n PAN: /^[A-Za-z]{3}[Pp]{1}[A-Za-z]{1}[0-9]{4}[A-Za-z]{1}$/,\n //Udyogno: /^[A-Za-z]{2}d{2}[A-Za-z]{1}d{7}&/,\n Udyogno: /^[A-Z]{2}[0-9]{2}[A-Z]{1}[0-9]{7}$/,\n UdyamRegNo:/^[A-Z]{5}[-][0-9]{2}[-][0-9]{2}[-][0-9]{7}$/,\n validDateYYYYMMDD: /^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])$/,\n validDateDDMMYYYY: /^2[0-9]|3[01]-(0[1-9]|1[0-9]|[0-9]{4}-(0[1-9]|1[012]))$/,\n alpha: /^[A-Za-z]+$/,\n numeric: /^[0-9]+$/,\n alphanumeric: /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/,\n mobile: /^[456789][0-9]{9}$/,\n email: /^\\S+@\\S+\\.[A-Za-z]\\S+$/,\n ifsc: /^[A-Z]{4}0[A-Z0-9]{6}$/,\n accountNumber: /^[A-Za-z0-9]{9,18}$/,\n pincode: /^\\d{6}$/,\n};\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/form-modal.ref';\nimport { COMPONENT_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/component-data.token';\nimport { DashboardService } from '@page/dashboard/dashboard.service';\n\n@Component({\n selector: 'app-auto-log-out-pop',\n templateUrl: './auto-log-out-pop.component.html',\n styleUrls: ['./auto-log-out-pop.component.scss']\n})\nexport class AutoLogOutPopComponent implements OnInit {\n secondTimerLeft: string;\n\n constructor(\n private dashboardService: DashboardService,\n public dialogRef: FormModalOverlayRef,\n @Inject(COMPONENT_MODAL_DATA) public data: any\n ) {\n\n }\n\n ngOnInit(): void {\n this.data.data.secondTimerLeft.subscribe((val) => {\n this.secondTimerLeft = val;\n // console.log(this.secondTimerLeft);\n if(this.secondTimerLeft == '0:0'){\n this.dashboardService.dashboardModalClose.next(true)\n }\n\n })\n }\n _continue() {\n this.dialogRef.close(this.data, 'continue');\n }\n\n _logout() {\n this.dialogRef.close(this.data);\n this.dashboardService.dashboardModalClose.next(true)\n }\n}\n","\n\n\n\n\n\n\n
\n
\n
\n
\n\n \n
\n
\n
Second Level Timer activated
\n \n

Time Remain -

\n

{{ secondTimerLeft }}

\n
\n \n
\n
\n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutoLogOutComponent } from './auto-log-out/auto-log-out.component';\nimport { AutoLogoutService } from './service/auto-logout.service';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CdkCustomMdlModule } from '@features/customCDK/cdkCustomMdl/cdk-custom-mdl.module';\nimport { AutoLogOutPopComponent } from './auto-log-out-pop/auto-log-out-pop.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: AutoLogOutComponent\n },]\n\n@NgModule({\n declarations: [\n AutoLogOutComponent,\n AutoLogOutPopComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CdkCustomMdlModule,\n RouterModule.forChild(routes)\n ],\n})\nexport class AutoLogOutModule { }\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { FormModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/form-modal.ref';\nimport { TemplateModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/template-modal.ref';\nimport { CustomOverlayConfig, TemplateModalService } from '@features/customCDK/cdkCustomMdl/services/template-modal.service';\nimport { COMPONENT_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/component-data.token';\nimport { AutoLogoutService } from '../service/auto-logout.service';\n\n@Component({\n selector: 'app-auto-log-out',\n templateUrl: './auto-log-out.component.html',\n styleUrls: ['./auto-log-out.component.scss']\n})\nexport class AutoLogOutComponent implements OnInit {\n @ViewChild('modalTemplate') modalTemplate!: TemplatePortal;\n\n\n inputForm: any;\n idleTimerLeft: any;\n secondTimerLeft: string;\n timeRemain: number;\n FULL_DASH_ARRAY = 283;\n\n\n private templateRef!: TemplateModalOverlayRef | null;\n customConfig!: CustomOverlayConfig;\n\n\n constructor(\n private ngIdle: AutoLogoutService,\n private fb: FormBuilder,\n private _TemplateModalService: TemplateModalService,\n private _Router: Router,\n\n public dialogRef: FormModalOverlayRef,\n @Inject(COMPONENT_MODAL_DATA) public data: any\n\n ) { }\n\n ngOnInit(): void {\n this.inputForm = this.fb.group({\n firstLevelTimer: ['', Validators.required],\n secondLevelTimer: ['', Validators.required],\n });\n this.initTimer(0.1, 1);\n }\n\n _continue() {\n this.dialogRef.close(this.data, 'continue');\n }\n\n _logout() {\n this.dialogRef.close(this.data);\n }\n\n /**\n * Draw timer circle\n */\n formatTimeLeft = (time: number) => {\n if (time > 0) {\n let seconds = Math.trunc(time / 1000);\n\n this.setCircleDasharray(seconds);\n\n let min = 0;\n if (seconds >= 60) {\n min = Math.trunc(seconds / 60);\n //console.log(min);\n seconds -= (min * 60);\n }\n\n return `${min}:${seconds}`;\n }\n return false;\n }\n\n setCircleDasharray = (elapsedTime: number) => {\n const inputValue: any = this.inputForm.value;\n const timeLimit = inputValue.firstLevelTimer * 60;\n\n this.timeRemain = elapsedTime / timeLimit;\n const circleDasharray = `${(\n this.timeRemain * this.FULL_DASH_ARRAY\n ).toFixed(0)} 283`;\n document.getElementById('base-timer-path-remaining')?.setAttribute('stroke-dasharray', circleDasharray);\n }\n\n onSubmit(): void {\n if (this.inputForm.invalid) {\n return;\n }\n\n const inputValue = this.inputForm.value;\n this.initTimer(inputValue.firstLevelTimer, inputValue.secondLevelTimer);\n }\n\n initTimer(firstTimerValue: number, secondTimerValue: number): void {\n // Timer value initialization\n this.ngIdle.USER_IDLE_TIMER_VALUE_IN_MIN = firstTimerValue;\n this.ngIdle.FINAL_LEVEL_TIMER_VALUE_IN_MIN = secondTimerValue;\n // end\n\n // Watcher on timer\n this.ngIdle.initilizeSessionTimeout();\n this.ngIdle.userIdlenessChecker.subscribe((status: string) => {\n if (status) {\n this.initiateFirstTimer(status);\n }\n });\n\n this.ngIdle.secondLevelUserIdleChecker.subscribe((status: string) => {\n if (status) {\n this.initiateSecondTimer(status);\n }\n });\n }\n\n initiateFirstTimer = (status: string) => {\n switch (status) {\n case 'INITIATE_TIMER':\n break;\n\n case 'RESET_TIMER':\n break;\n\n case 'STOPPED_TIMER':\n this.showSendTimerDialog();\n break;\n\n default:\n this.idleTimerLeft = this.formatTimeLeft(Number(status));\n break;\n }\n }\n\n initiateSecondTimer = (status: string) => {\n switch (status) {\n case 'INITIATE_SECOND_TIMER':\n break;\n\n case 'SECOND_TIMER_STARTED':\n break;\n\n case 'SECOND_TIMER_STOPPED':\n this.logout();\n break;\n\n default:\n this.secondTimerLeft = status;\n break;\n }\n }\n\n showSendTimerDialog(): void {\n // const modal: any = document.getElementById('myModal');\n // modal.style.display = 'block';\n this.customConfig = {};\n this.templateRef = this._TemplateModalService.open(this.modalTemplate, {}, this.customConfig);\n this.templateRef.afterClosed$.subscribe((val) => { });\n }\n\n async continue() {\n // const modal: any = document.getElementById('myModal');\n // modal.style.display = 'none';\n let sd = await this.closeTemplateModal();\n if (sd) {\n //console.log(this.templateRef);\n\n // stop second timer and initiate first timer again\n this.ngIdle.runSecondTimer = false;\n this.ngIdle.initilizeSessionTimeout();\n }\n }\n\n async logout() {\n // const modal: any = document.getElementById('myModal');\n // modal.style.display = 'none';\n let sd = await this.closeTemplateModal()\n\n if (sd) {\n //console.log(this.templateRef);\n\n // stop all timer and end the session\n this.ngIdle.runTimer = false;\n this.ngIdle.runSecondTimer = false;\n this._Router.navigateByUrl('/login')\n }\n }\n\n closeTemplateModal($event?: CustomOverlayConfig) {\n\n if (this.templateRef) {\n this.templateRef.close(this.customConfig);\n this.templateRef = null;\n }\n return true;\n }\n}\n","\n\n\n
\n \n
\n

Second Level Timer activated

\n
\n Time Remain -\n {{ secondTimerLeft }}\n
\n\n
\n \n \n
\n
\n
\n
","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { FormModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/form-modal.ref';\nimport { ComponentModalService, FormModalConfig } from '@features/customCDK/cdkCustomMdl/services/component-modal.service';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { BehaviorSubject, interval, map, Observable, Subject, takeWhile } from 'rxjs';\nimport { AutoLogOutPopComponent } from '../auto-log-out-pop/auto-log-out-pop.component';\n\nconst STORE_KEY = 'userLastAction';\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class AutoLogoutService {\n runTimer!: boolean;\n runSecondTimer!: boolean;\n USER_IDLE_TIMER_VALUE_IN_MIN!: number;\n FINAL_LEVEL_TIMER_VALUE_IN_MIN!: number;\n userIdlenessChecker: BehaviorSubject = new BehaviorSubject('INITIATE_TIMER'); secondTimerLeft: any;\n ;\n secondLevelUserIdleChecker: BehaviorSubject = new BehaviorSubject('INITIATE_SECOND_TIMER');;\n unSubAll: Subject = new Subject();\n\n private sessionForIdle: Observable;\n private userActivityChangeCallback: ($event) => void;\n secondTimerLeftFn: BehaviorSubject = new BehaviorSubject('');\n\n public clockForIdle: Observable;\n\n formatTimeLeft = (time: number) => {\n if (time > 0) {\n let seconds = Math.trunc(time / 1000);\n\n // this.setCircleDasharray(seconds);\n\n let min = 0;\n if (seconds >= 60) {\n min = Math.trunc(seconds / 60);\n // console.log(min);\n seconds -= (min * 60);\n }\n\n return `${min}:${seconds}`;\n }\n return false;\n }\n dialogRef: FormModalOverlayRef;\n\n constructor(\n private zone: NgZone,\n private _Router: Router,\n private componentModalService: ComponentModalService,\n private sessionStorage: SessionStorageService,\n\n ) {\n // if (!this.userIdlenessChecker) {\n // this.userIdlenessChecker = new BehaviorSubject('INITIATE_TIMER');\n this.userIdlenessChecker.subscribe((status: string) => {\n if (status) {\n // initiateFirstTimer = (status: string) => {\n switch (status) {\n case 'INITIATE_TIMER':\n break;\n\n case 'RESET_TIMER':\n break;\n\n case 'STOPPED_TIMER':\n // this.showSendTimerDialog();\n let customConfig: FormModalConfig = {\n data: {\n secondTimerLeft: this.secondTimerLeftFn,\n // tblData: data,\n action: 'Nav delete this section',\n },\n // customOverlayPosition: { topCenter: ['30px', '0px'] },\n // isAnimation: {\n // inAnimationStyle: 'slideInDown',\n // outAnimationStyle: 'slideOutUp',\n // },\n // backdropClass: 'my-overlay-lightbox-backdrop'\n };\n\n this.dialogRef =\n this.componentModalService.open(\n AutoLogOutPopComponent,\n customConfig\n );\n this.dialogRef.afterClosed$.subscribe((method: any) => {\n if (method.type == 'continue') {\n this.runSecondTimer = false;\n this.initilizeSessionTimeout();\n } else {\n this.runTimer = false;\n this.runSecondTimer = false;\n this.sessionStorage.clearStorage();\n this._Router.navigate(['/login']);\n // this._AuthCoreService.logout();\n }\n })\n break;\n\n default:\n // this.idleTimerLeft = this.formatTimeLeft(Number(status));\n break;\n }\n // }\n\n\n }\n });\n // }\n\n // if (!this.secondLevelUserIdleChecker) {\n // this.secondLevelUserIdleChecker = new BehaviorSubject('INITIATE_SECOND_TIMER');\n this.secondLevelUserIdleChecker.subscribe((status: string) => {\n if (status) {\n // initiateSecondTimer = (status: string) => {\n switch (status) {\n case 'INITIATE_SECOND_TIMER':\n break;\n\n case 'SECOND_TIMER_STARTED':\n break;\n\n case 'SECOND_TIMER_STOPPED':\n this.dialogRef.close()\n // this._AuthCoreService.logout();\n // this.logout();\n break;\n\n default:\n this.secondTimerLeftFn.next(status)\n // this.secondTimerLeftFn(status);\n // this.secondTimerLeft = status;\n break;\n }\n // }\n }\n });\n // }\n }\n public init() {\n this.USER_IDLE_TIMER_VALUE_IN_MIN = 5;\n this.FINAL_LEVEL_TIMER_VALUE_IN_MIN = 1;\n this.initilizeSessionTimeout()\n }\n uninit() {\n this.runTimer = false;\n this.runSecondTimer = false;\n }\n public initilizeSessionTimeout(): void {\n this.runTimer = true;\n\n if (this.USER_IDLE_TIMER_VALUE_IN_MIN === 0) {\n this.userIdlenessChecker.thrownError('Please provide USER_IDLE_TIMER_VALUE in minuite');\n return;\n }\n\n this.reset();\n this.initListener();\n this.initInterval();\n }\n\n get lastAction(): number {\n return parseInt(localStorage.getItem(STORE_KEY) ?? '', 10);\n }\n\n set lastAction(value) {\n localStorage.setItem(STORE_KEY, value.toString());\n }\n\n private initListener(): void {\n this.zone.runOutsideAngular(() => {\n this.userActivityChangeCallback = ($event) => this.handleUserActiveState($event);\n let events: any = [\n 'click', 'dblclick', 'mousedown', 'mouseup', 'contextmenu', 'mouseout', 'mousewheel', 'mouseover', 'touchstart', 'touchend', 'touchmove', 'touchcancel', 'keydown', 'keyup', 'keypress', 'focus', 'blur', 'change', 'submit', 'resize', 'scroll', 'load', 'unload', 'hashchange'\n\n ]\n events.forEach((key: string) => {\n window.document.addEventListener(key, this.userActivityChangeCallback.bind(this), true);\n });\n // Object.keys(window).forEach(key => {\n // sd.push(key);\n // if (/^on/.test(key)) {\n // // window.addEventListener(key.slice(2), event => {\n // // //console.log(event);\n // // });\n // window.document.addEventListener(key, this.userActivityChangeCallback.bind(this), true);\n // }\n // });\n\n // window.document.addEventListener('click', this.userActivityChangeCallback.bind(this), true);\n // window.document.addEventListener('mouseover', this.userActivityChangeCallback.bind(this), true);\n // window.document.addEventListener('mouseout', this.userActivityChangeCallback.bind(this), true);\n // window.document.addEventListener('keydown', this.userActivityChangeCallback.bind(this), true);\n // window.document.addEventListener('keyup', this.userActivityChangeCallback.bind(this), true);\n // window.document.addEventListener('keypress', this.userActivityChangeCallback.bind(this), true);\n });\n }\n\n handleUserActiveState(event): void {\n this.reset();\n }\n\n public reset(): void {\n this.lastAction = Date.now();\n if (this.userIdlenessChecker) {\n this.userIdlenessChecker.next('RESET_TIMER');\n }\n }\n\n private initInterval(): void {\n const intervalDuration = 1000;\n this.sessionForIdle = interval(intervalDuration).pipe(\n map((tick: number) => {\n return tick;\n }),\n takeWhile(() => this.runTimer)\n );\n\n this.check();\n }\n\n private check(): void {\n this.sessionForIdle\n .subscribe(() => {\n const now = Date.now();\n const timeleft = this.lastAction + this.USER_IDLE_TIMER_VALUE_IN_MIN * 60 * 1000;\n const diff = timeleft - now;\n const isTimeout = diff < 0;\n\n this.userIdlenessChecker.next(`${diff}`);\n\n if (isTimeout) {\n window.document.removeEventListener('click', this.userActivityChangeCallback, true);\n this.zone.run(() => {\n if (this.userIdlenessChecker) {\n this.userIdlenessChecker.next('STOPPED_TIMER');\n\n if (this.FINAL_LEVEL_TIMER_VALUE_IN_MIN > 0) {\n this.secondLevelUserIdleChecker.next('SECOND_TIMER_STARTED');\n this.executeFinalTimer();\n }\n }\n this.runTimer = false;\n });\n }\n });\n }\n\n public removeActionFromStore(): void {\n localStorage.removeItem(STORE_KEY);\n }\n\n private executeFinalTimer = () => {\n this.runSecondTimer = true;\n this.initializeFinalTimer();\n }\n\n private initializeFinalTimer(): void {\n const intervalDuration = 1000;\n this.clockForIdle = interval(intervalDuration).pipe(\n map((tick: number) => {\n return tick;\n }),\n takeWhile(() => this.runSecondTimer)\n );\n\n this.checkUserActionTime();\n }\n\n private checkUserActionTime(): void {\n let timeInSecond = 60;\n let timeInMin = this.FINAL_LEVEL_TIMER_VALUE_IN_MIN - 1;\n this.clockForIdle.subscribe(() => {\n if (--timeInSecond === 0) {\n if (--timeInMin === 0) {\n timeInMin = (timeInMin > 0) ? (timeInMin - 1) : 0;\n }\n if (timeInMin === -1 && timeInSecond === 0) {\n this.runSecondTimer = false;\n\n if (this.secondLevelUserIdleChecker) {\n this.secondLevelUserIdleChecker.next('SECOND_TIMER_STOPPED');\n }\n }\n if (timeInMin < 0) {\n timeInMin = 0;\n setTimeout(() => {\n timeInSecond = 60;\n }, 800);\n } else {\n timeInSecond = 60;\n }\n }\n\n this.secondLevelUserIdleChecker.next(`${timeInMin}:${timeInSecond}`);\n });\n }\n\n ngOnDestroy(): void {\n // if (this.userIdlenessChecker) {\n // this.userIdlenessChecker.unsubscribe();\n // this.userIdlenessChecker.next('');\n // }\n\n // if (this.secondLevelUserIdleChecker) {\n // this.secondLevelUserIdleChecker.unsubscribe();\n // this.secondLevelUserIdleChecker.next('');\n // }\n }\n\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-custom-input',\n templateUrl: './custom-input.component.html',\n styleUrls: ['./custom-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true\n }\n ]\n})\nexport class CustomInputComponent implements OnInit, ControlValueAccessor {\n\n value = '';\n\n onChange: (value?: any) => void;\n\n onTouch: (event: any) => void;\n\n @Input() placeholder = '';\n\n @Input() autoFocus = false;\n\n @Input() isDisabled: boolean;\n\n @Input('type') inputType: string;\n\n @Input() edit: boolean;\n\n @Input() fxFlex;\n @Input() tabIndex;\n\n @ViewChild('input', { static: false }) input: ElementRef;\n\n ngAfterViewInit() {\n if (this.autoFocus) {\n this.onFocus()\n }\n }\n ngOnInit(): void {\n\n }\n writeValue(value: any) {\n //console.log(value)\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisableState(status: boolean) {\n this.isDisabled = status;\n }\n\n onInput(value: any) {\n if (this.onChange) {\n this.onChange(value);\n }\n }\n\n onTouched(value: any = '') {\n if (this.onTouch) {\n this.onTouch(value)\n }\n }\n\n onFocus() {\n //Normal Focus Method\n this.input.nativeElement.focus();\n\n // Another Method for set Focus\n // this.input.nativeElement.select();\n }\n}\n","\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomInputComponent } from './custom-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [CustomInputComponent],\n imports: [\n CommonModule,\n FormsModule, ReactiveFormsModule\n ],\n exports: [CustomInputComponent]\n})\nexport class CustomInputModule { }\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n FormArray,\n FormBuilder,\n FormControl,\n Validators,\n} from '@angular/forms';\nimport * as $ from 'jquery';\n@Component({\n selector: 'app-custom-otp',\n templateUrl: './custom-otp.component.html',\n styleUrls: ['./custom-otp.component.scss'],\n})\nexport class CustomOtpComponent implements OnInit, OnChanges {\n @ViewChild('inputDiv', { static: true }) inputDiv!: ElementRef;\n\n @Input() otpBoxNormal: boolean = true;\n\n @Input() otpBox: number = 8; //set count of input box's\n\n @Input() isSubmitBtn: boolean = true; //show submit button\n @Input() submitBtnName: any = 'Submit OTP'; //set submit button name\n @Input() submitBtnClass: any = 'btn btn-danger'; //Set classes\n @Output() sendOtp = new EventEmitter(); //otp callback\n\n @Input() showCloseIcon: boolean = true; //show submit button\n @Output() closeTemplateModal = new EventEmitter(); //closeTemplateModal\n\n @Input() isResendOTP: boolean = true; //show resend button\n @Output() resendOtp = new EventEmitter(); //resend callback\n @Input() resendOTPCounter: number = 30; //set resend timmer\n @Input() dynamicResendCounter: boolean = false; //show resend button\n\n @Input() title: any = null; //show mesg send to mobile\n @Input() message: any = null; //show mesg send to mobile\n @Input() showMesgOtpSendToMobile: any = null; //show mesg send to mobile\n @Input() resetOtp: boolean = false;\n @Input() onlyMessage: boolean = false;\n @Input() placeholder: string = 'OTP *';\n\n code!: FormArray;\n normalOtpInp!: FormControl\n\n count: any;\n constructor(private fb: FormBuilder) {\n\n }\n\n checkit() {\n let fullOtp: any = '';\n if (this.otpBoxNormal) {\n let inp: any = this.inputDiv.nativeElement.querySelector('input.isFirst');\n fullOtp = inp.value;\n //console.log(fullOtp);\n } else {\n this.code.value.map((val: any) => {\n fullOtp = fullOtp + val;\n });\n }\n this.sendOtp.emit(fullOtp);\n }\n ngOnInit(): void {\n if (this.otpBoxNormal) {\n this.normalOtpInp = new FormControl(null, [Validators.required, Validators.minLength(this.otpBox)]);\n } else {\n const controls: any[] = [];\n for (let i = 0; i < this.otpBox; i++) {\n controls.push(['', [Validators.required]]);\n // controls.push([i == this.otpBox-1?2:'', [Validators.required]]);\n }\n this.code = this.fb.array(controls);\n }\n\n this.resendOtpFn(false);\n }\n ngOnChanges(changes: SimpleChanges): void {\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\n //Add '${implements OnChanges}' to the class.\n if (changes) {\n // if (this.inputDiv.nativeElement) {\n setTimeout(() => {\n $($(this.inputDiv.nativeElement)[0]).find('input.isFirst')[0].focus();\n }, 1);\n // }\n }\n if (this.resetOtp) {\n this.code.reset('');\n this.resetOtp = false;\n }\n }\n\n getket(key: any) {\n return (this.code).controls[key] as FormControl;\n }\n numberOnly(event: any, lastItem?: any): boolean {\n const charCode = event.which ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n if (lastItem) {\n this.lastFnCall();\n }\n return true;\n }\n lastFnCall() {\n setTimeout(() => {\n this.checkit();\n }, 1);\n }\n resendOtpFn(reset: boolean) {\n\n if (!this.otpBoxNormal) {\n this.code.reset('');\n } else {\n this.normalOtpInp.reset('');\n }\n\n setTimeout(() => {\n $($(this.inputDiv.nativeElement)[0]).find('input.isFirst')[0].focus();\n }, 1);\n let count: number = this.resendOTPCounter;\n let inter = setInterval(() => {\n count -= 1;\n this.count = count;\n if (count == 0) {\n clearInterval(inter);\n this.count = null;\n if (this.dynamicResendCounter) {\n this.resendOTPCounter += 30;\n }\n }\n }, 1000);\n if (reset) {\n this.resendOtp.emit();\n }\n }\n}\n","\n\n\n
\n \n
\n
\n

\n

\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n \n Resend again in {{count}} second\n Resend OTP\n \n
\n\n
\n \n OTP will expire in {{count}} second\n \n
\n\n
\n \n
\n\n\n\n\n","import { NgModule } from '@angular/core';\nimport { CustomOtpComponent } from './custom-otp.component';\nimport { SharedModule } from '@shared/shared.module';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [CustomOtpComponent],\n imports: [\n CommonModule,\n SharedModule\n ],\n exports: [CustomOtpComponent],\n})\nexport class CustomOtpModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DropdownTriggerForDirective } from './dropdown-trigger-for.directive';\nimport { CdkDropdownComponent } from './cdk-dropdown/cdk-dropdown.component';\nimport { SharedModule } from '@shared/shared.module';\n\n@NgModule({\n declarations: [DropdownTriggerForDirective, CdkDropdownComponent],\n imports: [CommonModule, OverlayModule],\n exports: [DropdownTriggerForDirective, CdkDropdownComponent],\n})\nexport class CdkDropDownModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'app-cdk-dropdown',\n templateUrl: './cdk-dropdown.component.html',\n styleUrls: ['./cdk-dropdown.component.scss'],\n})\nexport class CdkDropdownComponent implements OnInit {\n @ViewChild(TemplateRef) templateRef!: TemplateRef;\n @Output() closed = new EventEmitter();\n @Input('autoClose') autoClose: boolean = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n
\n \n \n
\n
\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { EMPTY, merge, Observable, of, Subscription } from 'rxjs';\nimport { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { DropdownPanel } from './dropdown-panel';\nimport { defPos, posOptions } from '../customTooltip/custom-tooltip.directive';\n\n@Directive({\n selector: '[dropdownTriggerFor]',\n host: {\n '(click)': 'toggleDropdown()',\n },\n})\nexport class DropdownTriggerForDirective implements OnInit, OnDestroy {\n private isDropdownOpen = false;\n private overlayRef!: OverlayRef;\n private dropdownClosingActionsSub = Subscription.EMPTY;\n\n @Input('dropdownTriggerFor') public dropdownPanel!: DropdownPanel;\n @Input('ddHasBackdrop') ddHasBackdrop: boolean = true;\n @Input('backdropClose') backdropClose: boolean = true;\n @Input('setActiveClass') setActiveClass: boolean = true;\n @Input('activeClassName') activeClassName: string = 'activeDd';\n @Input('prefPos') prefPos!: ConnectedPosition;\n @Output('onDdClose') onDdClose: EventEmitter = new EventEmitter();\n\n @Input('apiCall') apiCall: boolean = false;\n @Output('apiDD') apiDD = new EventEmitter();\n\n constructor(\n private overlay: Overlay,\n private elementRef: ElementRef,\n private _Renderer2: Renderer2,\n private viewContainerRef: ViewContainerRef\n ) { }\n ngOnInit(): void { }\n toggleDropdown(): void {\n\n if (this.apiCall) {\n let calBack: Function = () => {\n this.isDropdownOpen ? this.destroyDropdown() : this.openDropdown();\n };\n this.apiDD.emit(calBack);\n } else {\n this.isDropdownOpen ? this.destroyDropdown() : this.openDropdown();\n }\n }\n\n openDropdown(): void {\n\n this.isDropdownOpen = true;\n this.overlayRef = this.overlay.create({\n hasBackdrop: this.ddHasBackdrop,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.close(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(this.prefPos ? [this.prefPos] : posOptions['bottom']),\n // .withPositions([\n // // defPos[2],\n // {\n // originX: 'start',\n // originY: 'top',\n // overlayX: 'end',\n // overlayY: 'bottom',\n // offsetX: 0,\n // offsetY: -15,\n // panelClass: 'topLeft',\n // },\n // ]),\n });\n\n const templatePortal = new TemplatePortal(\n this.dropdownPanel.templateRef,\n this.viewContainerRef\n );\n this.overlayRef.attach(templatePortal);\n if (this.setActiveClass) {\n this._Renderer2.addClass(this.elementRef.nativeElement, this.activeClassName);\n }\n this.onDdClose.emit(false);\n\n this.dropdownClosingActionsSub = this.dropdownClosingActions().subscribe(\n (val: any) => {\n this.destroyDropdown();\n }\n );\n }\n\n private dropdownClosingActions(): Observable {\n const backdropClick$ =\n this.ddHasBackdrop && this.backdropClose\n ? this.overlayRef.backdropClick()\n : EMPTY;\n const detachment$ = this.overlayRef.detachments();\n const dropdownClosed = this.dropdownPanel.closed;\n\n return merge(backdropClick$, detachment$, dropdownClosed);\n }\n\n destroyDropdown(): void {\n\n if (!this.overlayRef || !this.isDropdownOpen) {\n return;\n }\n\n this.dropdownClosingActionsSub.unsubscribe();\n this.isDropdownOpen = false;\n this.overlayRef.detach();\n this.onDdClose.emit(true);\n if (this.setActiveClass) {\n this._Renderer2.removeClass(this.elementRef.nativeElement, this.activeClassName);\n }\n\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.onDdClose.emit(true);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { FormModalComponent } from './components/form-modal/form-modal.component';\nimport { CustomModalComponent } from './components/custom-modal/custom-modal.component';\nimport { ComponentModalService } from './services/component-modal.service';\nimport { ConfirmationModalService } from './services/confirmation-modal.service';\nimport { TemplateModalService } from './services/template-modal.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { CommonFunctionsService } from './services/common-functions.service';\n\n\n\n@NgModule({\n declarations: [\n ConfirmationComponent,\n FormModalComponent,\n CustomModalComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n OverlayModule,\n PlatformModule,\n ObserversModule,\n PortalModule\n ],\n providers: [\n ComponentModalService,\n ConfirmationModalService,\n TemplateModalService,\n CommonFunctionsService\n ],\n exports: [\n OverlayModule,\n PlatformModule,\n ObserversModule,\n PortalModule,\n\n ConfirmationComponent,\n FormModalComponent,\n CustomModalComponent\n ],\n entryComponents: [\n FormModalComponent,\n ConfirmationComponent\n ]\n})\nexport class CdkCustomMdlModule { }\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { BehaviorSubject } from 'rxjs';\nimport { ConfirmationModalConfig } from '../services/confirmation-modal.service';\n\nexport class ConfirmationModalOverlayRef {\n public events = new BehaviorSubject(null);\n\n constructor(private overlayRef: OverlayRef) { }\n\n public close(customConfig?: ConfirmationModalConfig): void {\n if (customConfig?.isAnimation?.outAnimationStyle) {\n this.overlayRef.addPanelClass('animate__' + customConfig.isAnimation.outAnimationStyle)\n setTimeout(() => {\n this.overlayRef.dispose();\n }, 600);\n } else {\n this.overlayRef.dispose();\n }\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { FormModalConfig } from '../services/component-modal.service';\nexport interface OverlayCloseEvent {\n type: 'ok' | 'close';\n data: R;\n}\nexport class FormModalOverlayRef {\n afterClosed$ = new Subject>();\n constructor(private overlayRef: OverlayRef) { }\n\n\n close(customConfig?: FormModalConfig, method?: any): void {\n if (customConfig?.isAnimation?.outAnimationStyle) {\n this.overlayRef.addPanelClass('animate__' + customConfig.isAnimation.outAnimationStyle)\n setTimeout(() => {\n this._close(method ?? 'close', customConfig?.data);\n }, 600);\n } else {\n this._close(method ?? 'close', customConfig?.data);\n }\n }\n\n private _close(type: 'ok' | 'close', data?: any) {\n this.overlayRef.dispose();\n this.afterClosed$.next({\n type,\n data\n });\n this.afterClosed$.complete();\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { CustomOverlayConfig } from '../services/template-modal.service';\nexport interface OverlayCloseEvent {\n type: 'ok' | 'close';\n data: R;\n}\n\nexport class TemplateModalOverlayRef {\n afterClosed$ = new Subject>();\n\n constructor(private overlayRef: OverlayRef) { }\n\n close(customConfig?: CustomOverlayConfig|null, method?: any): void {\n if (customConfig?.isAnimation?.outAnimationStyle) {\n this.overlayRef.addPanelClass('animate__' + customConfig.isAnimation.outAnimationStyle)\n setTimeout(() => {\n this._close(method ?? 'close', customConfig);\n }, 600);\n } else {\n this._close(method ?? 'close', customConfig);\n }\n }\n\n private _close(type: 'ok' | 'close', data?: any) {\n this.overlayRef.dispose();\n this.afterClosed$.next({\n type,\n data\n });\n this.afterClosed$.complete();\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { ConfirmationModalData } from '../../interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '../../tokens/confirmation-data.token';\nimport { ConfirmationModalOverlayRef } from '../../classes/confirmation-modal.ref';\n@Component({\n selector: 'app-confirmation',\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.css']\n})\nexport class ConfirmationComponent implements OnInit {\n modalSetting: ConfirmationModalData;\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n //console.log(this.data);\n this.modalSetting = this.data;\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n}\n","
\n
\n

\n
\n\n

\n
\n
\n
\n \n \n \n
\n
\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-custom-modal',\n templateUrl: './custom-modal.component.html',\n styleUrls: ['./custom-modal.component.css']\n})\nexport class CustomModalComponent implements OnInit {\n @Output() public close = new EventEmitter();\n constructor() { }\n\n ngOnInit() {\n }\n\n public closeModal($event: any) {\n this.close.emit('close')\n }\n\n}","

\n component from ng-template works!\n

\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormModalOverlayRef } from '../../classes/form-modal.ref';\nimport { FormBuilder, FormGroup, Validators, FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { COMPONENT_MODAL_DATA } from '../../tokens/component-data.token';\n\n@Component({\n selector: 'app-form-modal',\n templateUrl: './form-modal.component.html',\n styleUrls: ['./form-modal.component.css']\n})\nexport class FormModalComponent implements OnInit {\n public form: FormGroup;\n\n constructor(\n private fb: FormBuilder,\n public dialogRef: FormModalOverlayRef,\n @Inject(COMPONENT_MODAL_DATA) public data: any\n ) {\n this.form = this.fb.group({\n firstName: ['', Validators.required],\n lastName: ['', Validators.required]\n });\n\n //console.log(this.data);\n // console.log(this);\n\n }\n\n ngOnInit() {\n }\n\n onSubmit() {\n if (this.form.valid) {\n //console.log('form is valid, save it...');\n this.dialogRef.close(this.data);\n }\n }\n\n cancel() {\n this.form.reset();\n this.dialogRef.close(this.data);\n }\n\n}","
\n
\n
\n \n
This field is required
\n
\n
\n
\n
\n \n
This field is required
\n\n
\n
\n
\n
\n \n \n
\n\n
","import { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\nimport { CustomOverlayConfig } from './template-modal.service';\n\n@Injectable()\nexport class CommonFunctionsService {\n\n constructor() { }\n setPositionStrategy(customConfig: CustomOverlayConfig, positionStrategy: GlobalPositionStrategy) {\n if (customConfig.size) {\n positionStrategy = positionStrategy\n .width(customConfig.size.width)\n .height(customConfig.size.height);\n }\n\n if (customConfig.isCentered) {\n positionStrategy = positionStrategy\n .centerHorizontally()\n .centerVertically();\n }\n\n if (customConfig.customOverlayPosition?.topLeft) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.topLeft);\n\n positionStrategy = positionStrategy\n .top(posVal[0])\n .left(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.topCenter) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.topCenter);\n\n\n positionStrategy = positionStrategy\n .top(posVal[0])\n .centerHorizontally(posVal[1])\n }\n\n if (customConfig.customOverlayPosition?.topRight) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.topRight);\n\n positionStrategy = positionStrategy\n .top(posVal[0])\n .right(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.leftCenter) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.leftCenter);\n\n positionStrategy = positionStrategy\n .centerVertically(posVal[0])\n .left(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.rightCenter) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.rightCenter);\n\n positionStrategy = positionStrategy\n .centerVertically(posVal[0])\n .right(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.leftBottom) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.leftBottom);\n\n positionStrategy = positionStrategy\n .bottom(posVal[0])\n .left(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.bottomCenter) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.bottomCenter);\n\n positionStrategy = positionStrategy\n .bottom(posVal[0])\n .centerHorizontally(posVal[1]);\n }\n\n if (customConfig.customOverlayPosition?.bottomRight) {\n let posVal: string[] = this.setMdlPosition(customConfig.customOverlayPosition?.bottomRight);\n\n positionStrategy = positionStrategy\n .bottom(posVal[0])\n .right(posVal[1]);\n }\n return positionStrategy;\n }\n\n setMdlPosition(posVal: [string, string] | boolean): string[] {\n let firstValue: string = '0px';\n let SecondValue: string = '0px';\n if (posVal.constructor === Array) {\n firstValue = posVal[0];\n SecondValue = posVal[1];\n }\n return [firstValue, SecondValue]\n }\n\n setMdlAnimation(customConfig: any, custPanelClass: any) {\n let panelCls: any = custPanelClass;\n if (customConfig?.isAnimation) {\n let updateVal: any = ['animate__animated', custPanelClass]\n let customVal: any = customConfig?.isAnimation?.inAnimationStyle;\n if (customVal) {\n if (customVal.constructor === Array) {\n customVal.forEach(element => {\n updateVal.push('animate__' + element)\n });\n } else {\n updateVal.push('animate__' + customVal)\n }\n }\n panelCls = updateVal;\n\n }\n return panelCls;\n }\n _updateDetails(orginal: any, update: any) {\n let data = orginal.filter((e: any, index: number) => {\n // update[index]['RequestId'] = user?.userId + '_' + this._commonService.UniqueRequestId()\n return _.merge(e, update[index]);\n });\n return data;\n }\n objectReplace(original: any, current: any) {\n return _.merge(original, _.pick(current, _.keys(original)));\n }\n replaceAllObjKeys = (obj, getNewKey) => {\n\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; i++) {\n this.replaceAllObjKeys(obj[i], getNewKey[i]);\n }\n }\n else if (typeof obj === \"object\") {\n for (const key in obj) {\n let ele = obj[key];\n if ((typeof ele === \"object\" || Array.isArray(ele)) && getNewKey.hasOwnProperty(key)) {\n this.replaceAllObjKeys(ele, getNewKey[key]);\n }\n else {\n obj[key] = getNewKey[key];\n // if (getNewKey.hasOwnProperty(key)) {\n // }else{\n\n // }\n }\n // const newKey = getNewKey(key);\n // obj[newKey] = obj[key];\n // if (key !== newKey) {\n // delete obj[key];\n // }\n // this.replaceAllObjKeys(obj[newKey], getNewKey);\n }\n }\n\n return obj;\n };\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector, ComponentType } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector } from '@angular/core';\n\nimport { FormModalOverlayRef } from '../classes/form-modal.ref';\nimport { CustomOverlayAnimationConfig } from '../interfaces/animation-modal-data';\nimport { customOverlayPosition } from '../interfaces/customPosition-modal-data';\nimport { COMPONENT_MODAL_DATA } from '../tokens/component-data.token';\nimport { CommonFunctionsService } from './common-functions.service';\n\n\n/**\n *\n * Is object main jo data key hai uska use kisi bhi kaam ke liye use kr sakte hai.\n *\n *\n */\nexport interface FormModalConfig {\n data?: any;\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n isCentered?: boolean;\n close?: string;\n customOverlayPosition?: customOverlayPosition | null;\n\n isAnimation?: CustomOverlayAnimationConfig | null;\n}\n\nconst DEFAULT_CONFIG: FormModalConfig = {\n hasBackdrop: true,\n backdropClass: 'my-overlay-modal-backdrop',\n panelClass: 'my-modal-panel'\n};\n\n@Injectable()\nexport class ComponentModalService {\n public dialogRef!: FormModalOverlayRef;\n constructor(\n private injector: Injector,\n private overlay: Overlay,\n private _CommonFunctionsService: CommonFunctionsService\n ) { }\n\n open(component: ComponentType, config: FormModalConfig = {}) {\n // Returns an OverlayRef (which is a PortalHost)\n const modalConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(modalConfig);\n const dialogRef = new FormModalOverlayRef(overlayRef);\n\n const overlayComponent = this.attachModalContainer(overlayRef, modalConfig, dialogRef, component);\n\n this.dialogRef = dialogRef;\n return dialogRef;\n }\n\n // tslint:disable-next-line:max-line-length\n private attachModalContainer(overlayRef: OverlayRef, config: FormModalConfig, dialogRef: FormModalOverlayRef, component: ComponentType) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n\n // private createInjector(config: FormModalConfig, dialogRef: FormModalOverlayRef): PortalInjector {\n // const injectionTokens = new WeakMap();\n\n // injectionTokens.set(FormModalOverlayRef, dialogRef);\n // injectionTokens.set(COMPONENT_MODAL_DATA, config);\n // return new PortalInjector(this.injector, injectionTokens);\n // }\n private createInjector(config: FormModalConfig, dialogRef: FormModalOverlayRef): Injector {\n return Injector.create({\n providers: [{\n provide: FormModalOverlayRef, useValue: dialogRef\n },\n {\n provide: COMPONENT_MODAL_DATA, useValue: config.data\n }]\n });\n }\n private getOverlayConfig(config: FormModalConfig): OverlayConfig {\n let positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n\n positionStrategy = this._CommonFunctionsService.setPositionStrategy(config, positionStrategy);\n let panelCls: any = this._CommonFunctionsService.setMdlAnimation(config, config.panelClass);\n\n\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: panelCls,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n\n private createOverlay(config: FormModalConfig) {\n // Returns an OverlayConfig\n const overlayConfig = this.getOverlayConfig(config);\n\n // Returns an OverlayRef\n return this.overlay.create(overlayConfig);\n }\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, PortalInjector } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, InjectionToken, Injector } from '@angular/core';\n\nimport { ConfirmationModalOverlayRef } from '../classes/confirmation-modal.ref';\nimport { ConfirmationModalData, ConfirmationSelectModalData } from '../interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '../tokens/confirmation-data.token';\n\nimport { ConfirmationComponent } from '../components/confirmation/confirmation.component'\nimport { customOverlayPosition } from '../interfaces/customPosition-modal-data';\nimport { CustomOverlayAnimationConfig } from '../interfaces/animation-modal-data';\nimport { CommonFunctionsService } from './common-functions.service';\nimport * as _ from 'lodash';\nexport const FILE_PREVIEW_DIALOG_DATA = new InjectionToken('FILE_PREVIEW_DIALOG_DATA');\n\nexport interface ConfirmationModalConfig {\n hasBackdropClick?: boolean;\n hasEscapeKeyClose?: boolean;\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n data?: ConfirmationModalData | ConfirmationSelectModalData | any;\n\n isCentered?: boolean;\n\n customOverlayPosition?: customOverlayPosition | null;\n\n isAnimation?: CustomOverlayAnimationConfig | null;\n}\n\nconst DEFAULT_CONFIG: ConfirmationModalConfig = {\n hasBackdropClick: false,\n hasEscapeKeyClose: false,\n hasBackdrop: true,\n backdropClass: 'my-overlay-modal-backdrop',\n panelClass: 'my-confirmation-panel',\n data: {\n icon: 'warning',\n title: 'Link your ICICI Bank Current Account',\n title2: 'Approve Integration Connection Request',\n msg: 'No user found for this number, please sign up',\n btnClose: 'No',\n btnConfirm: 'Yes'\n },\n};\n\n\n@Injectable()\nexport class ConfirmationModalService {\n public dialogRef!: ConfirmationModalOverlayRef;\n private localDEFAULT_CONFIG ;\n\n constructor(\n private overlay: Overlay,\n private _CommonFunctionsService: CommonFunctionsService\n ) { }\n\n open(component: ComponentType, config: ConfirmationModalConfig = {}) {\n // Returns an OverlayRef (which is a PortalHost)\n\n // this.localDEFAULT_CONFIG.data = this._CommonFunctionsService.replaceAllObjKeys(this.localDEFAULT_CONFIG,config);\n\n this.localDEFAULT_CONFIG = Object.assign({}, DEFAULT_CONFIG);\n this.localDEFAULT_CONFIG = _.merge(this.localDEFAULT_CONFIG, config);\n const modalConfig = this.localDEFAULT_CONFIG;\n console.log(this.localDEFAULT_CONFIG);\n\n // const modalConfig = { ...this.localDEFAULT_CONFIG, ...config };\n\n\n const overlayRef = this.createOverlay(modalConfig);\n const dialogRef = new ConfirmationModalOverlayRef(overlayRef);\n\n const overlayComponent = this.attachModalContainer(overlayRef, modalConfig, dialogRef, component);\n overlayRef.backdropClick().subscribe((_) => {\n if (this.localDEFAULT_CONFIG.hasBackdropClick) {\n dialogRef.close(config);\n }\n });\n overlayRef.keydownEvents().subscribe((_: KeyboardEvent) => {\n if (_.key == 'Escape') {\n if (this.localDEFAULT_CONFIG.hasEscapeKeyClose) {\n dialogRef.close(config);\n }\n }\n });\n this.dialogRef = dialogRef;\n return dialogRef;\n }\n\n private attachModalContainer(overlayRef: OverlayRef, config: ConfirmationModalConfig,\n dialogRef: ConfirmationModalOverlayRef, component: ComponentType) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n\n // private createInjector(config: ConfirmationModalConfig, dialogRef: ConfirmationModalOverlayRef): PortalInjector {\n // const injectionTokens = new WeakMap();\n\n // injectionTokens.set(ConfirmationModalOverlayRef, dialogRef);\n // injectionTokens.set(CONFIRMATION_MODAL_DATA, config.data);\n // return new PortalInjector(this.injector, injectionTokens);\n // }\n private createInjector(config: ConfirmationModalConfig, dialogRef: ConfirmationModalOverlayRef): Injector {\n return Injector.create({\n providers: [{\n provide: ConfirmationModalOverlayRef, useValue: dialogRef\n },\n {\n provide: CONFIRMATION_MODAL_DATA, useValue: config.data\n }]\n });\n }\n // private createInjector(dialogConfig: FilePreviewDialogConfig, dialogRef: FilepreviewoverlayRef): Injector {\n // return Injector.create({\n // providers: [{\n // provide: FilepreviewoverlayRef, useValue: dialogRef\n // },\n // {\n // provide: FILE_PREVIEW_DIALOG_DATA, useValue: dialogConfig.data\n // }]\n // });\n // }\n private getOverlayConfig(config: ConfirmationModalConfig): OverlayConfig {\n let positionStrategy = this.overlay.position()\n .global();\n\n positionStrategy = this._CommonFunctionsService.setPositionStrategy(config, positionStrategy);\n let panelCls: any = this._CommonFunctionsService.setMdlAnimation(config, config.panelClass);\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: panelCls,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n\n private createOverlay(config: ConfirmationModalConfig) {\n // Returns an OverlayConfig\n const overlayConfig = this.getOverlayConfig(config);\n\n // Returns an OverlayRef\n return this.overlay.create(overlayConfig);\n }\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { CdkPortal, PortalInjector } from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\nimport { TemplateModalOverlayRef } from '../classes/template-modal.ref';\nimport { CustomOverlayAnimationConfig } from '../interfaces/animation-modal-data';\nimport { customOverlayPosition } from '../interfaces/customPosition-modal-data';\nimport { CommonFunctionsService } from './common-functions.service';\n\n\nexport interface CustomOverlayConfig {\n hasBackdropClick?: boolean;\n hasEscapeKeyClose?: boolean;\n size?: any;\n isCentered?: boolean;\n data?: any,\n customOverlayPosition?: customOverlayPosition | null;\n\n isAnimation?: CustomOverlayAnimationConfig | null;\n\n}\n\n\ninterface FormModalConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: FormModalConfig = {\n hasBackdrop: true,\n backdropClass: 'my-overlay-modal-template-backdrop',\n panelClass: 'my-modal-template-panel',\n\n};\nconst DEFAULT_CUSTOM_CONFIG: CustomOverlayConfig = {\n hasBackdropClick: false,\n hasEscapeKeyClose: false,\n isCentered: true,\n size: null,\n};\n\n@Injectable()\nexport class TemplateModalService {\n\n\n\n public dialogRef!: TemplateModalOverlayRef;\n public customConfig!: CustomOverlayConfig;\n constructor(\n private injector: Injector,\n private overlay: Overlay,\n private _CommonFunctionsService: CommonFunctionsService\n ) { }\n\n open(templateRef: CdkPortal, config: FormModalConfig = {}, customConfig: CustomOverlayConfig = {}) {\n // Returns an OverlayRef (which is a PortalHost)\n this.customConfig = { ...DEFAULT_CUSTOM_CONFIG, ...customConfig };\n const modalConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(modalConfig);\n const dialogRef = new TemplateModalOverlayRef(overlayRef);\n\n const overlayComponent = this.attachModalContainer(overlayRef, modalConfig, dialogRef, templateRef);\n overlayRef.backdropClick().subscribe((_) => {\n if (this.customConfig.hasBackdropClick) {\n dialogRef.close(customConfig);\n }\n });\n overlayRef.keydownEvents().subscribe((_: KeyboardEvent) => {\n if (_.key == 'Escape') {\n if (this.customConfig.hasEscapeKeyClose) {\n dialogRef.close(customConfig);\n }\n }\n });\n\n\n this.dialogRef = dialogRef;\n // console.log(overlayRef.hostElement.focus());\n overlayRef.hostElement.focus()\n return dialogRef;\n }\n\n private attachModalContainer(\n overlayRef: OverlayRef,\n config: FormModalConfig,\n dialogRef: TemplateModalOverlayRef,\n templateRef: CdkPortal\n ) {\n const injector = this.createInjector(config, dialogRef);\n const containerRef = overlayRef.attach(templateRef);\n return containerRef;\n }\n\n // private createInjector(config: FormModalConfig, dialogRef: TemplateModalOverlayRef): PortalInjector {\n // const injectionTokens = new WeakMap();\n\n // injectionTokens.set(TemplateModalOverlayRef, dialogRef);\n\n // return new PortalInjector(this.injector, injectionTokens);\n // }\n\n private createInjector(config: FormModalConfig, dialogRef: TemplateModalOverlayRef): Injector {\n return Injector.create({\n providers: [{\n provide: TemplateModalOverlayRef, useValue: dialogRef\n }]\n });\n }\n\n private getOverlayConfig(config: FormModalConfig): OverlayConfig {\n let positionStrategy = this.overlay.position()\n .global();\n\n\n positionStrategy = this._CommonFunctionsService.setPositionStrategy(this.customConfig, positionStrategy);\n let panelCls: any = this._CommonFunctionsService.setMdlAnimation(this.customConfig, config.panelClass);\n\n\n\n\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: panelCls,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n\n private createOverlay(config: FormModalConfig) {\n // Returns an OverlayConfig\n const overlayConfig = this.getOverlayConfig(config);\n\n // Returns an OverlayRef\n return this.overlay.create(overlayConfig);\n }\n\n private setMdlPosition(posVal: [string, string] | boolean): string[] {\n let firstValue: string = '0px';\n let SecondValue: string = '0px';\n if (posVal.constructor === Array) {\n firstValue = posVal[0];\n SecondValue = posVal[1];\n }\n return [firstValue, SecondValue]\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { FormModalConfig } from '../services/component-modal.service';\n\nexport const COMPONENT_MODAL_DATA = new InjectionToken('COMPONENT_MODAL_DATA');\n","import { InjectionToken } from '@angular/core';\n\nimport { ConfirmationModalData } from '../interfaces/confirmation-modal-data';\n\nexport const CONFIRMATION_MODAL_DATA = new InjectionToken('CONFIRMATION_MODAL_DATA');\n","import { Directive, Input, TemplateRef, OnInit, ElementRef, HostListener, ViewContainerRef } from '@angular/core';\nimport { OverlayRef, Overlay, OverlayPositionBuilder, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentType, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport * as $ from \"jquery\";\n\n\nexport let defPos: ConnectedPosition[] = [\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -15,\n panelClass: 'top'\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 15,\n offsetY: 0,\n panelClass: 'right'\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 15,\n panelClass: 'bottom'\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -15,\n offsetY: 0,\n panelClass: 'left'\n },\n\n]\n\nexport const posOptions: { [key: string]: ConnectedPosition[] } = {\n top: [\n defPos[0],\n defPos[1],\n defPos[2],\n defPos[3],\n ],\n right: [\n defPos[1],\n defPos[3],\n defPos[0],\n defPos[2],\n ],\n bottom: [\n defPos[2],\n defPos[0],\n defPos[3],\n defPos[1],\n ],\n left: [\n defPos[3],\n defPos[1],\n defPos[0],\n defPos[2],\n ]\n}\n\n@Directive({\n selector: '[customTooltip]'\n})\nexport class CustomTooltipDirective implements OnInit {\n // Contenido que se va a renderizar dentro del tooltip\n // Content to be rendered within the tooltip\n @Input('customTooltip') tooltipContent: TemplateRef | ComponentType|any = null;\n @Input('customTooltipType') customTooltipType: 'default' = 'default';\n @Input('prefPos') prefPos: 'top' | 'right' | 'bottom' | 'left' = 'bottom';\n\n /** Overlay que simula ser un tooltip */\n // Overlay that simulates being a tooltip\n private _overlayRef!: OverlayRef;\n\n constructor(\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n ) { }\n\n ngOnInit(): void {\n // Si se recibe el contenido a mostrar\n // If the content to display is received\n\n if (this.tooltipContent) {\n // Se crea la configuración de posicionamiento para el tooltip\n // The positioning configuration for the tooltip is created\n\n const position = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions(posOptions[this.prefPos]);\n\n // Se crea el overlay y se guarda su referencia\n // The overlay is created and its reference is saved\n this._overlayRef = this.overlay.create({\n // Configuración para la posición del overlay\n // Settings for the position of the overlay\n positionStrategy: position,\n // Comportamiento del overlay cuando se haga scroll y se esté mostrando\n // Overlay behavior when scrolling and showing\n scrollStrategy: this.overlay.scrollStrategies.close(),\n // Clase para darle estilo al overlay\n // Class to style the overlay\n panelClass: ['custom-tooltip', this.customTooltipType],\n });\n }\n // Se muestra un error si la directiva no recibe contenido para mostrar\n // An error is displayed if the directive does not receive content to display\n else {\n // console.error('[ERROR] La directiva tiene que recibir el contenido a mostrar...');\n // console.error('[ERROR] The directive has to receive the content to display...');\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n private _show(event: MouseEvent): void {\n // Si existe overlay se enlaza con el contenido\n // If there is an overlay, it is linked to the content\n if (this._overlayRef) {\n let containerPortal: TemplatePortal | ComponentPortal;\n\n // Creamos un TemplatePortal si lo que recibió la directiva era un Template\n // We create a TemplatePortal if what the directive received was a Template\n if (this.tooltipContent instanceof TemplateRef) {\n containerPortal = new TemplatePortal(this.tooltipContent, this.viewContainerRef);\n }\n // En caso contrario creamos un ComponentPortal\n // Otherwise we create a ComponentPortal\n else {\n containerPortal = new ComponentPortal(this.tooltipContent, this.viewContainerRef);\n }\n\n // Enlazamos el portal con el overlay creado al iniciar la directiva\n // We link the portal with the overlay created when starting the directive\n this._overlayRef.attach(containerPortal);\n\n }\n }\n\n @HostListener('mouseout', ['$event'])\n private _hide(e: MouseEvent): void {\n // console.log(this.elementRef.nativeElement);\n // console.log($(this.elementRef.nativeElement).find(e.relatedTarget as HTMLElement)[0]);\n\n // Si existe un overlay se desenlaza del contenido\n // If there is an overlay, it is unlinked from the content\n\n if (this._overlayRef && !$(e.relatedTarget as HTMLElement).closest(this.elementRef.nativeElement)[0]) {\n this._overlayRef.detach();\n }\n }\n\n}\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'relipay-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss']\n})\nexport class ContentComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n\n}\n","\n","import { ContentComponent } from './content.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '@shared/shared.module';\n\n@NgModule({\n declarations: [\n ContentComponent\n ],\n imports: [\n SharedModule\n ],\n exports: [\n ContentComponent\n ]\n})\nexport class ContentModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'relipay-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n

Copyright © 2020 DesignReset, All rights reserved.

\n
\n
\n

Coded with \n \n \n

\n
\n
\n
\n","import { FooterComponent } from './footer.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '@shared/shared.module';\n\n\n\n@NgModule({\n declarations: [\n FooterComponent\n ],\n imports: [\n SharedModule\n ],\n exports: [\n FooterComponent\n ]\n})\nexport class FooterModule { }\n","import { PermissionServiceService } from '@core/services/permission-service.service';\n\nimport { DOCUMENT } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { Subject, takeUntil, Subscription } from 'rxjs';\nimport { DashboardService } from '@page/dashboard/dashboard.service';\nimport { NgbModal, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { KycServices } from '@page/dashboard/kyc/kyc-services';\nimport { KycComponent } from '@page/dashboard/kyc/kyc.component';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport {SidebarService} from \"@features/layouts/components/sidebar/sidebar-service.service\";\n\n@Component({\n selector: 'relipay-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n // isShown: boolean = false\n private _unsubscribeAll: Subject;\n userDetails: any;\n userBalance: any = '';\n userBalSubs: Subscription;\n currncyLength\n currency;\n\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private authCoreService: AuthCoreService,\n private authService: AuthCoreService,\n private router: Router,\n private dashBoardService: DashboardService,\n public config: NgbModalConfig,\n private modalService: NgbModal,\n private kycService: KycServices,\n private userDetailsService: UserDetailsService,\n private sessionStorage: SessionStorageService,\n public permission: PermissionServiceService,\n private _sideBarService: SidebarService\n ) {\n this._unsubscribeAll = new Subject();\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.userDetails=value?.data;\n }\n });\n // let session: any = this.sessionStorage.getItem('userDetails') ? JSON.parse(this.sessionStorage.getItem('userDetails')) : '';\n // this.userDetails = session?.data ?? session.user_details;\n // console.log('user detail',this.userDetails)\n }\n\n ngOnInit(): void {\n this.isOnConnect = this._sideBarService.selectedItem.value == 4;\n this.authService.updateCols\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((config: any) => {\n if (config) {\n const result = document.getElementsByClassName(\"header navbar navbar-expand-sm\");\n result[0].classList.add('expand-header')\n\n } else {\n const result = document.getElementsByClassName(\"header navbar navbar-expand-sm\");\n result[0].classList.remove('expand-header')\n\n }\n\n });\n\n this.userBalSubs = this.dashBoardService._userBalanceData.subscribe((bal: any) => {\n if (bal) {\n this.userBalance = (bal).replace(/\\B(?=(?:(\\d\\d)+(\\d)(?!\\d))+(?!\\d))/g, ',');\n }\n })\n let session: any = this.sessionStorage.getItem('userDetails');\n\n let loginSession = session ? JSON.parse(session).authtoken : false;\n if (loginSession) {\n this.getUserBalance()\n }\n };\n\n getUserBalance() {\n this.dashBoardService.userBalance();\n }\n\n onLogOut() {\n this.authCoreService.logout();\n }\n myProfile() {\n this.router.navigate(['/profile'])\n };\n\n\n async openkycModule() {\n const detail = await this.kycService.getKycDetail();\n this.kycService.kyc_detail_.next(detail);\n const modalRef = this.modalService.open(KycComponent);\n modalRef.closed.subscribe(res => {\n })\n }\n // showhide() {\n // if (!this.isShown) {\n // this.isShown = true;\n // this.document.body.classList.add('sidebar-noneoverflow');\n // this.authService.toggleCols(true)\n // } else {\n // this.isShown = false;\n // this.document.body.classList.remove('sidebar-noneoverflow');\n // this.authService.toggleCols(false)\n // }\n // }\n isOnConnect: boolean = false;\n\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next(true);\n\n this._unsubscribeAll.complete();\n }\n}\n","
\n
\n\n
\n \n
\n
\n \n \n \n
\n
\n
Total Current Balance
\n
₹ {{ userBalance }}
\n
\n \n
\n\n \n
\n
\n
\n","import { HeaderComponent } from './header.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '@shared/shared.module';\nimport { KycModule } from '@page/dashboard/kyc/kyc.module';\n\n\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n SharedModule,\n KycModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class HeaderModule { }\n","\nimport { Subscription } from 'rxjs';\nimport { DashboardService } from './../../../../pages/dashboard/dashboard.service';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\n\n@Component({\n selector: 'relipay-news',\n templateUrl: './news.component.html',\n styleUrls: ['./news.component.scss']\n})\nexport class NewsComponent implements OnInit, OnDestroy {\n userDetail: any;\n walletData: any;\n loader = false;\n\n amountDatasubscription: Subscription;\n\n constructor(\n private dashboardService: DashboardService,\n private toaster: NgxToasterService\n ) { }\n\n ngOnInit(): void {\n };\n\n\n\n\n ngOnDestroy(): void {\n\n }\n\n}\n","import { NewsComponent } from './news.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [\n NewsComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NewsComponent\n ]\n})\nexport class NewsModule { }\n","import { environment } from 'src/environments/environment';\nimport { Observable, retry, catchError, BehaviorSubject } from 'rxjs';\nimport { HttpHeaders } from '@angular/common/http';\nimport { config } from './../../../../core/services/request-url.service';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { Injectable } from '@angular/core';\nimport { PermissionServiceService } from '@core/services/permission-service.service';\nimport { Side_Bar } from '@core/common/common-config';\nimport { SessionStorageService } from '@core/services/session-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n selectedItem: BehaviorSubject = new BehaviorSubject(0);\n sideBarList: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(private _permissionService:PermissionServiceService, private _sessionStorage: SessionStorageService) {\n\n }\n\n\n refreshSidebar() {\n console.log('refreshing');\n if(!sessionStorage.getItem('userDetails')) return;\n let sideBar: any = [...Side_Bar];\n for (let i = 0; i < sideBar.length; i++){\n const e = sideBar[i];\n if (!this._permissionService.hasModule(e.module)) {\n sideBar.splice(i, 1);\n i--;\n continue;\n }\n if(e.subMenu && e.subMenu.length > 0){\n for (let j = 0; j < e.subMenu.length; j++){\n const subMenu = e.subMenu[j];\n if (!this._permissionService.hasPermission(subMenu.permission)) {\n e.subMenu.splice(j, 1);\n j--;\n }\n }\n }\n }\n this.sideBarList.next(sideBar);\n }\n\n\n\n\n}\n","\nimport { Subscription } from 'rxjs';\nimport { AfterViewInit, Component, OnInit, OnDestroy, Inject, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Side_Bar } from '@core/common/common-config';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { DOCUMENT } from '@angular/common';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { CommonService } from '@core/services/common.service';\nimport {PermissionServiceService} from \"@core/services/permission-service.service\";\nimport { SidebarService } from './sidebar-service.service';\n@Component({\n selector: 'relipay-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss']\n})\nexport class SidebarComponent implements OnInit, AfterViewInit, OnDestroy {\n\n\n sidebarList: any = [...Side_Bar];\n selectedItem: any = 0;\n loginSession: any;\n selectedBottom: any;\n dashboardStatic = {\n icon:\n \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \",\n id: 2,\n is_active: 1,\n name: \"Dashboard\",\n routeUrl: \"dashboard\"\n }\n\n userDetail: any = {\n // profile_picture: 'assets/assets/img/profile-img.jpg'\n }\n\n isShown: boolean = false\n title: string;\n\n public set _title(v: string) {\n this.title = v;\n }\n\n public get _title(): string {\n return this.title;\n }\n\n titleName: any;\n\n public set _titleName(v: string) {\n this.titleName = v;\n }\n\n public get _titleName(): string {\n return this.titleName;\n }\n\n\n payoutSideBar: any = null;\n\n public set _payoutSideBar(v: any) {\n // console.log(v);\n for (let i = 0; i < v?.length; i++) {\n if (!this._permissionService.hasPermission(v[i].permission)) {\n v.splice(i, 1);\n i--;\n }\n }\n this.payoutSideBar = v;\n // open the first menu by default\n if (this.payoutSideBar && this.payoutSideBar.length > 0) {\n this.router.navigate([this.payoutSideBar[0].routePath]);\n }\n }\n\n public get _payoutSideBar(): any {\n return this.payoutSideBar;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private authService: AuthCoreService,\n private router: Router,\n private sessionStorage: SessionStorageService,\n private sanitizer: DomSanitizer,\n private _UserDetailsService: UserDetailsService,\n private _CommonService: CommonService,\n public _permissionService: PermissionServiceService,\n private _sidebarService: SidebarService\n ) {\n this._sidebarService.sideBarList.subscribe((res: any) => {\n if(res) {\n console.log(res);\n this.sidebarList = res;\n }\n })\n\n // console.log(this._payoutSideBar)\n\n\n this._CommonService.pageTitle.subscribe((e) => {\n this._titleName = e;\n })\n\n this._CommonService.subMenu.subscribe((e) => {\n if (e) {\n this._payoutSideBar = e;\n } else {\n this._payoutSideBar = null;\n }\n })\n }\n\n\n ngOnInit(): void {\n\n this._sidebarService.refreshSidebar();\n this._sidebarService.selectedItem.subscribe(res => this.selectedItem = res)\n // console.log(this.sidebarList)\n\n this._UserDetailsService.getUserLoginDetails.subscribe((_userDetail: any) => {\n if (_userDetail) {\n _userDetail.data.profile_picture = _userDetail.data.profile_picture ? _userDetail.data.profile_picture : 'assets/assets/img/profile-img.jpg';\n this.userDetail = _userDetail.data;\n }\n })\n const selectItem = this.sessionStorage.getItem('selectd_item') ? JSON.parse(this.sessionStorage.getItem('selectd_item')) : '';\n this.selectedItem = Number(selectItem) >= 0 ? Number(selectItem) : '';\n this.selectedBottom = selectItem;\n\n }\n\n onHelp() {\n this.router.navigate(['./help'])\n }\n\n transform(html) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n ngAfterViewInit() {\n // setTimeout(() => App.init(), 300)\n\n\n }\n onSideBar(item?, index?) {\n console.log(item)\n this.selectedBottom = '';\n let session: any = this.sessionStorage.getItem('userDetails');\n this.loginSession = JSON.parse(session).data?.is_kyc == 1;\n\n if(item?.subMenu && item?.subMenu.length > 0)\n {\n this.router.navigate([`${item?.subMenu[0]?.routePath}`]);\n }\n else if(item?.routeUrl)\n this.router.navigate([`${item.routeUrl}`]);\n\n\n this.sessionStorage.setItem('selectd_item', index);\n if (this.loginSession) this.selectedItem = index;\n };\n\n clickProfile() {\n this.selectedItem = 50;\n this.router.navigate(['profile']);\n this.sessionStorage.setItem('selectd_item', this.selectedItem);\n };\n\n showhide() {\n if (!this.isShown) {\n this.isShown = true;\n this.document.body.classList.add('sidebar-noneoverflow');\n this.authService.toggleCols(true)\n } else {\n this.isShown = false;\n this.document.body.classList.remove('sidebar-noneoverflow');\n this.authService.toggleCols(false)\n }\n }\n\n bottomsidebar(selected) {\n this.selectedBottom = selected;\n this.selectedItem = '';\n this.sessionStorage.setItem('selectd_item', selected);\n }\n\n logOut() {\n this.authService.logout();\n }\n ngOnDestroy(): void {\n this.sessionStorage.removeItem('selectd_item');\n }\n\n debug(item: any) {\n return item.value;\n }\n}\n","
\n \n
\n {{_payoutSideBar?_title:_titleName}}\n
\n
\n\n\n\n
\n

{{_titleName}}

\n \n
\n\n\n","import { SidebarComponent } from './sidebar.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '@shared/shared.module';\n\n\n\n@NgModule({\n declarations: [\n SidebarComponent\n ],\n imports: [\n SharedModule,\n ],\n exports: [\n SidebarComponent\n ]\n})\nexport class SidebarModule { }\n","import { TemplateModule } from './template/template.module';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [\n TemplateModule,\n ],\n exports: [\n TemplateModule\n ]\n})\nexport class LayoutsModule { }\n","\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CommonService } from '@core/services/common.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { RnfiConfigService } from '@rnficonfig/config.service';\nimport { Subject, takeUntil, delay } from 'rxjs';\n\n@Component({\n selector: 'relipay-template',\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss']\n})\nexport class TemplateComponent implements OnInit {\n\n relipayConfig: any;\n\n public set _relipayConfig(v: any) {\n this.relipayConfig = v;\n }\n\n public get _relipayConfig(): any {\n return this.relipayConfig;\n }\n logedInUserDetails: any;\n loginData: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n payoutSideBar: any = null;\n\n public set _payoutSideBar(v: any) {\n this.payoutSideBar = v;\n }\n\n public get _payoutSideBar(): any {\n return this.payoutSideBar;\n }\n constructor(\n private _rnfiConfigService: RnfiConfigService,\n private _AuthCoreService: AuthCoreService,\n private userDetailsService: UserDetailsService,\n private _CommonService: CommonService,\n ) {\n // console.log(\"template\")\n this._unsubscribeAll = new Subject();\n\n this._CommonService.subMenu.subscribe((e) => {\n if (e) {\n this._payoutSideBar = e;\n } else {\n this._payoutSideBar = null;\n }\n })\n this._rnfiConfigService.config.pipe(takeUntil(this._unsubscribeAll))\n .subscribe((config: any) => {\n // console.log(config);\n\n this._relipayConfig = config;\n });\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n // console.log(\"login details value \", value)\n this.loginData = value?.data;\n }\n });\n\n\n }\n\n ngOnInit(): void {\n this._AuthCoreService.updateCols\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((config: any) => {\n if (config) {\n const result = document.getElementsByClassName(\"main-container\");\n //console.log('sidebar-closed add')\n\n result[0].classList.add('sidebar-closed')\n result[0].classList.remove('sbar-open')\n } else {\n const result = document.getElementsByClassName(\"main-container\");\n result[0].classList.remove('sidebar-closed')\n result[0].classList.add('sbar-open')\n //console.log('sidebar-closed remove')\n }\n });\n\n this._AuthCoreService.isSubMenu.pipe(takeUntil(this._unsubscribeAll)).subscribe((res: any) => {\n const result = document.getElementsByClassName(\"main-container\");\n if(res) {\n result[0].classList.add('is-submenu')\n }\n else {\n result[0].classList.remove('is-submenu')\n }\n })\n\n }\n\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next(true);\n this._unsubscribeAll.complete();\n }\n\n}\n","\n\n\n\n
\n\n
\n
\n\n \n\n \n \n\n\n \n \n\n \n\n \n\n\n\n
\n \n \n\n \n\n \n\n \n\n \n\n
\n
\n","\nimport { SharedModule } from '@shared/shared.module';\n// import { TemplateComponent } from './template.component';\n\nimport { NgModule } from '@angular/core';\n\n\nimport { SidebarModule } from '../components/sidebar/sidebar.module';\nimport { HeaderModule } from '../components/header/header.module';\nimport { FooterModule } from '../components/footer/footer.module';\nimport { ContentModule } from '../components/content/content.module';\nimport { TemplateComponent } from './template.component';\n\n@NgModule({\n declarations: [\n TemplateComponent\n ],\n imports: [\n SharedModule,\n SidebarModule,\n HeaderModule,\n FooterModule,\n ContentModule,\n ],\n exports: [\n TemplateComponent\n ]\n})\nexport class TemplateModule { }\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport * as _ from 'lodash';\n\n@Component({\n selector: 'app-show-errors',\n templateUrl: './show-errors.component.html',\n styleUrls: ['./show-errors.component.scss'],\n})\nexport class ShowErrorsComponent implements OnInit {\n @Input() ctrl: any;\n @Input() setErrorMessage: {} = {};\n @Input() requiredMesg: string = 'required';\n @Input() patternMesg: string = 'Pattern not valid';\n @Input() showErrorWithoutTouched: boolean = false;\n ERROR_MESSAGE: ValidationErrors = {\n required: () => this.requiredMesg,\n // maxAge: () => `Age should be greather then 18.`,\n pattern: () => this.patternMesg,\n minlength: (par: any) => `Min ${par.requiredLength} characters is required`,\n min: (min: any) => `Min ${min.min} amount is required.`,\n maxlength: (par: any) => `Max ${par.requiredLength} characters are allowed`,\n ptDate: () => 'Enter Valid Date',\n specialcharacters: () => `special characters not allowed`,\n // email: () => `Please Enter Valid Email Id`\n dynError: (v) => `${v}`\n };\n\n constructor() { }\n\n ngOnInit() {\n this.ERROR_MESSAGE = _.assign({}, this.ERROR_MESSAGE, this.setErrorMessage);\n }\n\n shouldShowErrors() {\n return this.ctrl && this.ctrl.errors && (this.ctrl.touched || this.showErrorWithoutTouched)\n }\n\n listOfErrors() {\n return Object.keys(this.ctrl.errors).map((err: any) => {\n\n return this.ERROR_MESSAGE[err] ? this.ERROR_MESSAGE[err](this.ctrl.getError(err)) : this.ctrl.getError(err);\n });\n }\n getTypeOf(error: any) {\n\n return typeof error\n }\n}\n","
\n
\n \n \n {{getTypeOf(error) === 'function'? error():error}}\n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShowErrorsComponent } from './show-errors.component';\n\n@NgModule({\n declarations: [ShowErrorsComponent],\n imports: [CommonModule],\n exports: [ShowErrorsComponent],\n})\nexport class ShowErrorsModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SliderToggleComponent } from './slider-toggle/slider-toggle.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n SliderToggleComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [\n SliderToggleComponent\n ],\n})\nexport class SliderToggleModule { }\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-slider-toggle',\n templateUrl: './slider-toggle.component.html',\n styleUrls: ['./slider-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderToggleComponent),\n multi: true,\n },\n ],\n})\nexport class SliderToggleComponent implements OnInit,OnChanges, ControlValueAccessor {\n\n @Input() toggelButtonType: any = '';\n @Input() id: any = '';\n @Input() toggleText:any = {0:'Kyc', 1:'Merc'};\n // @Output() sliderModelChange: EventEmitter = new EventEmitter()\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n }\n /*ControlValueAccessor Functions */\n _input: any = null;\n\n\n onChange(v){\n console.log(\"v\" , v);\n\n // this.sliderModelChange.emit(this._input);\n };\n onTouch: any = () => { };\n @Input('disabled')disabled: boolean = false;\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n writeValue(input: any) {\n this._input = input;\n }\n}\n","
\n \n \n
\n\n
\n
\n
\n \n
\n
\n
\n
\n","\nimport { Router } from '@angular/router';\nimport { AsyncSubject, BehaviorSubject, Subject } from 'rxjs';\n\nimport { config } from './../../core/services/request-url.service';\nimport { ApiRequestService } from './../../core/services/api-request.service';\nimport { Injectable } from '@angular/core';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { AutoLogoutService } from '@features/autoLogout/service/auto-logout.service';\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class AuthCoreService {\n //loginUserName: Subject = new Subject();\n userForgetPasswordData = new AsyncSubject();\n isSessionTimeOut: BehaviorSubject = new BehaviorSubject(false);\n encrypted: boolean | undefined = undefined;\n unSub: AutoLogoutService;\n isSubMenu: BehaviorSubject = new BehaviorSubject(false);\n constructor(private apiRequest: ApiRequestService,\n private route: Router,\n private ngrxToaster: NgxToasterService,\n private sessionStorage: SessionStorageService,\n private _AutoLogoutService: AutoLogoutService,\n ) {\n this.unSub = _AutoLogoutService;\n // this.positions();\n }\n\n // login api integration\n login(payloadData: any) {\n return this.apiRequest.postdataWithoutHeader(payloadData, config.auth['login']);\n };\n\n // verify OTP integration\n verifyOtp(payload: any) {\n return this.apiRequest.postdata(payload, config.auth['verifyOtp']);\n };\n\n // change password integration\n changePassword(payload: any, url: string) {\n return this.apiRequest.postdata(payload, config.auth[url]);\n };\n\n // change password integration\n updatePassword(payload: any) {\n return this.apiRequest.postdata(payload, config.auth['updatePassword']);\n };\n\n // forget password send OTP integration\n forgetPassword(payload: any) {\n return this.apiRequest.postdata(payload, config.auth['forgetPassword']);\n };\n\n // forget password verify OTP integration\n forgetPasswordVerifyOtp(payload: any) {\n return this.apiRequest.postdata(payload, config.auth['forgetPasswordVerifyOtp']);\n };\n\n // setting permission api integration\n permission(payload: any) {\n return this.apiRequest.postdata(payload, config.auth['permission']);\n };\n\n\n // getting current positions\n getPosition(): Promise {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resp => {\n resolve({ lng: resp.coords.longitude, lat: resp.coords.latitude });\n },\n err => {\n reject(err);\n });\n });\n\n\n\n };\n sidebarColps: boolean = false;\n private cols = new BehaviorSubject(this.sidebarColps)\n updateCols = this.cols.asObservable();\n toggleCols(value: boolean) {\n this.cols.next(value)\n }\n // getting current positions\n // userPosition(): Promise\n // {\n // return new Promise((resolve, reject) => {\n // navigator.geolocation.getCurrentPosition(resp => {\n // resolve({lng: resp.coords.longitude, lat: resp.coords.latitude});\n // },\n // err => {\n // reject(err);\n // });\n // }).then(\n // (positions: any) => {\n // if (positions) {\n // AppData.latLang.next({\n // lat:positions.lat,\n // lang:positions.lng\n // })\n\n // }\n // }\n // );\n // };\n\n\n\n logout(hardLogout: boolean = true, errorMsg?: string) {\n if (hardLogout) {\n let payload: FormData = new FormData()\n //this.isSessionTimeOut.next(false);\n this.apiRequest.postdataAdmin(payload, config.auth['logout']).subscribe(\n\n (resp: any) => {\n if (resp.statuscode === 200) {\n this.ngrxToaster.showSuccess(resp.msg, undefined);\n\n }\n this.sessionStorage.clearStorage();\n },(error: any) => {\n this.sessionStorage.clearStorage();\n }\n\n );\n } else {\n this.sessionStorage.clearStorage();\n this.sessionStorage.removeItem('userDetails')\n this.ngrxToaster.showError(errorMsg ?? 'Session Expired!!', 'Error');\n }\n\n setTimeout(() => {\n this.unSub.uninit()\n // let un: any = this._AutoLogoutService.userIdlenessChecker;\n // let unq: any = this._AutoLogoutService.secondLevelUserIdleChecker;\n // un.unsubscribe();\n // unq.unsubscribe();\n }, 1);\n\n this.route.navigate(['/login']);\n\n }\n\n shouldEncryptApiRequest(){\n return this.apiRequest.postdata('', config['shouldApiEncryptDecrypt']);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {ApiRequestService} from '../../core/services/api-request.service';\nimport { config } from '@core/services/request-url.service';\nimport { environment } from 'src/environments/environment';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SignUpService {\n\n // signUpSteps:BehaviorSubject = new BehaviorSubject({ signUpUsername: '', companyTypeMobile: ''});\n\n corporateBaseUrl=environment.corporateBaseUrl;\n constructor(\n private apiRequest: ApiRequestService,\n ) { }\n\n createUser(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.SignUp.createUser);\n }\n getCompanyList(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.SignUp['getCompanyList']);\n }\n assignCompanyToUser(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.SignUp['assignCompany'])\n }\n assignContactToUser(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.SignUp['assignContact'])\n }\n\n\n validateOtp(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.SignUp['ValidateOTP'])\n };\n\n createNewUser(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.createNewUser);\n };\n\n sendOTP(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.sendOTP);\n }\n\n sendEmail(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.sendEmail);\n }\n sendEmailOTP(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.sendEmailOTP);\n }\n verifyEmailOTP(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.verifyEmailOTP);\n }\n getDataFromToken(payload: any){\n return this.apiRequest.postdata(payload, config.SignUp.resellerDetails);\n }\n}\n","import { BehaviorSubject, Subscription } from 'rxjs';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { Injectable, Output, EventEmitter } from '@angular/core';\n\nimport { config } from './../../core/services/request-url.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { SignUpService } from '@page/auth/sign-up.service';\nimport { TicklerService } from '@page/tickler.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService {\n\n transListSubs: Subscription;\n userBalSubs: Subscription;\n bussinesstrendsSubs: Subscription;\n leadCountSubs: Subscription;\n categoryWiseTargetSub: Subscription;\n paymentModeTransferSub: Subscription;\n\n @Output() dashboardCall: EventEmitter = new EventEmitter();\n\n firmList: BehaviorSubject = new BehaviorSubject('');\n businessCategoryList: BehaviorSubject = new BehaviorSubject('');\n\n transactionData: BehaviorSubject = new BehaviorSubject('');\n userBalanceData: BehaviorSubject = new BehaviorSubject('');\n bussinessTrendsData: BehaviorSubject = new BehaviorSubject('');\n leadCountData: BehaviorSubject = new BehaviorSubject('');\n categoryWiseTarget: BehaviorSubject = new BehaviorSubject('');\n paymentModeTransfer: BehaviorSubject = new BehaviorSubject('');\n selectedDate: BehaviorSubject = new BehaviorSubject('');\n dashboardModalClose: BehaviorSubject = new BehaviorSubject('');\n from_date: string;\n to_date: string;\n\n get _transactionData() {\n return this.transactionData.asObservable();\n };\n get _userBalanceData() {\n return this.userBalanceData.asObservable();\n };\n get _bussinessTrendsData() {\n return this.bussinessTrendsData.asObservable();\n };\n get _leadCountData() {\n return this.leadCountData.asObservable();\n };\n get _categoryWiseTarget() {\n return this.categoryWiseTarget.asObservable();\n };\n get _paymentModeTransfer() {\n return this.paymentModeTransfer.asObservable();\n };\n\n constructor(\n private apiRequestService: ApiRequestService,\n private _NgxToasterService: NgxToasterService,\n private signUpServices: SignUpService,\n private _TicklerService: TicklerService,\n\n ) {\n DashboardService.instance = this;\n\n this.dashboardCall.subscribe(() => {\n // this.userBalance();\n console.log(\"inside instance\")\n // this.getTransactionList();\n // this.bussinessTrends();\n })\n };\n\n loadDashboard() {\n if (!this.transactionData.getValue()) {\n this.getTransactionList();\n }\n if (!this.bussinessTrendsData.getValue()) {\n this.bussinessTrends();\n }\n if (!this.leadCountData.getValue()) {\n this.leadCount();\n }\n if (!this.categoryWiseTarget.getValue()) {\n this.getCategoryWiseTarget();\n }\n if (!this.paymentModeTransfer.getValue()) {\n this.getPaymentModeTransfer();\n }\n if (!this._TicklerService.ticklersData.getValue()) {\n this._TicklerService.getTicklers();\n }\n }\n\n getCategoryWiseTarget(\n from_date: string = '',\n to_date: string = ''\n ) {\n this.from_date = from_date;\n this.to_date = to_date;\n // console.log(this.from_date);\n if (this.from_date && this.to_date) {\n let formData: FormData = new FormData();\n formData.append('from_date', from_date)\n formData.append('to_date', to_date)\n this.categoryWiseTargetSub = this.apiRequestService.postAdminDataReporting(formData, config['dashboard'].categoryWiseTarget.url).subscribe({\n next: (resp: any) => {\n if (resp.statuscode === 200) {\n this.categoryWiseTarget.next(resp)\n } else {\n this.categoryWiseTarget.next([]);\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n\n\n }, error: (err: any) => {\n this.categoryWiseTarget.next([])\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n }\n\n };\n\n getPaymentModeTransfer(\n from_date: string = '',\n to_date: string = ''\n ) {\n this.from_date = from_date;\n this.to_date = to_date;\n if (this.from_date && this.to_date) {\n let formData: FormData = new FormData();\n formData.append('from_date', from_date)\n formData.append('to_date', to_date)\n this.paymentModeTransferSub = this.apiRequestService.postAdminDataReporting(formData, config['dashboard'].paymentModeTransfer.url).subscribe({\n next: (resp: any) => {\n if (resp.statuscode === 200) {\n this.paymentModeTransfer.next(resp)\n } else {\n this.paymentModeTransfer.next([]);\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n }, error: (err: any) => {\n this.paymentModeTransfer.next([])\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n }\n };\n\n\n\n getTransactionList() {\n this.transListSubs = this.apiRequestService.postAdminDataReporting(null, config['dashboard'].transactionList.url).subscribe({\n next: (resp: any) => {\n if (resp.statuscode === 200) {\n this.transactionData.next(resp.data)\n } else {\n this.transactionData.next([])\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n\n\n }, error: (err: any) => {\n\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n };\n\n\n static _userBalance() {\n this.instance.userBalance();\n }\n static instance: DashboardService;\n userBalance(): Promise {\n return new Promise((res, rej) => {\n this.userBalSubs = this.apiRequestService.postAdminData(null, config['dashboard'].userBalance.url).subscribe((resp: any) => {\n if (resp.statuscode === 200) {\n this.userBalanceData.next(resp.balance)\n res(resp.balance);\n } else {\n this.userBalanceData.next([]);\n this._NgxToasterService.showError(resp.message, \"Error\");\n rej(false);\n }\n })\n })\n // return this.apiRequestService.postAdminData(null, config['dashboard'].userBalance.url);\n\n };\n\n leadCount(\n dateType: string | null = 'Today',\n from_date: string = '',\n to_date: string = ''\n ) {\n this.from_date = from_date;\n this.to_date = to_date;\n let formData: FormData = new FormData();\n formData.append('date', dateType as string)\n formData.append('from_date', from_date)\n formData.append('to_date', to_date)\n this.apiRequestService.postAdminDataReporting(null, config['dashboard'].dashboardCount.url).subscribe((resp: any) => {\n // console.log(resp);\n\n if (resp.statuscode === 200) {\n this.leadCountData.next(resp)\n } else {\n this.leadCountData.next([]);\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n\n\n })\n };\n\n bussinessTrends(\n dateType: string | null = 'Today',\n from_date: string = '',\n to_date: string = ''\n ) {\n this.from_date = from_date;\n this.to_date = to_date;\n // this.leadCount();\n\n let formData: FormData = new FormData();\n formData.append('date', dateType as string)\n formData.append('from_date', from_date)\n formData.append('to_date', to_date)\n this.bussinesstrendsSubs = this.apiRequestService.postAdminDataReporting(formData, config['dashboard'].bussinessTrends.url).subscribe({\n next: (resp: any) => {\n // console.log(resp)\n if (resp.statuscode === 200) {\n this.bussinessTrendsData.next(resp)\n } else {\n this.bussinessTrendsData.next([]);\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n\n\n }, error: (err: any) => {\n this.bussinessTrendsData.next([])\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n };\n\n\n ngOnDestroy(): void {\n if (this.transListSubs) {\n this.transListSubs.unsubscribe();\n }\n if (this.userBalSubs) {\n this.userBalSubs.unsubscribe();\n }\n if (this.bussinesstrendsSubs) {\n this.bussinesstrendsSubs.unsubscribe()\n }\n if (this.leadCountSubs) {\n this.leadCountSubs.unsubscribe()\n }\n if (this.categoryWiseTargetSub) {\n this.categoryWiseTargetSub.unsubscribe()\n }\n if (this.paymentModeTransferSub) {\n this.paymentModeTransferSub.unsubscribe()\n }\n };\n\n getCompanyList() {\n this.businessCategoryList.subscribe(res => {\n if (!res) {\n this.getFirmList();\n this.getBusinessCategotyList();\n }\n })\n }\n getFirmList() {\n let formData = new FormData();\n formData.append('type', '1');\n // let payLoad = { type: 1 };\n this.signUpServices.getCompanyList(formData).subscribe(res => {\n this.firmList.next(res.company_list);\n })\n }\n getBusinessCategotyList() {\n let formData = new FormData();\n formData.append('type', '2');\n this.signUpServices.getCompanyList(formData).subscribe(res => {\n this.businessCategoryList.next(res.company_list);\n })\n }\n\n resetDashboarBehaviours() {\n // this.businessCategoryList.next(null);\n this.transactionData.next(null);\n this.userBalanceData.next(null);\n this.bussinessTrendsData.next(null);\n this.leadCountData.next(null);\n this.categoryWiseTarget.next(null);\n this.paymentModeTransfer.next(null);\n this.selectedDate.next(null);\n this.dashboardModalClose.next(null);\n this._TicklerService.ticklersData.next(null);\n }\n}\n","import { Component, OnInit, Output, ViewChild, ElementRef, EventEmitter } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { KycServices } from '../kyc-services';\nimport { BankListService } from '@core/services/bank-list.service';\nimport { FileuploadService } from '@core/services/file-upload.service';\nimport { ConfirmedValidator } from '@core/common/common-function';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { regExpNativePatternValidator } from '@core/utility/validator';\nimport { ConfirmationModalConfig, ConfirmationModalService } from '@features/customCDK/cdkCustomMdl/services/confirmation-modal.service';\nimport { ConfirmationComponent } from '@features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component';\nimport { filter } from 'rxjs';\nimport { DocModalComponent } from '@shared/components/doc-modal/doc-modal.component';\n\n@Component({\n selector: 'app-bank-detail',\n templateUrl: './bank-detail.component.html',\n styleUrls: ['./bank-detail.component.scss']\n})\nexport class BankDetailComponent implements OnInit {\n\n @ViewChild('checkFile') selectedfile: ElementRef;\n @Output() saveBankDetail = new EventEmitter();\n submitted: boolean = false;\n file_url: string = 'assets/assets/img/upload_file.png';\n bankList: any[] = this.bankListService.bankList.getValue();\n user_id: number;\n form: UntypedFormGroup;\n file_: File;\n kycStep_: any;\n status: any = '';\n constructor(\n private toaster: NgxToasterService,\n private kycServices: KycServices,\n private fb: UntypedFormBuilder,\n private _FileuploadService: FileuploadService,\n private bankListService: BankListService,\n private userDetailsService: UserDetailsService,\n private _ConfirmationModalService: ConfirmationModalService,\n ) {\n this.bankListService.bankList.subscribe(res=>{\n if (!res) {\n this.bankListService.getBankList();\n } else {\n this.bankList=res;\n }\n })\n }\n\n ngOnInit(): void {\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.kycStep_ = value?.data?.kyc_step;\n }\n });\n this.form = this.fb.group({\n bankId: ['', [Validators.required]],\n accountHolderName: ['', [Validators.required]],\n accountNumber: ['', [Validators.required]],\n c_accountNumber: ['', [Validators.required]],\n ifscCode: ['', [\n Validators.required, regExpNativePatternValidator(\n 'ifsc', { termconditionError: () => `Please Enter valid ifsc code.`, }\n )\n ],],\n cancelChequeUrl: ['', Validators.required],\n }, {\n validator: ConfirmedValidator('accountNumber', 'c_accountNumber') // adding custom validation to compare account and confirm account number\n });\n setTimeout(() => {\n this.bindBankDetail();\n }, 500);\n this.form.get('bankId')?.valueChanges.subscribe((val: any) => {\n this.form.get('ifscCode')?.setValue(val.ifsc)\n })\n\n }\n\n bindBankDetail() {\n const kyc_data = this.kycServices.kyc_detail_.getValue();\n const kycDetail = kyc_data.kyc_list;\n this.status = kycDetail.bankdetail.status;\n if (kycDetail.bankdetail.status == 1 || kycDetail.bankdetail.status == 2) {\n this.status = '';\n this.file_url = kycDetail.bankdetail.cheque_path;\n this.status = kycDetail.bankdetail.status;\n this.form.patchValue({\n bankId: this.bankList.filter(re => re.id == kycDetail.bankdetail.bank_id)[0],\n accountHolderName: kycDetail.bankdetail.holder_name,\n accountNumber: kycDetail.bankdetail.account_number,\n c_accountNumber: kycDetail.bankdetail.account_number,\n ifscCode: kycDetail.bankdetail.ifsc,\n cancelChequeUrl: kycDetail.bankdetail.cheque_path\n }, { emitEvent: false })\n if (kycDetail.bankdetail.status || !kycDetail.bankdetail.update_counter) {\n this.form.disable();\n }\n }\n }\n\n get bankDetailControle() {\n return this.form.controls;\n }\n onFileChange(event, unLinkUrl) {\n const unlinkrl = (unLinkUrl == 'assets/assets/img/upload_file.png') ? '' : unLinkUrl;\n this.getDocumentUrl(event, unlinkrl);\n }\n\n async getDocumentUrl(file, unLink_Url) {\n this.file_ = file.target.files[0];\n // const fileExt=this.file_.name.split('.')[1];\n const fileExt = this.file_.name.split('.')[(this.file_.name.split('.').length) - 1].toLowerCase();\n if (fileExt != 'jpeg' && fileExt != 'jpg' && fileExt != 'png') {\n this.selectedfile.nativeElement.value = \"\";\n this.toaster.showError('You can only upload JPG, PNG and JPEG file', 'Error');\n return;\n }\n let uploadedFile = await this._FileuploadService.uploadFileFn(this.file_, unLink_Url);\n if (uploadedFile.response == 1) {\n this.file_url = uploadedFile.pan_proof;\n this.form.patchValue({ cancelChequeUrl: uploadedFile.pan_proof });\n // this.verifyCheque();\n } else {\n this.toaster.showError(uploadedFile.message, 'Error');\n }\n }\n\n onSaveBankDetail() {\n this.submitted = true;\n if (this.form.invalid) {\n return;\n }\n\n let customConfig: ConfirmationModalConfig = {\n data: {\n icon: 'info',\n title: 'Final Confirmation',\n title2: '',\n msg: \"Are you sure to proceed with these documents, NOTE: Details once submitted will not be changed?\",\n btnConfirm: 'Confirm',\n btnClose: 'Cancel'\n },\n };\n\n let confirmationRef =\n this._ConfirmationModalService.open(\n ConfirmationComponent,\n customConfig\n );\n confirmationRef.events.pipe(\n filter((event) => {\n //console.log(event);\n return !!event\n }),\n ).subscribe(async (events) => {\n switch (events.type) {\n case 'confirm':\n confirmationRef.close(customConfig);\n const formControls = (Object.keys(this.form.value).length != 0) ? this.form.value : this.form.getRawValue();\n const payload = new FormData();\n payload.append('file', this.file_);\n payload.append('type', 'CHEQUE');\n payload.append('fileurl', this.file_url);\n payload.append('bank_id', formControls.bankId.id)\n payload.append('holder_name', formControls.accountHolderName)\n payload.append('account_number', formControls.accountNumber)\n payload.append('ifsc', formControls.ifscCode)\n this.kycServices.chequeOcr(payload).subscribe({\n next:(res:any) => {\n if (res.statuscode == 200) {\n if(res.reupload){\n this.toaster.showError(res.message,\"Error\");\n }else if(!res.reupload && !res.call_api_verify){\n this.callFinalKyc();\n this.toaster.showSuccess(res.message,\"Success\");\n }else{\n\n // if (res.data.account_number != formControls.accountNumber) {\n // this.toaster.showInfo('Account Number Does not match', \"Info\")\n // }\n\n let formData: FormData = new FormData();\n formData.append('bank_id', formControls.bankId.id)\n formData.append('holder_name', formControls.accountHolderName)\n formData.append('account_number', formControls.accountNumber)\n formData.append('ifsc', formControls.ifscCode)\n this.kycServices.addBankDetails(formData).subscribe(resu => {\n if (resu.statuscode == 200) {\n if(resu.reupload){\n this.toaster.showError(resu.message,\"Error\");\n }else{\n this.toaster.showSuccess(resu.message,\"Success\");\n this.callFinalKyc();\n }\n } else {\n this.toaster.showError(res.message, \"Error\");\n }\n }\n )\n }\n\n }\n } , error: (err: any) =>{\n this.toaster.showError(err.message, \"Error\");\n }})\n\n break;\n case 'close':\n confirmationRef.close(customConfig);\n break;\n }\n });\n\n }\n\n callFinalKyc(){\n let payload_: FormData = new FormData();\n this.kycServices.finalKycUpdate(payload_).subscribe(resp => {\n if (resp) {\n this.userDetailsService.updateLocalStorage(\n { ['data.kyc_step']: resp.kyc_step }\n )\n this.saveBankDetail.emit(true);\n // this.toaster.showSuccess(resp.message, \"Success\");\n }\n })\n }\n\n viewDoc(value:any){\n let customConfigData: ConfirmationModalConfig = { data:{img:value}};\n let confirmationRef =this._ConfirmationModalService.open(DocModalComponent,customConfigData);\n }\n}\n","
\n
\n
\n
Provide your bank 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 Confirm Account number is Required\n \n\n
\n Account Number and Confirm Account Number not matched
\n\n
\n
\n\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n

Upload Cancelled Cheque *

\n
\n
\n
\n \n

Drop file here or Click to Upload

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

Details should be of the mentioned business only*

\n
\n
\n \n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BankDetailComponent } from './bank-detail.component';\nimport { SharedModule } from '@shared/shared.module';\n\n\n\n@NgModule({\n declarations: [BankDetailComponent],\n imports: [\n SharedModule\n ],\n exports:[BankDetailComponent]\n})\nexport class BankDetailModule { }\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { MoreDetailRequiredComponent } from '../more-detail-required/more-detail-required.component';\nimport { DashboardService } from '@page/dashboard/dashboard.service';\nimport { KycServices } from '../kyc-services';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { CommonService } from '@core/services/common.service';\nimport * as _ from 'lodash'\nimport { regExpNativePatternValidator } from '@core/utility/validator';\nimport { config } from \"@core/services/request-url.service\";\nimport { filter, Subscription } from 'rxjs';\nimport { ConfirmationModalConfig, ConfirmationModalService } from '@features/customCDK/cdkCustomMdl/services/confirmation-modal.service';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationComponent } from '@features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component';\nimport { UtilityService } from '@core/services/utility.service';\n\n@Component({\n selector: 'app-business-detail',\n templateUrl: './business-detail.component.html',\n styleUrls: ['./business-detail.component.scss']\n})\nexport class BusinessDetailComponent implements OnInit, OnDestroy {\n\n userDetail: any;\n firm_list: any;\n business_category_list: any;\n dateFormat = 'MM/dd/yyyy';\n form: UntypedFormGroup = this.fb.group({\n user_id: ['', [Validators.required]],\n business_type_id: ['', [Validators.required]],\n business_category_id: ['', [Validators.required]],\n business_entity: ['', [Validators.required]],\n other_sub_category: [''],\n business_name: [{ value: '', disabled: true }, [Validators.required]],\n description: ['',[Validators.required]],\n isOperational_address: ['1', [Validators.required]],\n address_street_no: [{ value: '', disabled: true }, [Validators.required]],\n address_pin_code: [{ value: '', disabled: true }, [Validators.required]],\n address_city_name: [{ value: '', disabled: true }, [Validators.required]],\n address_state_name: [{ value: '', disabled: true }, [Validators.required]],\n constitution_of_business: [''],\n operational_street_no: ['', [Validators.required]],\n operational_pin_code: ['', [Validators.required]],\n operational_city_name: ['', [Validators.required]],\n operational_state_name: ['', [Validators.required]],\n address: [''],\n pan_number: [''],\n doctype: [''],\n state_shop: [''],\n state_code: [''],\n site_reg_date: ['', [Validators.required]],\n domain_origin: ['', [Validators.required]],\n site_url: ['', [Validators.required]],\n });\n @Output() isSavedBusinessDetail = new EventEmitter();\n isEditBusinessDetail: boolean = false;\n currentKycStep: number | string;\n gstn_rep_obj: any = { business_name: '', constitution_of_business: '', pan_number: '', gstn_no: '', address: '' };\n documentList: any[] = [\n { id: 1, type: 'GST', value: 'GSTIN No.', is_show: true, is_trust_show: true },\n { id: 2, type: 'SHOP', value: 'Shop', is_show: true, is_trust_show: false },\n { id: 3, type: 'UDYAM', value: 'Udgyog Aadhar', is_show: true, is_trust_show: false },\n // {id:4,type:'COI',value:'COI',is_show:false,is_trust_show:true}\n ]\n shopStateList: any[] = [];\n conditionError: string = '';\n storeSubs: Subscription;\n udyamSubs: Subscription;\n udyamDetailSubs: Subscription;\n udyamStoreSubs: Subscription;\n confirmationRef: ConfirmationModalOverlayRef;\n company_id:any;\n businessEntity:any[]=[\n {name:'Regulatory',value:'regulatory'},\n {name:'Non-regulatory',value:'nonregulatory'},\n ]\n constructor(\n private modalService: NgbModal,\n private dashBordService: DashboardService,\n private kycServices: KycServices,\n private toaster: NgxToasterService,\n private fb: UntypedFormBuilder,\n private route: ActivatedRoute,\n private userDetailsService: UserDetailsService,\n private _ConfirmationModalService: ConfirmationModalService,\n private _CommonService: CommonService,\n private _UtilityService: UtilityService\n ) {\n }\n\n async ngOnInit() {\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.currentKycStep = value?.data?.kyc_step;\n this.company_id=value?.data?.company_id;\n }\n });\n\n this.form.get('business_type_id')?.valueChanges.subscribe(resu => {\n // console.log(\"resppp \", resu)\n this.company_id=resu\n // this.addControls();\n // setTimeout(() => {\n // && resu != 12\n if (resu != 3) {\n this.form.get('doctype')?.setValue('GST');\n this.form.get('doctype')?.disable();\n setTimeout(() => {\n // this.form.controls['doctype']?.disabled;\n this.addGstControle();\n this.form.removeControl('shop_number');\n this.form.removeControl('udyam_no');\n }, 1);\n this._UtilityService.setRemoveValidator('r',this.form,['state_code','doctype'],Validators.required);\n } else {\n this.form.get('doctype')?.enable();\n this.form.get('doctype')?.setValue('');\n this._UtilityService.setRemoveValidator('a',this.form,'doctype',Validators.required);\n }\n // }, 1);\n\n })\n\n this.form.get('business_category_id')?.valueChanges.subscribe(resp => {\n this.form.get('other_sub_category')?.setValue('');\n\n if (resp == 13) {\n this.form.get('other_sub_category')?.setValidators(Validators.required)\n } else {\n this.form.get('other_sub_category')?.removeValidators(Validators.required);\n }\n this.form.get('other_sub_category')?.updateValueAndValidity();\n })\n\n // this.currentKycStep = this.sessionStorage.getItem('kycSteps');\n if (this.currentKycStep) {\n if (this.currentKycStep > 2) { this.isEditBusinessDetail = true; }\n }\n\n\n this.firm_list = this.dashBordService.firmList.getValue();\n this.business_category_list = this.dashBordService.businessCategoryList.getValue();\n\n this.userDetail = this.kycServices.user_detail.getValue();\n if (this.userDetail) {\n this.form.patchValue({ business_type_id: this.userDetail.company_id, user_id: this.userDetail.id });\n }\n\n this.form.get('doctype')?.valueChanges.subscribe(resp => {\n // console.log(resp);\n //|| this.form.get('business_type_id')?.value == 12\n if (resp && (this.form.get('business_type_id')?.value == 3 )) {\n this.form.get('state_code')?.setValue('');\n this.form.get('gstn_no')?.setValue('');\n this.form.removeControl('coi');\n if (resp == 'SHOP') {\n // console.log(resp, '12');\n this.form.removeControl('gstn_no');\n this.form.removeControl('udyam_no');\n this.getShopStateList();\n this.form.get('state_code')?.setValidators(Validators.required)\n this.form.addControl('shop_number', this.fb.control('', [Validators.required,\n Validators.maxLength(10),\n Validators.minLength(10)\n ]))\n }\n\n else if (resp == 'UDYAM') {\n this.form.removeControl('shop_number');\n this.form.removeControl('gstn_no');\n this.form.get('state_code')?.removeValidators(Validators.required);\n this.form.addControl('udyam_no', this.fb.control('', [Validators.required, Validators.maxLength(12),\n Validators.minLength(12), regExpNativePatternValidator(\n 'Udyogno',\n {\n termconditionError: () => `Please Enter valid Udyog Aadhar No.`,\n }\n )]))\n }\n else if (resp == 'GST') {\n this.form.removeControl('shop_number');\n this.form.removeControl('udyam_no');\n this.addGstControle();\n this.form.get('state_code')?.removeValidators(Validators.required);\n }\n\n else {\n this.form.removeControl('shop_number');\n this.form.removeControl('udyam_no');\n\n }\n this.form.get('state_code')?.updateValueAndValidity();\n }\n\n })\n // || this.company_id == 12\n // console.log(this.company_id)\n if(this.company_id == 3 ){\n let res = await this.getShopStateList();\n if (res) {\n this.getKycViewModeDetail();\n }\n }else{\n this.getKycViewModeDetail();\n }\n\n\n };\n\n enableTextField() {\n this.form.get('business_name')?.enable();\n this.form.get('address_street_no')?.enable();\n this.form.get('address_pin_code')?.enable();\n this.form.get('address_city_name')?.enable();\n this.form.get('address_state_name')?.enable();\n };\n disableTextField() {\n this.form.get('business_name')?.disable();\n this.form.get('address_street_no')?.disable();\n this.form.get('address_pin_code')?.disable();\n this.form.get('address_city_name')?.disable();\n this.form.get('address_state_name')?.disable();\n }\n onUdyamChange(event) {\n if (this.form.get('udyam_no')?.valid) {\n this.getUdyamDetail();\n }\n }\n onShopNoChange(event) {\n if (this.form.get('shop_number')?.valid) {\n this.getShopDetail();\n }\n }\n\n getShopStateList() {\n return new Promise((resolve, reject) => {\n const formData = new FormData();\n this.kycServices.getShopStateList(formData).subscribe(resp => {\n if (resp && resp.statuscode == 200 && resp.status) {\n this.shopStateList = resp.data;\n } else {\n // this.toaster.showError(resp.message, \"Error\")\n }\n resolve(true);\n })\n })\n\n }\n getKycViewModeDetail() {\n const kyc_data = this.kycServices.kyc_detail_.getValue();\n const kycDetail = kyc_data.kyc_list;\n if (kycDetail.businessdetail) {\n const response = kycDetail.businessdetail;\n // console.log(response.gstno)\n this.form.get('business_type_id')?.setValue(response.type, { emitEvent: false });\n this.dateFormat = 'yyyy/MM/dd';\n setTimeout(() => {\n this.form.get('doctype')?.setValue(response?.doctype);\n\n // console.log(response?.site_reg_date)\n setTimeout(() => {\n this.form.patchValue({\n //business_type_id: response.type,\n business_category_id: response.category,\n other_sub_category: response?.other_sub_category,\n gstn_no: response?.gstno,\n udyam_no: response?.gstno,\n shop_number: response?.gstno,\n coi: response?.gstno,\n //doctype : response?.doctype,\n state_shop: response?.state_shop,\n state_code: this.shopStateList.filter(d => d.state == response?.state_shop)[0]?.state_code,\n business_name: response.name,\n description: response.description,\n isOperational_address: response.operational_pin_code ? 0 : 1,\n address_street_no: response.add_streetno,\n address_pin_code: response.add_pincode,\n address_city_name: response.add_city,\n address_state_name: response.add_state,\n operational_street_no: response.opr_streetno,\n operational_pin_code: response.opr_pincode,\n operational_city_name: response.opr_city,\n operational_state_name: response.opr_state,\n pan_number: response.pan_number,\n site_reg_date: new Date(response?.site_reg_date),\n domain_origin:response?.domain_origin,\n site_url:response?.site_url,\n business_entity:response?.business_entity,\n constitution_of_business: (this.firm_list.filter(r => r.id == response.type))[0].name\n }, { emitEvent: false });\n if (response.gstno) {\n if (response.status || !response.update_counter) {\n this.form.disable({ emitEvent: false });\n }\n this.isEditBusinessDetail = !response.status ? false : true;\n }\n }, 1);\n }, 1);\n // console.log(this.form.get('shop_number')?.value, 'sdsd')\n }\n }\n\n onChangeGstn() {\n\n if (this.form.value.gstn_no.length == 15 && !this.form.get('gstn_no')?.invalid) {\n let payLoad = { gstno: this.form.value.gstn_no };\n this.kycServices.getGSTNDetail(payLoad).subscribe(res => {\n if (res.statuscode == 200 && res.status) {\n const responce = res.data;\n // this.toaster.showSuccess(res.message, 'Success');\n this.form.patchValue({\n business_name: responce.business_name,\n constitution_of_business: responce.constitution_of_business,\n pan_number: responce.pan_number,\n address: responce.address\n });\n this.gstn_rep_obj.business_name = responce.business_name;\n this.gstn_rep_obj.constitution_of_business = responce.constitution_of_business;\n this.gstn_rep_obj.pan_number = responce.pan_number;\n this.gstn_rep_obj.gstn_no = responce.gstin;\n this.gstn_rep_obj.address = responce.address;\n this.fetchAddressData(responce.address, res, this.form.get('doctype')?.value);\n } else {\n this.toaster.showError(res.message, 'Error');\n // this.form.get() reset();\n this.form.controls['gstn_no'].setValue('');\n if (this.userDetail) {\n this.form.patchValue({ business_type_id: this.userDetail.company_id, user_id: this.userDetail.id });\n }\n this.form.get('isOperational_address')?.patchValue(1);\n }\n })\n }\n\n\n }\n fetchAddressData(data: string, respo, requestType: any) {\n if (requestType == 'SHOP' || requestType == 'UDYAM') {\n let streetNo = '';\n let city_ = '';\n let pin = '';\n if (requestType == 'SHOP') {\n const extAddress = (respo.address.trim()).split(\" \");\n city_ = extAddress[extAddress.length - 3];\n const pinCod = extAddress[extAddress.length - 1];\n const extPin = pinCod.split(\"-\");\n pin = extPin[extPin.length - 1];\n for (let i = 0; i < extAddress.length - 4; i++) {\n streetNo = streetNo + ' ' + extAddress[i];\n }\n\n }\n this.form.patchValue({\n address_pin_code: requestType == 'UDYAM' ? respo.pin : pin,\n address_city_name: requestType == 'UDYAM' ? respo.city : city_,\n address_state_name: requestType == 'UDYAM' ? respo.state : respo.state_name,\n address_street_no: requestType == 'UDYAM' ? (respo?.flat + respo?.village + respo?.block) : streetNo.trim()\n });\n } else {\n const addr_obj = this.kycServices.splitAddress(data);\n this.form.patchValue({\n address_pin_code: addr_obj.address_pin_code,\n address_city_name: addr_obj.address_city_name,\n address_state_name: addr_obj.address_state_name,\n address_street_no: addr_obj.address_street_no\n });\n }\n\n setTimeout(() => {\n this.bindOperationalAddress();\n }, 1000);\n }\n bindOperationalAddress() {\n // console.log(\"opertaional \",this.form.value.isOperational_address);\n // console.log(\"opertaional2 \",this.form.controls['address_city_name'].value);\n if (this.form.value.isOperational_address) {\n this.form.patchValue({\n operational_city_name: this.form.controls['address_city_name'].value,\n operational_pin_code: this.form.controls['address_pin_code'].value,\n operational_state_name: this.form.controls['address_state_name'].value,\n operational_street_no: this.form.controls['address_street_no'].value\n });\n } else {\n this.form.get('operational_city_name')?.setValue('');\n this.form.get('operational_pin_code')?.setValue('');\n this.form.get('operational_state_name')?.setValue('');\n this.form.get('operational_street_no')?.setValue('');\n // this.form.value.operational_city_name = '';\n // this.form.value.operational_pin_code = '';\n // this.form.value.operational_state_name = '';\n // this.form.value.operational_street_no = '';\n }\n }\n onSelectOperationAddress() {\n this.bindOperationalAddress();\n }\n openSubmitConfirmationModal(item?: any, message?: string, index?: any) {\n\n // console.log(this.form.value);\n if (this.form.controls['gstn_no']?.value) {\n const respo = this.kycServices.matchObjectData(this.gstn_rep_obj, this.form.controls);\n if (respo && respo.length > 0) {\n this.toaster.showError(respo + ' does not match', 'Error')\n return;\n }\n }\n\n\n let formdata = new FormData();\n\n for (const control in this.form.controls) {\n\n formdata.append(control, this.form.controls[control].value)\n }\n\n let customConfig: ConfirmationModalConfig = {\n data: {\n icon: 'info',\n title: 'Final Confirmation?',\n title2: '',\n msg: \"Are you sure to proceed with these business details, NOTE: Details once submitted will not be changed?\",\n btnConfirm: 'Confirm',\n btnClose: 'Cancel'\n },\n };\n\n this.confirmationRef =\n this._ConfirmationModalService.open(\n ConfirmationComponent,\n customConfig\n );\n this.confirmationRef.events.pipe(\n filter((event) => {\n //console.log(event);\n return !!event\n }),\n ).subscribe((events) => {\n switch (events.type) {\n case 'confirm':\n\n\n //console.log('confirmed action, proceed');\n const doctype_ = this.form.get('doctype')?.value;\n const reqUrl = doctype_ == 'SHOP' ? config.UserKyc.storeShopDetails : doctype_ == 'UDYAM' ?\n config.UserKyc.storeUdhyamDetails : config.UserKyc.addBusinessDetail;\n\n this.kycServices.addBusinessDetail(formdata, reqUrl).subscribe(res => {\n this.confirmationRef.close(customConfig);\n if (res) {\n if (res.statuscode == 200 && res.status) {\n this.updateKycDetail();\n // this.sessionStorage.setItem('kycSteps', res.kyc_step);\n if (this.currentKycStep != 10) {\n this.userDetailsService.updateLocalStorage(\n { ['data.kyc_step']: res.kyc_step }\n )\n }\n this.isSavedBusinessDetail.emit(true);\n const modalRef = this.modalService.open(MoreDetailRequiredComponent);\n //this.sessionStorage.setItem('documentList', res.document_list);\n this.userDetailsService.updateKycDetail(\n { ['document_list']: res.document_list }\n )\n this.kycServices.businesDetailSubject.next(res.data);\n this.toaster.showSuccess(res.message, \"Success\");\n } else {\n this.toaster.showError(res.message, \"Error\");\n }\n }\n })\n\n break;\n case 'close':\n //console.log('close modal');\n this.confirmationRef.close(customConfig);\n break;\n }\n });\n\n };\n\n\n saveUdyamDetails() {\n let formdata = new FormData();\n for (const control in this.form.controls) {\n formdata.append(control, this.form.controls[control].value)\n }\n this.udyamSubs = this.kycServices.addUdyamDetail(formdata).subscribe(\n {\n next: (resp: any) => {\n // console.log(resp)\n }\n }\n )\n };\n\n saveStoreDetails() {\n let formdata = new FormData();\n for (const control in this.form.controls) {\n formdata.append(control, this.form.controls[control].value)\n }\n this.storeSubs = this.kycServices.addStoreDetail(formdata).subscribe(\n {\n next: (resp: any) => {\n }\n }\n )\n };\n\n updateKycDetail() {\n var jsonObj: any = {};\n jsonObj.add_city = this.form.controls['address_city_name'].value;\n jsonObj.add_pincode = this.form.controls['address_pin_code'].value;\n jsonObj.add_state = this.form.controls['address_state_name'].value;\n jsonObj.add_streetno = this.form.controls['address_street_no'].value;\n jsonObj.category = this.form.controls['business_category_id'].value;\n jsonObj.other_sub_category = this.form.controls['other_sub_category'].value;\n jsonObj.description = this.form.controls['description'].value;\n jsonObj.gstno = this.form.controls['gstn_no']?.value ?? this.form.controls['udyam_no']?.value ?? this.form.controls['shop_number']?.value ?? this.form.controls['coi']?.value;\n // jsonObj.gstno = this.form.controls['udyam_no']?.value;\n // jsonObj.gstno = this.form.controls['shop_number']?.value;\n // jsonObj.gstno = this.form.controls['coi']?.value;\n jsonObj.doctype = this.form.controls['doctype']?.value;\n jsonObj.name = this.form.controls['business_name'].value;\n jsonObj.opr_city = this.form.controls['operational_city_name'].value;\n jsonObj.opr_pincode = this.form.controls['operational_pin_code'].value;\n jsonObj.opr_state = this.form.controls['operational_state_name'].value;\n jsonObj.opr_streetno = this.form.controls['operational_street_no'].value;\n jsonObj.pan_number = this.form.controls['pan_number'].value;\n jsonObj.status = 1;\n jsonObj.type = this.form.controls['business_type_id'].value;\n jsonObj.update_counter = 1;\n jsonObj.state_shop = this.form.controls['state_shop'].value;\n jsonObj.state_code = this.form.controls['state_code'].value;\n this.userDetailsService.updateKycDetail(\n { ['kyc_list.businessdetail']: jsonObj }\n )\n this.userDetailsService.updateLocalStorage(\n { ['data.company_id']: this.form.controls['business_type_id'].value }\n )\n }\n getShopDetail() {\n const formData = new FormData();\n const state_ = this.shopStateList.filter(d => d.state_code == this.form.get('state_code')?.value)[0];\n this.form.get('state_shop')?.setValue(state_.state);\n formData.append('state_code', this.form.get('state_code')?.value);\n formData.append('state_shop', state_.state);\n formData.append('shop_number', this.form.get('shop_number')?.value);\n this.udyamStoreSubs = this.kycServices.getShopDetail(formData).subscribe(respo => {\n if (respo && respo.statuscode == 200 && respo.status) {\n this.bindAddressValue(respo.data, this.form.get('doctype')?.value);\n }\n })\n }\n getUdyamDetail() {\n const formData = new FormData();\n formData.append('udyamno', this.form.get('udyam_no')?.value);\n this.udyamDetailSubs = this.kycServices.getUdyamDetail(formData).subscribe(respo => {\n if (respo && respo.statuscode == 200 && respo.status) {\n this.bindAddressValue(respo.data.main_details, this.form.get('doctype')?.value);\n } else {\n this.toaster.showError(respo.message, 'Error');\n }\n })\n }\n getGstDetail() {\n const formData = new FormData();\n formData.append('gstno', this.form.get('gstn_no')?.value);\n this.kycServices.getGSTNDetail(formData).subscribe(res => {\n\n })\n };\n bindAddressValue(responce: any, requestType: any) {\n if (requestType == 'SHOP' || requestType == 'UDYAM') {\n this.form.get('pan_number')?.removeValidators(Validators.required);\n this.form.get('gstn_no')?.removeValidators(Validators.required);\n // this.form.updateValueAndValidity();\n this.form.get('pan_number')?.updateValueAndValidity();\n this.form.get('gstn_no')?.updateValueAndValidity();\n }\n this.form.patchValue({\n business_name: requestType == 'UDYAM' ? responce.name_of_enterprise : responce.business_name,\n constitution_of_business: responce?.constitution_of_business,\n pan_number: responce?.pan_number,\n address: responce?.address\n });\n this.gstn_rep_obj.business_name = requestType == 'UDYAM' ? responce.name_of_enterprise : responce.business_name;\n this.gstn_rep_obj.constitution_of_business = responce?.constitution_of_business;\n this.gstn_rep_obj.pan_number = responce?.pan_number;\n this.gstn_rep_obj.gstn_no = responce?.gstin;\n this.gstn_rep_obj.address = responce?.address;\n this.fetchAddressData(responce.address, responce, requestType);\n }\n ngOnDestroy(): void {\n if (this.udyamSubs) {\n this.udyamSubs.unsubscribe();\n };\n\n if (this.storeSubs) {\n this.storeSubs.unsubscribe();\n };\n\n if (this.udyamStoreSubs) {\n this.udyamStoreSubs.unsubscribe();\n };\n\n if (this.udyamDetailSubs) {\n this.udyamDetailSubs.unsubscribe();\n };\n };\n addGstControle() {\n this.form.addControl('gstn_no', this.fb.control('', [Validators.required, Validators.minLength(15), Validators.maxLength(15),\n regExpNativePatternValidator(\n 'GSTIN',\n {\n termconditionError: () => `Please Enter valid GSTN.`,\n }\n )]))\n this.form.updateValueAndValidity();\n }\n addControls() {\n this.form.addControl('udyam_no', this.fb.control('', [Validators.required, Validators.maxLength(12),\n Validators.minLength(12), regExpNativePatternValidator(\n 'Udyogno',\n {\n termconditionError: () => `Please Enter valid Udyog Aadhar No.`,\n }\n )]))\n this.form.addControl('gstn_no', this.fb.control('', [Validators.required, Validators.minLength(15), Validators.maxLength(15),\n regExpNativePatternValidator(\n 'GSTIN',\n {\n termconditionError: () => `Please Enter valid GSTN.`,\n }\n )]))\n this.form.addControl('shop_number', this.fb.control('', [Validators.required,\n Validators.maxLength(10),\n Validators.minLength(10)\n ]))\n\n\n }\n}\n","
\n
\n
\n
Business Detail
\n
\n
\n
\n\n \n \n \n \n \n \n
\n
\n
\n
\n\n \n \n \n \n \n \n
\n
\n\n
\n
\n\n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n
\n
\n\n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n \n\n\n
\n \n \n \n \n \n
\n
\n\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n
Website 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
Address 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
Operational Address 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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BusinessDetailComponent } from './business-detail.component';\nimport { SharedModule } from '@shared/shared.module';\n\n\n\n@NgModule({\n declarations: [BusinessDetailComponent],\n imports: [\n SharedModule\n ],\n exports:[BusinessDetailComponent]\n})\nexport class BusinessDetailModule { }\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { TemplateModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/template-modal.ref';\nimport {\n CustomOverlayConfig,\n TemplateModalService,\n} from '@features/customCDK/cdkCustomMdl/services/template-modal.service';\nimport { SignUpService } from '@page/auth/sign-up.service';\nimport { KycServices } from '../kyc-services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-contact-detail',\n templateUrl: './contact-detail.component.html',\n styleUrls: ['./contact-detail.component.scss'],\n})\nexport class ContactDetailComponent implements OnInit {\n isResendOtp: boolean = false;\n private templateRef!: TemplateModalOverlayRef;\n customConfig!: CustomOverlayConfig;\n @ViewChild('modalTemplate') modalTemplate!: TemplatePortal;\n @Output() selectedService = new EventEmitter();\n contactDetail: any;\n resellerSubs: Subscription;\n isStatus: boolean = false;\n resellerDetails: any = {\n reseller_requested: null,\n aggregator_requested: null,\n upi_requested: null,\n payout_requested: null,\n cb_requested: null\n };\n is_reseller: any;\n is_aggregator: any;\n is_upi: any;\n is_cb: any;\n is_payout: any;\n constructor(\n private toster: NgxToasterService,\n private kycService: KycServices,\n private sessionStorage: SessionStorageService,\n private signUpService: SignUpService,\n private userDetailsService: UserDetailsService,\n private _TemplateModalService: TemplateModalService\n ) {\n let data = this.kycService.resellerData.getValue();\n if(data == ''){\n this.getResellerStatus();\n }\n else{\n this.resellerDetails = data;\n }\n\n\n this.getUserDetail();\n }\n\n getResellerStatus(){\n this.resellerSubs = this.kycService.updateReseAggreStatus(null).subscribe(\n {\n next: (resp: any) => {\n if(resp.statuscode == 200){\n this.resellerDetails.reseller_requested = resp?.data?.reseller_requested;\n this.resellerDetails.aggregator_requested = resp?.data?.aggregator_requested;\n this.resellerDetails.upi_requested = resp?.data?.upi_requested;\n this.resellerDetails.payout_requested = resp?.data?.payout_requested;\n this.resellerDetails.cb_requested = resp?.data?.cb_requested;\n this.kycService.resellerData.next(this.resellerDetails);\n } else {\n this.toster.showError(resp.message, 'Error')\n\n }\n },\n error: (err: any) => {\n this.toster.showError(err.message, 'Error')\n\n }\n }\n );\n }\n\n ngOnInit(): void {}\n getUserDetail() {\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n // console.log(\"login details value \", value)\n this.contactDetail = value?.data;\n },\n });\n }\n saveContactDetail() {\n\n if (this.isStatus) {\n let formData = new FormData();\n formData.append('aggregator_requested', (this.is_aggregator == undefined? this.resellerDetails.aggregator_requested:this.is_aggregator));\n formData.append('reseller_requested', (this.is_reseller == undefined? this.resellerDetails.reseller_requested:this.is_reseller));\n formData.append('upi_requested', (this.is_upi == undefined? this.resellerDetails.upi_requested:this.is_upi));\n formData.append('cb_requested', (this.is_cb == undefined? this.resellerDetails.cb_requested:this.is_cb));\n formData.append('payout_requested', (this.is_payout == undefined? this.resellerDetails.payout_requested:this.is_payout));\n this.kycService.updateReseAggreStatus(formData).subscribe(\n {\n next: (resp: any) => {\n if(resp.statuscode == 200){\n this.toster.showSuccess(resp.message, 'Success')\n this.resellerDetails.reseller_requested = resp?.data?.reseller_requested;\n this.resellerDetails.aggregator_requested = resp?.data?.aggregator_requested;\n this.resellerDetails.upi_requested = resp?.data?.upi_requested;\n this.resellerDetails.payout_requested = resp?.data?.payout_requested;\n this.resellerDetails.cb_requested = resp?.data?.cb_requested;\n this.kycService.resellerData.next(this.resellerDetails);\n this.selectedService.emit(2);\n this.userDetailsService.updateLocalStorage({ ['data.kyc_step']: 2 });\n } else {\n this.toster.showError(resp.message, 'Error')\n }\n },\n error: (err: any) => {\n this.toster.showError(err.message, 'Error')\n }\n }\n );\n }else{\n this.selectedService.emit(2);\n // this.sessionStorage.setItem('kycSteps', 2);\n this.userDetailsService.updateLocalStorage({ ['data.kyc_step']: 2 });\n // let payLoad={id:this.contactDetail.id};\n // this.kycService.saveContactDetail(payLoad).subscribe(res=>{\n // if(res.statuscode == 200){\n // this.toster.showSuccess(res.msg,'Success');\n // this.selectedService.emit(res.kyc_step);\n // this.sessionStorage.setItem('kycSteps',res.kyc_step);\n // }else{\n // this.toster.showError(res.msg,'Error');\n // }\n\n // })\n }\n\n }\n onVerify() {\n let formData: FormData = new FormData();\n this.signUpService.sendEmailOTP(formData).subscribe((res) => {\n console.log(res);\n if (res.statuscode == 200 && res.status) {\n if (!this.isResendOtp) {\n this.openOTPModal();\n }\n this.toster.showSuccess(res.message, 'Success');\n } else {\n this.toster.showError(res.message, 'Error');\n }\n });\n }\n async sendOTP(isOtpSend: boolean) {\n this.isResendOtp = isOtpSend;\n this.onVerify();\n }\n verifyOtp(otp: any) {\n if (!otp) {\n this.toster.showInfo('please enter OTP', 'Info');\n return;\n }\n const data = new FormData();\n data.append('otp', otp);\n this.signUpService.verifyEmailOTP(data).subscribe((res: any) => {\n if (res && res.statuscode == 200 && res.status) {\n this.closeTemplateModal();\n this.toster.showSuccess(res.message, 'Success');\n this.userDetailsService.updateLocalStorage({\n ['data.email_verify']: '1',\n });\n this.getUserDetail();\n } else {\n this.toster.showError(res.message, 'Error');\n }\n });\n }\n closeTemplateModal($event?: CustomOverlayConfig) {\n this.templateRef.close(this.customConfig);\n }\n openOTPModal() {\n this.customConfig = {};\n this.templateRef = this._TemplateModalService.open(\n this.modalTemplate,\n {},\n this.customConfig\n );\n this.templateRef.afterClosed$.subscribe((val) => {\n if (val.type == 'ok') {\n } else {\n }\n });\n }\n\n updateReseAggre(status: any, type: any) {\n this.isStatus = true;\n if (type === 'reseller') this.is_reseller = status ? 1 : 0;\n if (type === 'aggregator') this.is_aggregator = status ? 1 : 0;\n if (type === 'upi') this.is_upi = status ? 1 : 0;\n if (type === 'cb') this.is_cb = status ? 1 : 0;\n if (type === 'payout') this.is_payout = status ? 1 : 0;\n }\n\n ngOnDestroy(): void {\n if (this.resellerSubs) {\n this.resellerSubs.unsubscribe();\n }\n }\n}\n","
\n
\n
\n
Contact 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 Please verify your email first !
\n
\n\n
\n
\n \n\n
\n
\n
\n
\n \n
\n
\n \n 2\">\n
\n\n
\n \n 2\">\n
\n\n\n\n\n\n\n\n
\n \n 2\">\n
\n\n
\n \n 2\">\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';\nimport { CommonModule } from '@angular/common';\nimport { ContactDetailComponent } from './contact-detail.component';\nimport { SharedModule } from '@shared/shared.module';\nimport { CustomOtpModule } from '@features/custom-otp/custom-otp.module';\nimport { CdkCustomMdlModule } from '@features/customCDK/cdkCustomMdl/cdk-custom-mdl.module';\n\n\n\n@NgModule({\n declarations: [ContactDetailComponent],\n imports: [\n SharedModule,\n CustomOtpModule,\n CdkCustomMdlModule,\n ],\n exports:[ContactDetailComponent]\n})\nexport class ContactDetailModule { }\n","\nexport class ConfigDynamicField {\n heading: string;\n nameLabel: string;\n mobileNumber:string;\n emailId:string;\n panCardHeading: string;\n addressHeading: string;\n addressNameLabel: string;\n}\nexport class PartnersDocumentDetail {\n document_id: any;\n name: string;\n mobile:string;\n email:string;\n address_proof: string;\n voter_back_file: string;\n partner_file_url: string;\n partner_file_url1: string;\n partner_file_url2: string;\n pan_status:any;\n status:string='';\n remarks:string;\n pstatus:string|number;\n ostatus:string|number;\n}\n","\nimport { Injectable,OnDestroy } from \"@angular/core\";\nimport { ApiRequestService } from \"@core/services/api-request.service\";\nimport { config } from \"@core/services/request-url.service\";\nimport { NgxToasterService } from \"@core/services/toasterNgs.service\";\nimport { BehaviorSubject,Observable } from \"rxjs\";\nimport * as _ from 'lodash'\n\n@Injectable({\n providedIn: 'root'\n })\n export class KycServices implements OnDestroy {\n selectedChildKycStep:BehaviorSubject=new BehaviorSubject('');\n selectedKycStep:BehaviorSubject=new BehaviorSubject('');\n businesDetailSubject:BehaviorSubject=new BehaviorSubject('');\n // isKycComplete:BehaviorSubject=new BehaviorSubject(false);\n user_detail: BehaviorSubject = new BehaviorSubject('');\n //all_kyc_detail_: BehaviorSubject = new BehaviorSubject('');\n kyc_detail_: BehaviorSubject = new BehaviorSubject('');\n // rejectedDocumentList: BehaviorSubject = new BehaviorSubject('');\n finalKycStep: BehaviorSubject = new BehaviorSubject('');\n resellerData: BehaviorSubject = new BehaviorSubject('');\n constructor(\n private apiRequest: ApiRequestService,\n private toaster:NgxToasterService,\n ){}\n\n saveContactDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.contactDetail);\n }\n getGSTNDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.gstnDetail);\n }\n addBusinessDetail(payLoadData:any,reqUrl){\n return this.apiRequest.postdata(payLoadData,reqUrl);\n }\n addUdyamDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.storeUdhyamDetails);\n }\n\n addStoreDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.storeStoreDetails);\n }\n // panVerify(payLoadData:any){\n // return this.apiRequest.postdata(payLoadData,config.UserKyc.addBusinessDetail);\n // }\n\n addBusinessDocuments(payLoadData:any,requestUrl:any){\n return this.apiRequest.postdata(payLoadData,requestUrl);\n }\n // apply these api\n getUdyamDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.udyamDetail);\n }\n\n getShopStateList(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.shopStateList);\n }\n getShopDetail(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.getShopDetail);\n }\n\n\n // getPanName(payLoadData:any){\n // return this.apiRequest.postdata(payLoadData,config.UserKyc.fetchPanName);\n // }\n // verifySignatoryAddress(payLoadData:any){\n // return this.apiRequest.postdata(payLoadData,config.UserKyc.uploadDocument.verifyAddressDoc);\n // }\n // submitDocumentKyc(payload:any){\n // return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.submitDocKyc);\n // }\n chequeOcr(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.chequeOcr);\n }\n addBankDetails(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.saveBankDetail);\n }\n finalKycUpdate(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.finalKycUpdate);\n }\n createVirctualAccount(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.createVirtualAccount);\n }\n // getKycDetail(payload:any): Observable{\n // return this.apiRequest.postdata(payload,config.UserKyc.adminKycDetail);\n // }\n getKycDetail(): Promise {\n const formData = new FormData();\n return new Promise((resolve, reject) => {\n this.apiRequest.postdata(formData,config.UserKyc.adminKycDetail)\n .subscribe((res: any) => {\n resolve(res);\n });\n })\n }\n getDocumentList(): Observable{\n const payload=new FormData();\n return this.apiRequest.postdata(payload,config.UserKyc.getDocumentList);\n }\n\n createPanOcr(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.partnerPanOcr);\n }\n verifyPanOcr(payload:any){\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.partnerPanverify);\n }\n createAadharOtp(payload:any): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.aadharOtp);\n }\n verifyAadharOtp(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.verifyAadharOtp);\n }\n verifyVoterId(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.verifyVoterId);\n }\n verifyVoterIdOrDL(payload,reqUrl): Observable{\n return this.apiRequest.postdata(payload,reqUrl);\n }\n\n verifyDl(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.dlverify);\n }\n verifyPP(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.ppverify);\n }\n kycAadharStore(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.aadhar_store);\n }\n kycAadharOcr(payload): Observable{\n return this.apiRequest.postdata(payload,config.UserKyc.uploadDocument.aadhar_ocr);\n }\n // verifyDocumnetValidation(documentDetail){\n // let isValid:boolean= true;\n // let pan=documentDetail.partner_file_url == 'assets/assets/img/upload_file.png'?'':documentDetail.partner_file_url;\n // let aadharFront=documentDetail.partner_file_url1 == 'assets/assets/img/upload_file.png'?'':documentDetail.partner_file_url1;\n // //let aadharBack=documentDetail.partner_file_url2 == 'assets/assets/img/upload_file.png'?'':documentDetail.partner_file_url2;\n // if(!pan){\n // this.toaster.showWarning('Please Upload Pan Card',\"Warning\");\n // isValid =false;\n // return;\n // }\n // if(!aadharFront){\n // this.toaster.showWarning(`Please uplaod ${documentDetail?.address_proof} fron side`,\"Warning\");\n // isValid =false;\n // return\n // }\n // return isValid;\n // }\n ngOnDestroy(): void {\n // this.isKycComplete.next(false);\n }\n splitAddress(address_:string){\n const address_obj={address_pin_code:'',address_city_name:'',address_state_name:'',address_street_no:''};\n let splitedAddress = address_.split(\",\");\n address_obj.address_pin_code= (splitedAddress[splitedAddress.length - 1]).trim();\n address_obj.address_city_name= (splitedAddress[splitedAddress.length - 3]).trim();\n address_obj.address_state_name= (splitedAddress[splitedAddress.length - 2]).trim();\n let streetNo = '';\n for (let i = 0; i < splitedAddress.length - 4; i++) {\n streetNo = streetNo + splitedAddress[i];\n }\n address_obj.address_street_no=streetNo;\n return address_obj;\n }\n\n matchObjectData(objData:any,formData:any){\n if(objData.address){\n const addr_obj:any=objData.address?this.splitAddress(objData.address):{};\n objData.address_pin_code= addr_obj.address_pin_code;\n objData.address_city_name= addr_obj.address_city_name;\n objData.address_state_name= addr_obj.address_state_name;\n objData.address_street_no= addr_obj.address_street_no;\n\n var formContData:any={};\n for (const key in objData) {\n for (const control in formData) {\n if(key == control)\n formContData[`${control}`]=formData[control].value;\n }\n }\n\n }\n var diff:any;\n if(formContData){\n diff= Object.keys(formContData).reduce((result, key) => {\n if (!objData.hasOwnProperty(key)) {\n result.push(key);\n } else if (_.isEqual(formContData[key], objData[key])) {\n const resultKeyIndex = result.indexOf(key);\n result.splice(resultKeyIndex, 1);\n }\n return result;\n }, Object.keys(objData));\n }\n return diff;\n }\n\n updateReseAggreStatus(payLoadData:any){\n return this.apiRequest.postdata(payLoadData,config.UserKyc.resellerRequest);\n}\n}\n","import { OnDestroy, Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { KYC_Service_Steps } from '@core/common/common-config';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AuthCoreService } from '@page/auth/auth.service';\nimport { DashboardService } from '../dashboard.service';\nimport { KycServices } from './kyc-services';\n\n@Component({\n selector: 'app-kyc',\n templateUrl: './kyc.component.html',\n styleUrls: ['./kyc.component.scss']\n})\nexport class KycComponent implements OnInit, OnDestroy {\n kycServiceSteps: any[] = [...KYC_Service_Steps];\n documentDetail: any;\n kycSteps: any;\n userDetail: any;\n selectedkyc: any;\n kycDetail: any;\n userLoginDetail: any;\n constructor(\n public activeModal: NgbActiveModal,\n private kycServices: KycServices,\n private sessionStorage: SessionStorageService,\n private authCoreService: AuthCoreService,\n private ele: ElementRef,\n private userDetailsService: UserDetailsService,\n private dashBordService: DashboardService\n ) {\n this.kycServiceSteps[2].sub_type = [];\n this.dashBordService.getCompanyList();\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.userLoginDetail = value?.data;\n this.kycSteps = value?.data?.kyc_step;\n this.userDetail = value;\n this.kycServiceSteps[0].status = this.userDetail?.data?.email_verify ? 1 : 2;\n this.kycServices.finalKycStep.next(this.userDetail.data.kyc_step);\n this.kycServices.user_detail.next(this.userDetail?.data);\n }\n });\n\n // this.kycDetail=this.kycServices.kyc_detail_.getValue();\n\n // if(this.kycDetail) {\n // this.kycDetail.document_list.forEach(element => {\n // if (this.kycDetail.kyc_list.hasOwnProperty(element.value)) {\n // let currentKey = element.value;\n // if (currentKey == 'kycpartnership') {\n // this.kycServiceSteps[2].sub_type.push({ name: element.name, selected: element.step, is_edit: element.is_edit, status: (currentKey == 'kycpartnership' && (this.kycDetail.kyc_list)[`${currentKey}`].length != 0) ? (this.kycDetail.kyc_list)[`${currentKey}`][0].status : 3 })\n // } else {\n // this.kycServiceSteps[2].sub_type.push({ name: element.name, selected: element.step, is_edit: element.is_edit, status: (this.kycDetail.kyc_list)[`${currentKey}`] ? (this.kycDetail.kyc_list)[`${currentKey}`].status : 3 })\n // }\n // }\n // });\n // for (const key in this.kycDetail.kyc_list) {\n // if((key === 'businessdetail' || key === 'bankdetail' )&& this.kycDetail.kyc_list[`${key}`] ){\n // this.kycServiceSteps[1].status=key === 'businessdetail' && this.kycDetail.kyc_list[`${key}`]?this.kycDetail.kyc_list[`${key}`].status:3;\n // this.kycServiceSteps[3].status=key === 'bankdetail' && this.kycDetail.kyc_list[`${key}`]?this.kycDetail.kyc_list[`${key}`].status:3;\n // } }\n // } else{\n // this.getKycViewModeDetail();\n // }\n\n }\n\n ngOnInit(): void {\n\n\n this.kycServices.kyc_detail_.subscribe(res => {\n if (res) {\n this.kycDetail = res;\n if (this.kycDetail) {\n this.kycServiceSteps[2].sub_type = [];\n this.kycDetail.document_list.forEach(element => {\n if (this.kycDetail.kyc_list.hasOwnProperty(element.value)) {\n let currentKey = element.value;\n let kycPartnerStatus = 0;\n let kycPartners = (this.kycDetail.kyc_list)[`${currentKey}`];\n if (currentKey == 'kycpartnership') {\n if (kycPartners.length != 0) {\n const isRejected = kycPartners.filter(r => r.status == 0);\n const isPending = kycPartners.filter(r => r.status == 2);\n const isApprove = kycPartners.filter(r => r.status == 1);\n const isLimitOver = kycPartners.filter(r => r.status == 4);\n kycPartnerStatus = isRejected.length > 0 ? isRejected[0].status : isLimitOver.length > 0 ? isLimitOver[0].status : isPending.length > 0 ? isPending[0].status : isApprove[0].status\n\n }\n this.kycServiceSteps[2].sub_type.push({ name: element.name, selected: element.step, is_edit: element.is_edit, status: (currentKey == 'kycpartnership' && (this.kycDetail.kyc_list)[`${currentKey}`].length != 0) ? kycPartnerStatus : 3 })\n } else {\n // console.log(currentKey)\n this.kycServiceSteps[2].sub_type.push({ name: currentKey == 'kyctrustdeedormou' && this.userLoginDetail.company_id == 2 ? 'Partnership Deed' : element.name, selected: element.step, is_edit: element.is_edit, status: (this.kycDetail.kyc_list)[`${currentKey}`] ? (this.kycDetail.kyc_list)[`${currentKey}`].status : 3 })\n }\n }\n });\n // console.log(this.kycServiceSteps[2].sub_type)\n for (const key in this.kycDetail.kyc_list) {\n if (key === 'businessdetail') {\n this.kycServiceSteps[1].status = this.kycDetail.kyc_list[`${key}`] ? this.kycDetail.kyc_list[`${key}`].status : 3;\n } else if (key === 'bankdetail') {\n this.kycServiceSteps[3].status = this.kycDetail.kyc_list[`${key}`] ? this.kycDetail.kyc_list[`${key}`].status : 3;\n }\n }\n }\n setTimeout(() => {\n if (this.ele.nativeElement.querySelectorAll('.rejectedLink').length > 0) {\n this.ele.nativeElement.querySelectorAll('.rejectedLink')[0].click();\n }\n\n }, 1);\n }\n })\n\n this.selectedkyc = Number(this.kycSteps);\n this.authCoreService.isSessionTimeOut.subscribe(res => { if (res) { this.closeTab(); } });\n\n\n\n\n }\n\n // async getKycViewModeDetail() {\n // this.kycServiceSteps[2].sub_type = [];\n // this.kycDetail = '';\n // this.kycDetail = await this.kycServices.getKycDetail();\n // this.kycServices.kyc_detail_.next(this.kycDetail);\n // this.kycDetail.document_list.forEach(element => {\n // if (this.kycDetail.kyc_list.hasOwnProperty(element.value)) {\n // let currentKey = element.value;\n // if (currentKey == 'kycpartnership') {\n // this.kycServiceSteps[2].sub_type.push({ name: element.name, selected: element.step, is_edit: element.is_edit, status: (currentKey == 'kycpartnership' && (this.kycDetail.kyc_list)[`${currentKey}`].length != 0) ? (this.kycDetail.kyc_list)[`${currentKey}`][0].status : 3 })\n // } else {\n // this.kycServiceSteps[2].sub_type.push({ name: element.name, selected: element.step, is_edit: element.is_edit, status: (this.kycDetail.kyc_list)[`${currentKey}`] ? (this.kycDetail.kyc_list)[`${currentKey}`].status : 3 })\n // }\n // }\n // });\n // for (const key in this.kycDetail.kyc_list) {\n // if ((key === 'businessdetail' || key === 'bankdetail') && this.kycDetail.kyc_list[`${key}`]) {\n // this.kycServiceSteps[1].status = key === 'businessdetail' && this.kycDetail.kyc_list[`${key}`] ? this.kycDetail.kyc_list[`${key}`].status : 3;\n // this.kycServiceSteps[3].status = key === 'bankdetail' && this.kycDetail.kyc_list[`${key}`] ? this.kycDetail.kyc_list[`${key}`].status : 3;\n // }\n // }\n // }\n onClickOuterLi(item: any) {\n if (item.selected < this.kycSteps && item.selected != 3) {\n this.selectedkyc = item.selected;\n // this.callKycDetail(item.selected);\n } else if (item.selected == this.kycSteps && item.selected != 3) {\n this.selectedkyc = item.selected;\n }\n }\n onClickInnerList(value: any) {\n if (value.selected < this.kycSteps) {\n this.selectedkyc = value.selected;\n this.kycServices.selectedKycStep.next(value.selected);\n // this.callKycDetail(value.selected);\n } else if (value.selected == this.kycSteps) {\n this.selectedkyc = value.selected;\n this.kycServices.selectedKycStep.next(value.selected);\n }\n }\n closeTab() {\n this.activeModal.close({ 'close': true });\n }\n onSaveBusinessDetail(value: any) {\n if (value) {\n this.activeModal.close();\n }\n }\n onSubmitBankDetail(value: boolean) {\n this.activeModal.close();\n }\n onDocumentUpload(value: any) {\n this.kycSteps = value;\n this.selectedkyc = value;\n }\n // callKycDetail(kycStep: any) {\n // const kycDetail_ = this.kycDetail.kyc_list;\n // switch (kycStep) {\n // case 2:\n // if (!kycDetail_.businessdetail) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 3:\n // if (!kycDetail_.kycpan) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 4:\n // if (!kycDetail_.kyccoi) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 5:\n // if (!kycDetail_.kycgst) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 6:\n // if (!kycDetail_.moaaoakyc) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 7:\n // if (!kycDetail_.kycboard) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 8:\n // if (kycDetail_.kycpartnership.length == 0) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // case 9:\n // if (!kycDetail_.bankdetail) {\n // this.getKycViewModeDetail();\n // }\n // break;\n // }\n // }\n ngOnDestroy(): void {\n if ((this.kycServices.finalKycStep.getValue() == 10) && this.userDetail.data.is_kyc != 1) {\n let payload_: FormData = new FormData();\n this.kycServices.finalKycUpdate(payload_).subscribe(res => {\n\n })\n }\n this.kycServices.selectedKycStep.next('');\n this.kycServices.resellerData.next('');\n }\n // async callKyc() {\n // this.kycDetail = await this.kycServices.getKycDetail();\n // this.kycServices.kyc_detail_.next(this.kycDetail.kyc_list);\n // }\n\n}\n","
\n
\n
\n
\n
\n\n
\n \n
\n = 3 && selectedkyc < 9 ) ?'assets/assets/img/verify_document.png':'assets/assets/img/bank_details.png'\">\n
\n
\n
\n\n
\n
\n \n
\n\n \n \n \n \n = 3 && selectedkyc < 9 \" [documentDetail]=\"documentDetail\"\n (isKycStep)=\"onDocumentUpload($event)\">\n = 9 \" (saveBankDetail)=\"onSubmitBankDetail($event)\">\n \n
\n
\n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { KycComponent } from './kyc.component';\nimport { BankDetailComponent } from './bank-detail/bank-detail.component';\nimport { MoreDetailRequiredComponent } from './more-detail-required/more-detail-required.component';\nimport { FileUploadModule } from '@shared/components/file-upload/file-upload.module';\nimport { SharedModule } from '@shared/shared.module';\nimport { ContactDetailModule } from './contact-detail/contact-detail.module';\nimport { BusinessDetailModule } from './business-detail/business-detail.module';\nimport { VerifyDocumentModule } from './verify-document/verify-document.module';\nimport { FileuploadService } from '@core/services/file-upload.service';\nimport { BankDetailModule } from './bank-detail/bank-detail.module';\n\n\n@NgModule({\n declarations: [\n KycComponent,\n MoreDetailRequiredComponent,\n\n ],\n imports: [\n // FileUploadModule,\n SharedModule,\n ContactDetailModule,\n BusinessDetailModule,\n VerifyDocumentModule,\n BankDetailModule\n ],\n exports:[\n KycComponent ],\n // providers:[FileuploadService]\n})\nexport class KycModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { NgbActiveModal, NgbModal, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { KycComponent } from '../kyc.component';\n\n@Component({\n selector: 'app-more-detail-required',\n templateUrl: './more-detail-required.component.html',\n styleUrls: ['./more-detail-required.component.scss']\n})\nexport class MoreDetailRequiredComponent implements OnInit {\n\n constructor(\n public activeModal: NgbActiveModal,\n config: NgbModalConfig, private modalService: NgbModal,\n ) {\n //config.backdrop = 'static';\n }\n\n ngOnInit(): void {\n }\n conpleteKyc(){\n const modalRef = this.modalService.open(KycComponent);\n this.activeModal.close();\n }\n}\n","
\n
\n
\n
\n
Few more details required
\n
\n
\n

For your business model we need a few more KYC details to allow you to accept\n payments

\n\n \n
\n\n
\n
\n
\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild, AfterViewInit, } from '@angular/core';\nimport { CommonService } from '@core/services/common.service';\nimport { FileuploadService } from '@core/services/file-upload.service';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { TemplateModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/template-modal.ref';\nimport { CustomOverlayConfig, TemplateModalService, } from '@features/customCDK/cdkCustomMdl/services/template-modal.service';\nimport { ConfigDynamicField, PartnersDocumentDetail } from '../kyc-model';\nimport { KycServices } from '../kyc-services';\nimport { config } from '@core/services/request-url.service';\nimport { ConfirmationModalConfig, ConfirmationModalService } from '@features/customCDK/cdkCustomMdl/services/confirmation-modal.service';\nimport { ConfirmationComponent } from '@features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component';\nimport { filter } from 'rxjs';\nimport { DocModalComponent } from '@shared/components/doc-modal/doc-modal.component';\n\n@Component({\n selector: 'app-partner-documents',\n templateUrl: './partner-documents.component.html',\n styleUrls: ['./partner-documents.component.scss'],\n})\nexport class PartnerDocumentsComponent implements OnInit, AfterViewInit {\n @ViewChild('modalTemplateOpt') modalTemplate!: TemplatePortal;\n configDynamicField: ConfigDynamicField = new ConfigDynamicField();\n @Output() isKycStep = new EventEmitter();\n partnersDocumentDetail: PartnersDocumentDetail = new PartnersDocumentDetail();\n fetchUserPanName: string = '';\n isResendOtp: boolean = false;\n isHiddenPan: boolean = false;\n isDirectorUpdate: boolean = false;\n isOtpVerify: boolean = false;\n aadhar_no: string = '';\n full_name: string = '';\n document_id: any = '';\n // pdfPath: string = '';\n userDetail: any;\n file_: File;\n allDirectorList: any[] = [];\n kycPartnerList: any[] = [];\n authorisedPersonObj: any[] = [];\n isShow: boolean = false;\n showAddPartner: boolean = false;\n enableText: boolean = false;\n isShowSaveNextButton: boolean = false;\n isPartnerRejected: boolean = false;\n childKycStep: number | string = 0;\n kyc_steps: number | string;\n aadgarRefid: any;\n kyc_data: any;\n isPartOrDir: string = '';\n aadharPPFrontData: any = {};\n aadharPPBackData: any = {};\n aaFilef: any = '';\n aaFileb: any = '';\n panReupload:boolean=false;\n pan_verify:boolean=false;\n disableNextButton:boolean=false;\n showHideDirectorAddressProof:boolean=false;\n @ViewChild('fileDropRef10') selectedPan: ElementRef;\n @ViewChild('fileDropRef11') frontSide: ElementRef;\n auth_pers_name: any = {};\n @ViewChild('fileDropRef12') backSide: ElementRef;\n @ViewChild('mobileno') mobil_ :any;\n @ViewChild('emailid') emai_ :any;\n addressTypeList: any[] = [\n { id: 1, name: 'Aadhar Card', value: 'AADHAR' },\n { id: 2, name: 'Driving License', value: 'LICENCE' },\n { id: 3, name: 'Passport', value: 'PASSPORT' },\n { id: 4, name: 'Voter Id', value: 'VOTERID' },\n ];\n private templateRef!: TemplateModalOverlayRef;\n customConfig!: CustomOverlayConfig;\n constructor(\n private toaster: NgxToasterService,\n private kycServices: KycServices,\n private _FileuploadService: FileuploadService,\n private _TemplateModalService: TemplateModalService,\n private userDetailsService: UserDetailsService,\n private _ConfirmationModalService: ConfirmationModalService,\n ) { }\n\n ngOnInit(): void {\n this.isShow = true;\n this.setPartnerDefaultImage();\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.kyc_steps = value?.data?.kyc_step;\n this.userDetail=value?.data;\n },\n });\n\n this.showAddPartner = true;\n this.isShowSaveNextButton = false;\n this.setDynamicFildName(1);\n this.getKycViewModeDetail();\n\n this.kycServices.selectedChildKycStep.subscribe((res) => {\n if (res) {\n this.childKycStep = res;\n if (this.childKycStep < this.kyc_steps && this.childKycStep != 0) {\n this.isShowSaveNextButton = true;\n } else {\n this.isShowSaveNextButton = false;\n }\n }\n });\n }\n ngAfterViewInit(): void { }\n getDocumentUrl(event, fileno, unlinkUrl) {\n if(fileno == 6 && (this.partnersDocumentDetail.address_proof == 'AADHAR' || this.partnersDocumentDetail.address_proof == 'PASSPORT')){\n if(this.partnersDocumentDetail.partner_file_url1 == 'assets/assets/img/upload_file.png' || this.partnersDocumentDetail.partner_file_url1 == ''){\n this.toaster.showError(`Please upload ${this.partnersDocumentDetail.address_proof} front first`,'Error');\n this.backSide.nativeElement.value = '';\n return;\n }\n }\n this.auth_pers_name = {};\n this.file_ = event.target.files[0];\n var maxfilesize = 2 * (1024 * 1024) // 2 Mb\n var filesize = this.file_.size\n if (maxfilesize >= filesize) {\n // const fileExt=this.file_.name.split('.')[1];\n const fileExt = this.file_.name.split('.')[(this.file_.name.split('.').length) - 1].toLowerCase();\n if (fileExt != 'jpeg' && fileExt != 'jpg' && fileExt != 'png') {\n if (fileno == 4) {\n this.selectedPan.nativeElement.value = '';\n } else if (fileno == 5) {\n this.frontSide.nativeElement.value = '';\n } else {\n this.backSide.nativeElement.value = '';\n }\n this.toaster.showError('You can only upload JPG, PNG and JPEG file', 'Error');\n return;\n }\n\n // let customConfig: ConfirmationModalConfig = {\n // data: {\n // icon: 'error',\n // title: 'Sorry!',\n // title2: '',\n // msg: \"Please Complete your KYC first...!\",\n // btnConfirm: '',\n // btnClose: 'Ok'\n // },\n // };\n let customConfig: ConfirmationModalConfig = {\n data: {\n icon: 'info',\n title: 'Final Confirmation?',\n title2: '',\n msg: \"Are you sure to proceed with these document details, NOTE: Details once submitted will not be changed?\",\n btnConfirm: 'Confirm',\n btnClose: 'Cancel'\n },\n };\n\n let confirmationRef =\n this._ConfirmationModalService.open(\n ConfirmationComponent,\n customConfig\n );\n confirmationRef.events.pipe(\n filter((event) => {\n // console.log(event);\n return !!event\n }),\n ).subscribe(async (events) => {\n switch (events.type) {\n case 'confirm':\n confirmationRef.close(customConfig);\n\n // console.log('confirmed action, proceed');\n const unlinkUrl_ = (unlinkUrl == 'assets/assets/img/upload_file.png') ? '' : unlinkUrl;\n let uploadedFile = await this._FileuploadService.uploadFileFn(this.file_, unlinkUrl_);\n if (uploadedFile.response == 1) {\n this.bindValue(uploadedFile.pan_proof, fileno, this.file_.name);\n } else {\n this.toaster.showError(uploadedFile.message, 'Error');\n }\n break;\n case 'close':\n if (fileno == 4) {\n this.selectedPan.nativeElement.value = '';\n } else if (fileno == 5) {\n this.frontSide.nativeElement.value = '';\n } else {\n this.backSide.nativeElement.value = '';\n }\n confirmationRef.close(customConfig);\n break;\n }\n });\n }\n else {\n this.toaster.showInfo('File size should not be greater than 2MB', \"Info\")\n }\n\n\n }\n onAddressChange() {\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png';\n // console.log(this.partnersDocumentDetail.address_proof);\n }\n getKycViewModeDetail() {\n this.document_id = '';\n\n //this.kyc_data = this.kycServices.kyc_detail_.getValue();\n this.kycServices.kyc_detail_.subscribe((res) => {\n if (res) {\n this.kyc_data = res;\n }\n });\n this.allDirectorList = [];\n this.kycPartnerList = [];\n const kycDetail = this.kyc_data.kyc_list;\n if (kycDetail.kycpartnership && kycDetail.kycpartnership.length > 0) {\n this.allDirectorList = kycDetail.kycpartnership;\n kycDetail.kycpartnership.forEach((element, index) => {\n if (index == 0) {\n //console.log('element',element);\n this.isShow = element.status == 1?true : (element.status == 2 && (element.pstatus == 2 || element.pstatus == 1) && (element.ostatus == 2 || element.ostatus == 1 )) || !element.status ? true : false;\n if(!element.ostatus) this.isShow = false;\n if(!(element.status && element.ostatus)) {\n this.isPartnerRejected = true;\n }\n // this.enableText = element.pan_path ? false : true;\n this.enableText =element.status == 1?false : (element.status == 0 && element.pstatus == 2)||(element.status == 2 && element.pstatus == 4)? true :(element.status == 2 && (element.pstatus == 2 || element.pstatus == 1) && (element.ostatus == 2 || element.ostatus == 1 )) || !element.status ? false : true;\n this.disableNextButton=element.status == 0 ? true :false;\n this.partnersDocumentDetail.name = '';\n this.partnersDocumentDetail.name = element.full_name;\n this.partnersDocumentDetail.mobile = element.mobile;\n this.partnersDocumentDetail.email = element.email;\n this.partnersDocumentDetail.document_id = element.id;\n this.document_id = element.id;\n this.pan_verify= (element.pstatus == 4 || element.pstatus == 0)? false:true;\n this.partnersDocumentDetail.address_proof = element.status == 0 || (element.status == 4 && (element.ostatus == 4 || element.ostatus == 0))?'': element.type == 'LICENSE' ? 'LICENCE' : element.type;\n this.partnersDocumentDetail.partner_file_url =element.status == 1?element.pan_path : ( element.pstatus == 4 || element.pstatus == 0)||(element.status == 4 && element.pstatus == 4)||(element.status == 2 && element.pstatus == 4)?'assets/assets/img/upload_file.png' : element.pan_path ? element.pan_path : 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url1 =element.status == 1?element.av_path : ( element.ostatus == 4|| element.ostatus == 0)?'assets/assets/img/upload_file.png' : element.av_path ? element.av_path : 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 =element.status == 1?element.av_bpath : ( element.ostatus == 4 || element.ostatus == 0)?'assets/assets/img/upload_file.png' : element.av_bpath ? element.av_bpath : 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.status = element.status;\n this.partnersDocumentDetail.remarks=element.remarks;\n }\n else {\n this.kycPartnerList.push({\n pan_file: element.pan_path,\n aadhar_file: element.av_path,\n aadhar_back_file: element.av_bpath,\n name: element.full_name,\n mobile:element.mobile,\n email:element.email,\n type: element.type == 'LICENSE' ? 'LICENCE' : element.type,\n document_id: element.id,\n status: element.status,\n remarks: element.remarks,\n ostatus:element.ostatus,\n pstatus:element.pstatus\n });\n }\n });\n }\n }\n\n onClickAddMore() {\n this.showHideDirectorAddressProof=true;\n this.setDynamicFildName(0);\n this.showAddPartner = false;\n this.authorisedPersonObj = [];\n this.authorisedPersonObj.push({\n name: this.partnersDocumentDetail.name,\n mobile: this.partnersDocumentDetail.mobile,\n email: this.partnersDocumentDetail.email,\n address_proof: this.partnersDocumentDetail.address_proof,\n partner_file_url: this.partnersDocumentDetail.partner_file_url,\n partner_file_url1: this.partnersDocumentDetail.partner_file_url1,\n partner_file_url2: this.partnersDocumentDetail.partner_file_url2,\n id: this.partnersDocumentDetail.document_id,\n status: this.partnersDocumentDetail.status,\n });\n\n this.setPartnerDefaultImage();\n const pendingDirec = this.kycPartnerList.filter(d => !d.aadhar_file || !d.pan_file || d.ostatus == 4 || d.pstatus == 4);\n // this.kycPartnerList=this.kycPartnerList.filter(d=> d.aadhar_file );\n // console.log(pendingDirec);\n if (pendingDirec.length > 0) { this.editDocument(pendingDirec[0]) }\n }\n\n onPartnerFileChange(event, fileNo, req_type, unlinkUrl) {\n this.isPartOrDir = req_type;\n if (this.userDetail.is_kyc == 1 && !this.isDirectorUpdate) {\n return;\n }\n if ((this.isPartOrDir == 'd') && (Number(this.kyc_data.is_partner) > 1 && Number(this.kyc_data.is_partner) - 1 == this.kycPartnerList.length && !this.isDirectorUpdate)) {\n this.toaster.showInfo(`You Can not add more than ${Number(this.kyc_data.is_partner) - 1} Directors`, \"Info\");\n return;\n }\n\n let pName = this.partnersDocumentDetail?.name.trim();\n if (fileNo == 4 && !pName) {\n this.toaster.showWarning(`${this.configDynamicField.nameLabel} is required`,'Warning');\n this.selectedPan.nativeElement.value = '';\n return;\n }\n let pPhone = this.partnersDocumentDetail?.mobile.trim();\n if (fileNo == 4 && (!pPhone || !this.mobil_.valid )) {\n if(!pPhone)\n this.toaster.showWarning(`${this.configDynamicField.mobileNumber} is required`,'Warning');\n this.selectedPan.nativeElement.value = '';\n return;\n }\n let pEmail = this.partnersDocumentDetail?.email.trim();\n if (fileNo == 4 && (!pEmail || !this.emai_.valid)) {\n if(!pEmail)\n this.toaster.showWarning(`${this.configDynamicField.emailId} is required`,'Warning');\n this.selectedPan.nativeElement.value = '';\n return;\n }\n let aProof = this.partnersDocumentDetail?.address_proof;\n if (fileNo == 5) {\n if (this.partnersDocumentDetail.partner_file_url == 'assets/assets/img/upload_file.png') {\n this.toaster.showWarning(`Please first upload pan card`, 'Warning');\n this.selectedPan.nativeElement.value = '';\n return;\n }\n if (!aProof) {\n this.toaster.showWarning(\n `Please Select Authorized Signatory's* (Address Proof)`,\n 'Warning'\n );\n this.frontSide.nativeElement.value = '';\n this.backSide.nativeElement.value = '';\n return;\n }\n }\n this.getDocumentUrl(event, fileNo, unlinkUrl);\n }\n\n\n onClickBack() {\n this.showHideDirectorAddressProof=false;\n this.showAddPartner = true;\n this.setDynamicFildName(1);\n this.setPartnerDefaultImage();\n this.partnersDocumentDetail = new PartnersDocumentDetail();\n this.document_id = this.authorisedPersonObj[0].id;\n this.partnersDocumentDetail.document_id = this.authorisedPersonObj[0].id;\n this.partnersDocumentDetail.name = this.authorisedPersonObj[0].name;\n this.partnersDocumentDetail.mobile = this.authorisedPersonObj[0].mobile;\n this.partnersDocumentDetail.email = this.authorisedPersonObj[0].email;\n this.partnersDocumentDetail.address_proof = this.authorisedPersonObj[0].address_proof;\n this.partnersDocumentDetail.partner_file_url = this.authorisedPersonObj[0].partner_file_url;\n this.partnersDocumentDetail.partner_file_url1 = this.authorisedPersonObj[0].partner_file_url1;\n this.partnersDocumentDetail.status = this.authorisedPersonObj[0].status;\n this.partnersDocumentDetail.partner_file_url2 = this.authorisedPersonObj[0].partner_file_url2;\n }\n setDynamicFildName(reqType) {\n this.configDynamicField.heading =\n reqType == 1\n ? 'KYC of Authorised Signatory'\n : 'KYC of Directors';\n this.configDynamicField.panCardHeading =\n reqType == 1 ? 'Upload Pan' : 'Upload Pan';\n this.configDynamicField.nameLabel =\n reqType == 1 ? 'Person Name' : 'Director Name';\n this.configDynamicField.addressHeading =\n reqType == 1\n ? 'Address Proof of Authorised person'\n : 'Address Proof of Director';\n this.configDynamicField.addressNameLabel = 'Address Proof';\n this.configDynamicField.mobileNumber = 'Mobile Number';\n this.configDynamicField.emailId = 'Email id';\n\n }\n setPartnerDefaultImage() {\n this.partnersDocumentDetail.name = '';\n this.partnersDocumentDetail.mobile = '';\n this.partnersDocumentDetail.email = '';\n this.partnersDocumentDetail.address_proof = '';\n this.isHiddenPan = false;\n this.isDirectorUpdate = false;\n this.aadharPPFrontData = {};\n this.aadharPPBackData = {};\n this.partnersDocumentDetail.partner_file_url = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png';\n }\n\n getExtension(data): string {\n let value: string = '';\n let splitData = data.split('.');\n value = splitData[splitData.length - 1];\n return value;\n }\n bindValue(imgUrl, file_no, fileName) {\n let payLoad = new FormData();\n switch (file_no) {\n case 4:\n this.selectedPan.nativeElement.value = '';\n this.partnersDocumentDetail.partner_file_url = imgUrl;\n payLoad.append('type', 'PAN');\n payLoad.append('email', this.partnersDocumentDetail.email);\n payLoad.append('mobile', this.partnersDocumentDetail.mobile);\n if(!this.panReupload){\n this.document_id = this.isDirectorUpdate ? this.partnersDocumentDetail.document_id : (this.isPartOrDir == 'd' ? '' : (this.partnersDocumentDetail.document_id ? this.partnersDocumentDetail.document_id : ''));\n }\n break;\n case 5:\n this.frontSide.nativeElement.value = '';\n payLoad.append('type', this.partnersDocumentDetail.address_proof);\n if (this.partnersDocumentDetail.address_proof == 'AADHAR' || this.partnersDocumentDetail.address_proof == 'PASSPORT')\n payLoad.append('subtype', 'F');\n this.partnersDocumentDetail.partner_file_url1 = imgUrl;\n this.aaFilef = this.file_;\n break;\n case 6:\n this.backSide.nativeElement.value = '';\n payLoad.append('type', this.partnersDocumentDetail.address_proof);\n payLoad.append('subtype', 'B');\n this.partnersDocumentDetail.partner_file_url2 = imgUrl;\n this.aaFileb = this.file_;\n break;\n }\n if (this.document_id) {\n payLoad.append('id', this.document_id);\n }\n payLoad.append('file', this.file_);\n payLoad.append('fileurl', imgUrl);\n payLoad.append('full_name', this.partnersDocumentDetail.name);\n this.auth_pers_name.a_name = this.partnersDocumentDetail.name;\n if (this.partnersDocumentDetail.address_proof == 'AADHAR' ) {\n const storeObj = { id: this.document_id, file: this.aaFilef, fileb: this.aaFileb, fileurlf: this.partnersDocumentDetail.partner_file_url1, fileurlb: this.partnersDocumentDetail.partner_file_url2 };\n if (file_no == 6) {\n this.kycAadharStore(storeObj);\n }\n } else {\n this.commonApiRequest(payLoad, file_no);\n }\n\n }\n commonApiRequest(pay_load, doc_type) {\n\n this.kycServices.createPanOcr(pay_load).subscribe(\n {\n next: (res: any) => {\n if (res.statuscode == 200) {\n if (res.reupload) {\n if( doc_type == 4){\n this.panReupload=true;\n this.document_id = res.id;\n this.partnersDocumentDetail.partner_file_url = 'assets/assets/img/upload_file.png';\n }else if(doc_type == 5){\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n }else{\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png'\n }\n this.toaster.showError(res.message, 'Error');\n }\n else if (!res.reupload && res.call_api_verify) {this.panReupload=false;\n this.document_id = res.id;\n if (doc_type == 4) {\n const ocrPayLoad = new FormData();\n ocrPayLoad.append('id', this.document_id);\n ocrPayLoad.append('pan_number', res.data.pan_number);\n ocrPayLoad.append('fullname', res.data.full_name);\n this.auth_pers_name.p_name = res.data.full_name;\n this.kycServices.verifyPanOcr(ocrPayLoad).subscribe((respo) => {\n if (res.statuscode == 200) {\n if (res.reupload) {\n this.panReupload=true;\n this.toaster.showError(respo.message, 'Error');\n this.partnersDocumentDetail.partner_file_url = 'assets/assets/img/upload_file.png';\n } else {\n this.showHideDirectorAddressProof=false;\n this.pan_verify=true;\n this.panReupload=false;\n this.toaster.showSuccess(respo.message, 'Success');\n this.isHiddenPan = true;\n this.isShow = false;\n this.enableText = true;\n }\n } else {\n this.toaster.showError(respo.message, 'Error');\n }\n });\n } else {\n this.auth_pers_name.av_name = res.data.full_name;\n if (this.partnersDocumentDetail.address_proof == 'VOTERID' || this.partnersDocumentDetail.address_proof == 'LICENCE') {\n let commonUrl = config.UserKyc.uploadDocument;\n let requesrUrl = \"\";\n const ocrPayLoad = new FormData();\n ocrPayLoad.append('id', this.document_id);\n ocrPayLoad.append('fullname', res.data.full_name);\n ocrPayLoad.append('type', this.partnersDocumentDetail.address_proof);\n switch (this.partnersDocumentDetail.address_proof) {\n case 'VOTERID':\n ocrPayLoad.append('voterid', res.data.epic_number ? res.data.epic_number : 'voter1234');\n requesrUrl = commonUrl.verifyVoterId\n break;\n case 'LICENCE':\n ocrPayLoad.append('dlnumber', res.data.dlnumber);\n ocrPayLoad.append('dob', res.data.dob);\n requesrUrl = commonUrl.dlverify\n break;\n }\n this.kycServices.verifyVoterIdOrDL(ocrPayLoad, requesrUrl).subscribe((result) => {\n if (result.statuscode == 200) {\n if (result.reupload) {\n this.disableNextButton=true;\n this.toaster.showError(result.message, 'Error');\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png'\n } else {\n this.disableNextButton=false;\n this.updateKycDetail(result);\n this.compareNames();\n if (this.isPartOrDir == 'd') {\n this.pushDirectorData(result);\n } else { this.isShowSaveNextButton = this.kycServices.finalKycStep.getValue() == 10 ? true : false; }\n this.toaster.showSuccess(result.message, 'Success');\n }\n\n } else {\n this.toaster.showError(result.message, 'Error');\n }\n }), (err: any) =>{\n this.disableNextButton=true;\n this.toaster.showError(err.message, 'Error');\n };;\n } else {\n if (doc_type == 5) {\n this.aadharPPFrontData = res.data\n }\n if (doc_type == 6) {\n this.aadharPPBackData = res.data;\n const ocrPayLoad = new FormData();\n ocrPayLoad.append('id', this.document_id);\n ocrPayLoad.append('fullname', this.aadharPPFrontData.full_name);\n ocrPayLoad.append('type', this.partnersDocumentDetail.address_proof);\n ocrPayLoad.append('fileurl', this.partnersDocumentDetail.partner_file_url1);\n ocrPayLoad.append('fileburl', this.partnersDocumentDetail.partner_file_url2);\n ocrPayLoad.append('file_number', this.aadharPPBackData.file_num);\n ocrPayLoad.append('dob', this.aadharPPFrontData.dob);\n ocrPayLoad.append('passportno', this.aadharPPFrontData.passport_num);\n\n this.kycServices.verifyPP(ocrPayLoad).subscribe(\n (_resp) => {\n if (_resp.statuscode == 200) {\n if (_resp.reupload) {\n this.disableNextButton=true;\n this.toaster.showError(_resp.message, 'Error');\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png'\n }\n else {\n this.disableNextButton=false;\n this.toaster.showSuccess(_resp.message, 'Success');\n this.updateKycDetail(_resp);\n this.compareNames();\n if (this.isPartOrDir == 'd') {\n this.pushDirectorData(_resp);\n } else { this.isShowSaveNextButton = this.kycServices.finalKycStep.getValue() == 10 ? true : false; }\n }\n\n } else {\n this.toaster.showError(_resp.message, 'Error');\n }\n }), (err: any) =>{\n this.disableNextButton=true;\n this.toaster.showError(err.message, 'Error');\n };\n }\n }\n }\n } else {\n this.panReupload=false;\n this.document_id = res.id;\n if (doc_type == 4) {\n this.showHideDirectorAddressProof=false;\n this.pan_verify=true;\n this.toaster.showSuccess(res.message, 'Success');\n this.isHiddenPan = true;\n this.isShow = false;\n this.enableText = true;\n }\n else{\n if (doc_type == 5 && this.partnersDocumentDetail.address_proof == 'PASSPORT') {\n this.aadharPPFrontData = res.data;\n this.toaster.showSuccess(res.message, 'Success');\n }else{\n this.updateKycDetail(res);\n this.compareNames();\n if (this.isPartOrDir == 'd') {\n this.pushDirectorData(res);\n } else { this.isShowSaveNextButton = this.kycServices.finalKycStep.getValue() == 10 ? true : false; }\n this.toaster.showSuccess(res.message, 'Success');\n }\n this.disableNextButton=false;\n }\n }\n\n } else {\n if( doc_type == 4 && this.isPartOrDir == 'd' ){\n this.panReupload=true;\n this.document_id = res?.id ? res?.id : this.document_id;\n }\n this.onOcrFail(doc_type);\n this.toaster.showError(res.message, 'Error');\n }\n }, error: (err: any) => {\n this.onOcrFail(doc_type);\n this.toaster.showError(err.message, \"Error\");\n this.disableNextButton=true;\n }\n });\n\n }\n onOcrFail(doc_type: any) {\n if (doc_type == 4) { this.partnersDocumentDetail.partner_file_url = 'assets/assets/img/upload_file.png' }\n else if (doc_type == 5) { this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png' }\n else if (doc_type == 6) { this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png' }\n }\n sendOtp() {\n const ocrPayLoad = new FormData();\n ocrPayLoad.append('id', this.document_id);\n ocrPayLoad.append('aadhar_number', this.aadhar_no);\n ocrPayLoad.append('fullname', this.full_name);\n ocrPayLoad.append('type', 'AADHAR');\n this.kycServices.createAadharOtp(ocrPayLoad).subscribe((res) => {\n if (res.statuscode == 200) {\n if (!this.isResendOtp) {\n this.openOTPModal();\n }\n this.aadgarRefid = res.refid;\n this.toaster.showSuccess(res.message, 'Success');\n } else {\n this.toaster.showError(res.message, 'Error');\n }\n }),(err:any)=>{\n this.toaster.showError(err.message, 'Error');\n };\n }\n openOTPModal() {\n this.customConfig = {};\n this.templateRef = this._TemplateModalService.open(\n this.modalTemplate,\n {},\n this.customConfig\n );\n this.templateRef.afterClosed$.subscribe((val) => {\n if (val.type == 'ok') {\n } else {\n //this.frontSide.nativeElement.value = '';\n if (!this.isOtpVerify) {\n this.partnersDocumentDetail.partner_file_url1 = \"assets/assets/img/upload_file.png\"\n }\n }\n });\n }\n\n verifyOtp(otp: any) {\n if (!otp) {\n this.toaster.showInfo('please enter OTP', 'Info');\n return;\n }\n const data = new FormData();\n data.append('refid', this.aadgarRefid);\n data.append('id', this.document_id);\n data.append('otp', otp);\n data.append('type', 'AADHAR');\n data.append('fullname', this.partnersDocumentDetail.name);\n data.append('fileurl', this.partnersDocumentDetail.partner_file_url1);\n data.append('fileburl', this.partnersDocumentDetail.partner_file_url2);\n this.kycServices.verifyAadharOtp(data).subscribe((res: any) => {\n if (res && res.statuscode == 200) {\n this.disableNextButton=false;\n this.isOtpVerify = true;\n this.updateKycDetail(res);\n this.closeTemplateModal();\n this.toaster.showSuccess(res.message, 'Success');\n this.compareNames();\n if (this.isPartOrDir == 'd') {\n this.pushDirectorData(res);\n } else {\n this.isShowSaveNextButton = this.kycServices.finalKycStep.getValue() == 10 ? true : false;\n }\n } else {\n this.disableNextButton=true;\n this.toaster.showError(res.message, 'Error');\n }\n }),(err:any)=>{\n this.toaster.showError(err.message, 'Error');\n };\n }\n\n async sendOTP(isResendOtp: boolean) {\n this.isResendOtp = true;\n this.sendOtp();\n }\n closeTemplateModal($event?: CustomOverlayConfig) {\n this.templateRef.close(this.customConfig);\n this.isOtpVerify = false;\n\n }\n closeModalPopUp(){\n let customConfig: ConfirmationModalConfig = {\n data: {\n icon: 'info',\n title: 'Final Confirmation?',\n title2: '',\n msg: \"if you are closing the OTP model you will be lost your aadhar detail ?\",\n btnConfirm: 'Confirm',\n btnClose: 'Cancel'\n },\n };\n\n let confirmationRef =\n this._ConfirmationModalService.open(\n ConfirmationComponent,\n customConfig\n );\n confirmationRef.events.pipe(\n filter((event) => {\n // console.log(event);\n return !!event\n }),\n ).subscribe(async (events) => {\n switch (events.type) {\n case 'confirm':\n confirmationRef.close(customConfig);\n this.templateRef.close(this.customConfig);\n this.isOtpVerify = false;\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png';\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png';\n this.frontSide.nativeElement.value = '';\n this.backSide.nativeElement.value = '';\n break;\n case 'close':\n confirmationRef.close(customConfig);\n break;\n }\n });\n\n }\n SaveAndNext() {\n //|| (this.userDetail.company_id == 3 || this.userDetail.company_id == 11)\n // console.log(this.allDirectorList);\n if((this.userDetail.company_id != 3 && this.userDetail.company_id != 11 && (this.allDirectorList.length < 2 || (this.allDirectorList[1]?.status != 1 && this.allDirectorList[1]?.status != 2 ))) ){\n this.toaster.showError('Please provide minimum 2 director detail including authorised signatory','Error');\n return;\n }else{\n this.isKycStep.emit(9);\n this.userDetailsService.updateLocalStorage({ ['data.kyc_step']: 9 });\n }\n\n }\n\n pushDirectorData(data:any) {\n if (this.isDirectorUpdate) {\n this.kycPartnerList = this.kycPartnerList.filter(f => f.document_id != this.document_id);\n }\n\n this.kycPartnerList.push({\n pan_file: this.partnersDocumentDetail.partner_file_url,\n aadhar_file: this.partnersDocumentDetail.partner_file_url1,\n aadhar_back_file: this.partnersDocumentDetail.partner_file_url2,\n name: this.partnersDocumentDetail.name,\n mobile: this.partnersDocumentDetail.mobile,\n email: this.partnersDocumentDetail.email,\n type: this.partnersDocumentDetail.address_proof,\n document_id: this.document_id,\n status:data?.doc_status?data?.doc_status: 2,\n remarks: ''\n });\n if (this.isPartOrDir == 'd') {\n this.setPartnerDefaultImage();\n }\n }\n updateKycDetail(data:any) {\n if (this.kycServices.finalKycStep.getValue() == 10) {\n let payload_: FormData = new FormData();\n this.kycServices.finalKycUpdate(payload_).subscribe(res => { })\n }\n var jsonObj: any = {};\n jsonObj.av_path = this.partnersDocumentDetail.partner_file_url1;\n jsonObj.av_bpath = this.partnersDocumentDetail.partner_file_url2;\n jsonObj.full_name = this.partnersDocumentDetail.name;\n jsonObj.mobile = this.partnersDocumentDetail.mobile;\n jsonObj.email = this.partnersDocumentDetail.email;\n jsonObj.id = this.document_id;\n jsonObj.pan_path = this.partnersDocumentDetail.partner_file_url;\n jsonObj.status = data?.doc_status?data?.doc_status: 2;\n jsonObj.type = this.partnersDocumentDetail.address_proof;\n jsonObj.update_counter = 1;\n if (this.isPartOrDir == 'a') {\n if (this.allDirectorList.length > 0) {\n this.allDirectorList.shift();\n this.allDirectorList.unshift(jsonObj);\n } else {\n this.allDirectorList.push(jsonObj);\n }\n } else {\n if (this.isDirectorUpdate) {\n this.allDirectorList = this.allDirectorList.filter(f => f.id != this.document_id);\n }\n this.allDirectorList.push(jsonObj);\n }\n this.userDetailsService.updateKycDetail({\n ['kyc_list.kycpartnership']: this.allDirectorList,\n });\n }\n editDocument(value: any) {\n\n this.partnersDocumentDetail.document_id = value.document_id ?? value.id;\n this.document_id = value.document_id ?? value.id;\n this.partnersDocumentDetail.name = value.name ?? value.full_name;\n this.partnersDocumentDetail.mobile = value.mobile ;\n this.partnersDocumentDetail.email = value.email ;\n this.partnersDocumentDetail.address_proof = '';\n this.partnersDocumentDetail.partner_file_url = value.pstatus == 0 || value.pstatus == 4 ?'assets/assets/img/upload_file.png':value.pan_file;\n this.partnersDocumentDetail.partner_file_url1 =value.ostatus == 0 || value.ostatus == 4 ? 'assets/assets/img/upload_file.png':value.av_path;\n this.partnersDocumentDetail.partner_file_url2 = value.ostatus == 0 || value.ostatus == 4 ?'assets/assets/img/upload_file.png':value.av_bpath;\n this.partnersDocumentDetail.remarks=value.remarks;\n this.isHiddenPan = value.pstatus == 0 || value.pstatus == 4 ? false : true;\n this.showHideDirectorAddressProof=value.pstatus == 0 || value.pstatus == 4 ? true : false;\n this.isDirectorUpdate = true;\n }\n compareNames() {\n // console.log(this.auth_pers_name)\n // if((this.auth_pers_name.a_name.trim() != this.auth_pers_name.p_name.trim()) || (this.auth_pers_name.p_name.trim() != this.auth_pers_name.av_name.trim())){\n // this.toaster.showInfo(\"Name mismatch\",\"Info\");\n // }\n }\n kycAadharStore(data: any) {\n const form_data=new FormData();\n form_data.append('fileurlf',data.fileurlf);\n form_data.append('type','AADHAR');\n form_data.append('fileurlb',data.fileurlb);\n form_data.append('id',data.id);\n this.kycServices.kycAadharStore(form_data).subscribe(responce=>{\n if(responce && responce.statuscode == 200){\n const formData=new FormData();\n formData.append('id',data.id);\n formData.append('type','AADHAR');\n formData.append('fileurlf',data.fileurlf);\n formData.append('fileurlb',data.fileurlb);\n formData.append('file',data.file);\n formData.append('fileb',data.fileb);\n this.kycServices.kycAadharOcr(formData).subscribe({\n next:(result:any)=>{\n if(result && result.statuscode == 200 ){\n if(result.reupload){\n this.disableNextButton=true;\n this.toaster.showError(result.message,\"Error\");\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png'\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png'\n\n }\n else if(!result.reupload && !result.call_api_verify){\n this.toaster.showSuccess(result.message,\"Success\");\n this.disableNextButton=false;\n this.updateKycDetail(result);\n if (this.isPartOrDir == 'd') {\n this.pushDirectorData(result);\n }\n }else if(!result.reupload && result.call_api_verify){\n this.aadhar_no=result.data?.aadhaar_number;\n this.full_name=result.data?.full_name;\n this.isResendOtp=false;\n this.sendOtp();\n }\n }else{\n this.toaster.showError(result.message,\"Error\");\n }\n },error:(err:any)=>{\n this.toaster.showError(err.message,\"Error\");\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png'\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png'\n\n }\n })\n }else{\n this.toaster.showError(responce.message,\"Error\");\n this.partnersDocumentDetail.partner_file_url1 = 'assets/assets/img/upload_file.png'\n this.partnersDocumentDetail.partner_file_url2 = 'assets/assets/img/upload_file.png'\n }\n })\n }\n viewDoc(value:any){\n let customConfigData: ConfirmationModalConfig = { data:{img:value}};\n let confirmationRef =this._ConfirmationModalService.open(DocModalComponent,customConfigData);\n }\n}\n\n","
\n
\n
\n
Kyc Form\n

{{configDynamicField.heading}}

\n
1 && allDirectorList.length > 0 && kyc_data.kyc_status != 1 \">\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n Mobile Number is required.\n
\n
\n Please Enter at least 10 digit valid Mobile number.\n
\n\n
\n
\n
\n
\n
\n \n \n \n
\n
\n Email id is required.\n
\n
\n Please Enter Valid Email id\n
\n
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n

{{configDynamicField.panCardHeading}}*

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n
\n
\n View Document\n
\n
\n

Pan Card

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

{{partnersDocumentDetail.address_proof == 'AADHAR' || partnersDocumentDetail.address_proof == 'PASSPORT'? \"Upload \"+partnersDocumentDetail.address_proof+\" front side \":'Upload Address Proof'}}*

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n \n
\n
\n View Document\n
\n
\n

{{partnersDocumentDetail.address_proof == 'AADHAR' || partnersDocumentDetail.address_proof == 'PASSPORT'? partnersDocumentDetail.address_proof+\" front side \":partnersDocumentDetail.address_proof == 'LICENCE'?'Driving License':partnersDocumentDetail.address_proof}}

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

Upload {{partnersDocumentDetail.address_proof}} Back side *

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n \n
\n
\n View Document\n
\n
\n

{{partnersDocumentDetail.address_proof}} Back side

\n \n \n \n\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
Kyc Form\n

{{configDynamicField.heading}}

\n
\n \n\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n Mobile Number is required.\n
\n
\n Please Enter at least 10 digit valid Mobile number.\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n Email id is required.\n
\n
\n Please Enter Valid Email id\n
\n
\n
\n
\n\n
\n \n
\n \n \n \n
\n
\n
\n

{{configDynamicField.panCardHeading}}*

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n
\n
\n View Document\n
\n\n\n
\n\n

{{partnersDocumentDetail.address_proof == 'AADHAR' || partnersDocumentDetail.address_proof == 'PASSPORT'? \"Upload \"+partnersDocumentDetail.address_proof+\" front side \":'Upload Address Proof'}} *

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n \n
\n
\n View Document\n
\n \n
\n

Upload {{partnersDocumentDetail.address_proof}} Back side *

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

Allowed Format - JPG, JPEG, PNG

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n \n
\n
\n View Document\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
1 && kyc_data.kyc_status == 1 )\">\n
\n 0 else nodata\">\n
List of Kyc Partners
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
Sr.No.Directors NameMobile NumberEmail idAddress Proof TypeStatusRemarksAction
{{i+1}}{{value.name}}{{value?.mobile}}{{value?.email}}{{value.type}}\n \n\n {{value.remarks?value.remarks:'--'}}\n \n \n \n \n \n
\n
\n
\n \n
List of Kyc Partners
\n
\n \n \n \n \n
\n

Record Not Found

\n
\n
\n\n
\n
\n
\n\n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '@shared/shared.module';\nimport { PartnerDocumentsComponent } from './partner-documents.component';\nimport { CustomOtpModule } from '@features/custom-otp/custom-otp.module';\nimport { CdkCustomMdlModule } from '@features/customCDK/cdkCustomMdl/cdk-custom-mdl.module';\n\n\n\n@NgModule({\n declarations: [PartnerDocumentsComponent],\n imports: [\n SharedModule,\n CustomOtpModule,\n CdkCustomMdlModule\n ],\n exports:[PartnerDocumentsComponent]\n})\nexport class PartnerDocumentsModule { }\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild,OnDestroy } from '@angular/core';\nimport { CommonService } from '@core/services/common.service';\nimport { FileuploadService } from '@core/services/file-upload.service';\nimport { config } from '@core/services/request-url.service';\nimport { SessionStorageService } from '@core/services/session-storage.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { ConfirmationComponent } from '@features/customCDK/cdkCustomMdl/components/confirmation/confirmation.component';\nimport { ConfirmationModalConfig, ConfirmationModalService } from '@features/customCDK/cdkCustomMdl/services/confirmation-modal.service';\nimport { filter } from 'rxjs';\nimport { KycServices } from '../kyc-services';\n\n@Component({\n selector: 'app-verify-document',\n templateUrl: './verify-document.component.html',\n styleUrls: ['./verify-document.component.scss'],\n})\nexport class VerifyDocumentComponent implements OnInit, AfterViewInit,OnDestroy {\n\n isImageDisabled: boolean = false;\n status: any = '';\n @Input() documentDetail: any;\n @Output() isKycStep = new EventEmitter();\n document_list:any[]=[];\n _kyc_list:any={};\n fileType: string = '';\n fileType1: string = '';\n file_url: string = '';\n file_url1: string = '';\n pdfPath: string = '';\n document_name: string = '';\n remarks: string = '';\n common_msg: string = 'Details should be of the mentioned business only';\n file_: File;\n current_doc_obj:any={};\n userPanName: string = '';\n childKycStep: number | string;\n kyc_steps: number | string = 0;\n // uploadFileType = 'JPG, JPEG, PNG, PDF';\n unlinkUrl:string='';\n unlinkUrl1:string='';\n documentType:string='';\n userData:any;\n constructor(\n private kycServices: KycServices,\n private toaster: NgxToasterService,\n private sessionStorage: SessionStorageService,\n private _FileuploadService: FileuploadService,\n private userDetailsService: UserDetailsService,\n private _CommonService:CommonService,\n private _ConfirmationModalService: ConfirmationModalService,\n ) { }\n\n ngOnInit(): void {\n this.current_doc_obj={};\n this.setDefaultImage();\n this.getuserDetail();\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) => {\n this.userData=value?.data;\n this.kyc_steps = value?.data?.kyc_step;\n }\n });\n this.kycServices.kyc_detail_.subscribe(res => {\n if (res) {\n this.document_list=res.document_list;\n this._kyc_list=res.kyc_list;\n this.current_doc_obj= this.document_list.filter(d=> d.step == this.kyc_steps)[0];\n if(this.current_doc_obj){\n this.getDocumentFormate(this.current_doc_obj);\n }\n\n }\n });\n this.documentType=this._kyc_list?.businessdetail?.doctype;\n this.kycServices.selectedKycStep.subscribe(res => {\n if (res) {\n this.kyc_steps = res;\n this.childKycStep = res;\n this.current_doc_obj= this.document_list.filter(d=> d.step == this.kyc_steps)[0];\n this.kycServices.selectedChildKycStep.next(this.childKycStep);\n this.getDocumentFormate(this.current_doc_obj);\n setTimeout(() => {\n this.bindDocumentUrls(this.kyc_steps)\n }, 1);\n }\n })\n\n }\n getuserDetail() {\n let _userDetail = this.sessionStorage.getItem('userDetails') ? JSON.parse(this.sessionStorage.getItem('userDetails')) : {};\n if (_userDetail) { this.userPanName = _userDetail.data.name; }\n }\n ngAfterViewInit(): void {\n\n }\n\n onChildDocChange(event) {\n this.getDocumentUrl(event, 1);\n }\n onFileChange(event) {\n this.getDocumentUrl(event, 2);\n }\n getDocumentUrl(event, fileno) {\n\n this.file_ = event.target.files[0];\n var maxfilesize = 2 * (1024 * 1024) // 2 Mb\n var filesize = this.file_.size\n if (maxfilesize >= filesize) {\n // const fileExt=this.file_.name.split('.')[1];\n const fileExt = this.file_.name.split('.')[(this.file_.name.split('.').length) - 1].toLowerCase();\n if ((this.current_doc_obj?.type != 'pdf') && (fileExt != 'jpeg' && fileExt != 'jpg' && fileExt != 'png')) {\n this.toaster.showError('You can only upload JPG, PNG and JPEG file', 'Error');\n return;\n }\n if (this.current_doc_obj?.type == 'pdf' && fileExt != 'pdf') {\n this.toaster.showError('You can only upload PDF file', 'Error');\n return;\n }\n\n let customConfig: ConfirmationModalConfig = {\n data: {\n icon: 'info',\n title: 'Final Confirmation?',\n title2: '',\n msg: \"Are you sure to proceed with these documents, NOTE: Details once submitted will not be changed?\",\n btnConfirm: 'Confirm',\n btnClose: 'Cancel'\n },\n };\n\n let confirmationRef =\n this._ConfirmationModalService.open(\n ConfirmationComponent,\n customConfig\n );\n confirmationRef.events.pipe(\n filter((event) => {\n // console.log(event);\n return !!event\n }),\n ).subscribe(async (events) => {\n switch (events.type) {\n case 'confirm':\n\n let uploadedFile = await this._FileuploadService.uploadFileFn(this.file_, this.unlinkUrl);\n confirmationRef.close(customConfig);\n\n if (uploadedFile.response == 1) {\n this.bindValue(uploadedFile.pan_proof, fileno, this.file_.name);\n } else {\n this.toaster.showError(uploadedFile.message, 'Error');\n }\n break;\n case 'close':\n // console.log('close modal');\n confirmationRef.close(customConfig);\n break;\n }\n });\n\n }\n else {\n this.toaster.showInfo('File size should not be greater than 2MB', \"Info\")\n }\n }\n bindValue(imgUrl, file_no, file) {\n switch (file_no) {\n case 1:\n this.fileType = '';\n this.fileType = ((file).split('.')[1]).toLowerCase();\n this.file_url = imgUrl;\n // if (this.kyc_steps == 6){this.selectedfile.nativeElement.value = \"\";}\n break;\n case 2:\n this.fileType1 = '';\n // this.selectedfile2.nativeElement.value = \"\";\n this.fileType1 = ((file).split('.')[1]).toLowerCase();\n this.file_url1 = imgUrl;\n break;\n }\n // this.verifyOcrDocument()\n }\n\n verifyOcrDocument() {\n\n let commonUrl = config.UserKyc.uploadDocument;\n let requesrUrl = \"\";\n let payLoad = new FormData();\n this.document_name = '';\n\n const request_doc= this.document_list.filter(d=> d.step == this.kyc_steps)[0];\n // console.log(request_doc.value);\n this.document_name=request_doc.value;\n //console.log(this.document_name)\n switch (this.document_name) {\n case 'kycpan':\n // this.document_name = 'kycpan';\n requesrUrl = commonUrl.incorporatepanDetail;\n payLoad.append('file', this.file_);\n payLoad.append('type', 'PAN');\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kyccoi':\n // this.document_name = 'kyccoi';\n requesrUrl = commonUrl.coiDetail;\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kycbylows':\n // this.document_name = 'kyccoi';\n requesrUrl = commonUrl.byLawsDoc;\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kycaletteraperson':\n requesrUrl = commonUrl.letterForPerson;\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kycllpagreement':\n requesrUrl = commonUrl.llpAgreement;\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kyctrustdeedormou':\n requesrUrl = commonUrl.trustDeed;\n payLoad.append('fileurl', this.file_url)\n break;\n case 'kycgst':\n if(this.documentType == 'GST' || !this.documentType){\n requesrUrl = commonUrl.gstDetail;\n payLoad.append('file', this.file_);\n payLoad.append('type', 'GST');\n }\n else{\n requesrUrl = commonUrl.addShopUdyamDoc;\n payLoad.append('type', this.documentType);\n }\n payLoad.append('fileurl', this.file_url)\n break;\n case 'moaaoakyc':\n // this.document_name = 'moaaoakyc';\n requesrUrl = commonUrl.moa_aoa_Detail;\n payLoad.append('moaurl', this.file_url);\n payLoad.append('aoaurl', this.file_url1);\n break;\n case 'kycboard':\n // this.document_name = 'kycboard';\n requesrUrl = commonUrl.boardResolution;\n payLoad.append('boardurl', this.file_url);\n break;\n }\n if (this.file_url == 'assets/assets/img/upload_file.png') {\n return;\n } else if (this.kyc_steps == 6 && this.file_url1 == 'assets/assets/img/upload_file.png' && this.current_doc_obj.value == 'moaaoakyc') {\n\n return;\n }\n\n this.kycServices.addBusinessDocuments(payLoad, requesrUrl).subscribe(res => {\n if (res.statuscode == 200 ) {\n if (this.kyc_steps == 3) {\n if(res.reupload){\n this.toaster.showError(res.message, 'Error');\n }else if(!res.reupload && !res.call_api_verify){\n this.getSuccessRes(res);\n this.toaster.showSuccess(res.message, 'Success');\n }\n else{\n const payLoad_ = new FormData();\n payLoad_.append('pan_number', res?.data?.pan_number);\n this.kycServices.addBusinessDocuments(payLoad_, commonUrl.panVerify).subscribe(respo => {\n if (respo.statuscode == 200 ) {\n if(respo.reupload){\n this.toaster.showError(respo.message, 'Error');\n }else{\n this.getSuccessRes(respo);\n this.toaster.showSuccess(respo.message, 'Success');\n }\n } else {\n this.toaster.showError(res.message, 'Error');\n }\n })\n }\n } else {\n\n if(this.documentType == 'GST' || !this.documentType){\n if(!res.reupload){\n this.toaster.showSuccess(res.message, 'Success');\n this.getSuccessRes(res);\n }else{\n this.toaster.showError(res.message, 'Error');\n }\n }else{\n this.toaster.showSuccess(res.message, 'Success');\n this.getSuccessRes(res);\n }\n }\n } else {\n this.toaster.showError(res.message, 'Error');\n }\n },(error)=>{\n this.toaster.showError(error.message, 'Error')\n })\n\n\n }\n getSuccessRes(res:any){\n if (this.kycServices.finalKycStep.getValue() != 10) {\n this.kyc_steps = res.kyc_step;\n this.isKycStep.emit(res.kyc_step);\n this.userDetailsService.updateLocalStorage(\n { ['data.kyc_step']: res.kyc_step }\n )\n this.updateKycDetail(res);\n this.setDefaultImage();\n } else {\n this.updateKycDetail(res);\n let reqData: FormData = new FormData();\n this.kycServices.finalKycUpdate(reqData).subscribe(res => { })\n }\n }\n setDefaultImage() {\n this.fileType = '';\n this.fileType1 = '';\n this.unlinkUrl='';\n this.unlinkUrl1='';\n this.file_url = 'assets/assets/img/upload_file.png';\n this.file_url1 = 'assets/assets/img/upload_file.png';\n this.pdfPath = 'assets/img/Mask Group 43.png';\n }\n onSubmitKyc(value) {\n this.isKycStep.emit(value);\n this.kyc_steps = value;\n }\n bindDocumentUrls(childKycStep) {\n this.file_url = 'assets/assets/img/upload_file.png';\n this.file_url1 = 'assets/assets/img/upload_file.png';\n this.pdfPath = 'assets/img/Mask Group 43.png';\n var uploadedData: any = {};\n this.kycServices.kyc_detail_.subscribe(res => {\n if (res) {\n uploadedData = res.kyc_list;\n\n }\n });\n\n this.isImageDisabled = false;\n this.status='';\n this.fileType='';\n this.unlinkUrl='';\n this.unlinkUrl1='';\n const request_doc= this.document_list.filter(d=> d.step == childKycStep)[0];\n const doc_name=request_doc.value;\n switch (doc_name) {\n case 'kycpan':\n if (uploadedData.kycpan && uploadedData?.kycpan?.status != 4) {\n this.file_url = !uploadedData.kycpan.status?this.file_url: uploadedData.kycpan.pan_path;\n this.setDocumentValue(uploadedData.kycpan,uploadedData.kycpan.pan_path);\n }\n break;\n case 'kyccoi':\n if (uploadedData.kyccoi) {\n this.file_url = !uploadedData.kyccoi.status?this.file_url: uploadedData.kyccoi.file_path;\n this.setDocumentValue(uploadedData.kyccoi,uploadedData.kyccoi.file_path);\n }\n break;\n case 'kycaletteraperson':\n if (uploadedData.kycaletteraperson) {\n this.file_url = !uploadedData.kycaletteraperson.status?this.file_url: uploadedData.kycaletteraperson.file_path;\n this.setDocumentValue(uploadedData.kycaletteraperson,uploadedData.kycaletteraperson.file_path);\n }\n break;\n case 'kycllpagreement':\n if (uploadedData.kycllpagreement) {\n this.file_url = !uploadedData.kycllpagreement.status?this.file_url: uploadedData.kycllpagreement.file_path;\n this.setDocumentValue(uploadedData.kycllpagreement,uploadedData.kycllpagreement.file_path);\n }\n break;\n case 'kyctrustdeedormou':\n if (uploadedData.kyctrustdeedormou) {\n this.file_url = !uploadedData.kyctrustdeedormou.status?this.file_url: uploadedData.kyctrustdeedormou.file_path;\n this.setDocumentValue(uploadedData.kyctrustdeedormou,uploadedData.kyctrustdeedormou.file_path);\n }\n break;\n case 'kycgst':\n if (uploadedData.kycgst) {\n this.file_url = !uploadedData.kycgst.status?this.file_url: uploadedData.kycgst.gst_path;\n this.setDocumentValue(uploadedData.kycgst,uploadedData.kycgst.gst_path);\n }\n break;\n case 'kycbylows':\n if (uploadedData.kycbylows) {\n this.file_url = !uploadedData.kycbylows.status?this.file_url: uploadedData.kycbylows.file_path;\n this.setDocumentValue(uploadedData.kycbylows,uploadedData.kycbylows.file_path);\n }\n break;\n case 'moaaoakyc':\n if (uploadedData.moaaoakyc) {\n this.file_url = !uploadedData.moaaoakyc.status?this.file_url: uploadedData.moaaoakyc.moafilepath;\n this.file_url1 = !uploadedData.moaaoakyc.status?this.file_url1: uploadedData.moaaoakyc.aoafilepath;\n this.unlinkUrl=uploadedData.moaaoakyc.moafilepath;\n this.unlinkUrl1=uploadedData.moaaoakyc.aoafilepath;\n this.isImageDisabled = uploadedData.moaaoakyc.status ? true : false;\n this.status=uploadedData.moaaoakyc.status;\n this.remarks = uploadedData.moaaoakyc.remarks;\n const extLen=this.file_url.split('.').length;\n this.fileType=this.file_url.split('.')[`${extLen-1}`].toLowerCase();\n const extLen1 = this.file_url.split('.').length;\n this.fileType1 = this.file_url.split('.')[`${extLen1 - 1}`].toLowerCase();\n }\n break;\n case 'kycboard':\n if (uploadedData.kycboard) {\n this.file_url = !uploadedData.kycboard.status?this.file_url: uploadedData.kycboard.filepath;\n this.setDocumentValue(uploadedData.kycboard,uploadedData.kycboard.filepath);\n break;\n }\n }\n }\n setDocumentValue(data: any,unlink_url:any) {\n this.unlinkUrl=unlink_url;\n this.isImageDisabled = data.status || !data.update_counter ? true : false;\n this.status = data.status;\n this.remarks = data.remarks;\n const extLen = this.file_url.split('.').length;\n this.fileType = this.file_url.split('.')[`${extLen - 1}`].toLowerCase();\n }\n\n updateKycDetail(data:any) {\n var jsonObj: any = {};\n switch (this.document_name) {\n case 'kycboard':\n jsonObj.filepath = this.file_url;\n break;\n case 'kyccoi':\n jsonObj.file_path = this.file_url;\n break;\n case 'kycgst':\n jsonObj.gst_path = this.file_url;\n break;\n case 'kycpan':\n jsonObj.pan_path = this.file_url;\n\n break;\n case 'moaaoakyc':\n jsonObj.moafilepath = this.file_url;\n jsonObj.aoafilepath = this.file_url1;\n break;\n case 'kycaletteraperson':\n jsonObj.file_path = this.file_url;\n break;\n case 'kycbylows':\n jsonObj.file_path = this.file_url;\n break;\n case 'kycllpagreement':\n jsonObj.file_path = this.file_url;\n break;\n case 'kyctrustdeedormou':\n jsonObj.file_path = this.file_url;\n break;\n }\n\n jsonObj.status = data.doc_status?data.doc_status: 2;\n jsonObj.update_counter = 0;\n this.userDetailsService.updateKycDetail(\n { [`kyc_list.${this.document_name}`]: jsonObj }\n )\n }\n\n ngOnDestroy(): void {\n }\n\n getDocumentFormate(data:any){\n if(data.value == 'moaaoakyc' || data.value == 'kyccoi' || data.value == 'kycboard' || data.value == 'kycllpagreement' || data.value == 'kyctrustdeedormou' || data.value == 'kycaletteraperson' || data.value == 'kycbylows'){\n this.current_doc_obj.document_type='PDF Only';\n this.current_doc_obj.type='pdf';\n }else if(data.value == 'kycpan' || data.value == 'kycgst'){\n this.current_doc_obj.document_type='JPG, JPEG, PNG';\n }\n\n }\n}\n","\n
= 3 && kyc_steps < 6 ) || (kyc_steps == 7) || (kyc_steps == 6 && current_doc_obj.value != 'moaaoakyc') \" role=\"tabpanel\">\n
\n
\n
{{current_doc_obj.value == 'kyctrustdeedormou' && userData.company_id == 2 ? 'Partnership Deed' :current_doc_obj.name}} *
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
MOA/ AOA
\n
\n
\n

MOA*

\n \n
\n
\n

AOA*

\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerifyDocumentComponent } from './verify-document.component';\nimport { SharedModule } from '@shared/shared.module';\nimport { PartnerDocumentsModule } from '../partner-documents/partner-documents.module';\n\n\n\n@NgModule({\n declarations: [VerifyDocumentComponent],\n imports: [\n SharedModule,\n PartnerDocumentsModule\n ],\n exports:[VerifyDocumentComponent]\n})\nexport class VerifyDocumentModule { }\n","\nimport { Injectable } from '@angular/core';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { FileuploadService } from '@core/services/file-upload.service';\nimport { config } from '@core/services/request-url.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PagesService {\n constructor(\n private apiRequest: ApiRequestService,\n private _FileuploadService: FileuploadService,\n ) { }\n getBankList(payLoad: any) {\n return this._FileuploadService.asyncMethod(config.UserKyc.getBankList);\n // return this.apiRequest.postdata(payLoad, config.UserKyc.getBankList);\n }\n getBankListForFund(payLoad: any) {\n return this.apiRequest.postAdminData(payLoad, config.UserKyc['getBankListForFund']['url']);\n }\n getVAList(): Observable {\n return this.apiRequest.postdata(null, config['vaAccount']);\n }\n uploadProfilePicture(payLoad: any) {\n return this.apiRequest.postdata(payLoad, config.profilePicture);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { config } from '@core/services/request-url.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport {BehaviorSubject, map, Observable, shareReplay, Subscription} from 'rxjs';\nimport { QrListApiResponse, RecentTransactionsApiResponse } from './payin.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PayinService {\n vpaListSubs: Subscription;\n recentTransactionSubs: Subscription;\n statusWiseAmountSubs: Subscription;\n volumeGraphSubs: Subscription;\n qrListSubs: Subscription;\n vpaListData: BehaviorSubject = new BehaviorSubject('');\n vpaDataList: BehaviorSubject = new BehaviorSubject([]);\n recentTransactions: BehaviorSubject = new BehaviorSubject([]);\n statusWiseAmount: BehaviorSubject = new BehaviorSubject('');\n volumeGraph: BehaviorSubject = new BehaviorSubject([]);\n qrList: BehaviorSubject = new BehaviorSubject('');\n constructor(\n private _apiRequestService: ApiRequestService,\n private _NgxToasterService: NgxToasterService,\n ) {}\n\n get _vpaListData$() {\n return this.vpaListData.asObservable();\n }\n\n get _recentTransactions$() {\n return this.recentTransactions.asObservable();\n }\n get _statusWiseAmount$() {\n return this.statusWiseAmount.asObservable();\n }\n\n get _volumeGraph$() {\n return this.volumeGraph.asObservable();\n }\n\n get _qrList$() {\n return this.qrList.asObservable();\n }\n\n get _qrListObject() {\n return this.qrList.getValue();\n }\n\n getVpaList(search?:any, start:any = 0): Promise {\n return new Promise((res, rej) => {\n let formdata = new FormData();\n formdata.append(\"start\", start);\n formdata.append(\"length\", '10');\n formdata.append('sort', 'desc');\n formdata.append('sortBy', 'updated_at');\n if(search !== undefined) formdata.append('search', search);\n this.vpaListSubs = this._apiRequestService.postdataAdmin(formdata, config['payin'].vpaList).subscribe((resp: any) => {\n if (resp.statuscode == 200) {\n this.vpaListData.next(resp.data);\n res(resp.data);\n } else {\n this.vpaListData.next([]);\n this._NgxToasterService.showError(resp.message, 'Error');\n rej(false);\n }\n });\n });\n }\n\n private settlementDetails$: BehaviorSubject;\n\n InitSettlementDetails(payload: any) {\n if (!this.settlementDetails$) {\n this.settlementDetails$ = new BehaviorSubject(null);\n this._apiRequestService.postdataAdmin(payload, config['payin'].settlementDetails).subscribe((resp: any) => {\n if (resp.statuscode == 200) {\n this.settlementDetails$.next(resp.data);\n } else {\n this.settlementDetails$.next([]);\n this._NgxToasterService.showError(resp.message, 'Error');\n }\n });\n }\n }\n FetchSettlementDetails(): Observable {\n return this.settlementDetails$.asObservable();\n }\n\n getRecentTransactions(payload?:any){\n let formData: FormData = new FormData();\n formData.append('type', (payload?.type ? payload?.type: 'recent'))\n formData.append('limit', '5')\n if(payload?.vpa) formData.append('vpa', payload?.vpa)\n this.recentTransactionSubs = this._apiRequestService.postdata(formData, config['payin'].getRecentTransactions).subscribe((res: RecentTransactionsApiResponse) => {\n if (res.statuscode =='200') {\n this.recentTransactions.next(res)\n } else {\n this.recentTransactions.next([])\n this._NgxToasterService.showError(res.message, 'Error');\n }\n });\n }\n\n getstatusWiseAmount(payload:any = null){\n this.statusWiseAmountSubs = this._apiRequestService.postdata(payload, config['payin'].statusWiseAmount).subscribe((res: any) => {\n if (res.statuscode === 200) {\n this.statusWiseAmount.next(res)\n } else {\n this.statusWiseAmount.next('')\n this._NgxToasterService.showError(res.message, 'Error');\n }\n });\n }\n\n getVolumeGraph(payload?:any) {\n let formData: FormData = new FormData();\n formData.append('mode', 'all');\n formData.append('type', (payload?.dateType ? payload?.dateType: 'day'));\n this.volumeGraphSubs = this._apiRequestService.postdata(formData, config['payin'].volumeGraph).subscribe({\n next: (resp: any) => {\n if (resp.statuscode === 200) {\n this.volumeGraph.next(resp)\n } else {\n this.volumeGraph.next([]);\n }\n }, error: (err: any) => {\n this.volumeGraph.next([]);\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n\n };\n\n getQRList(from_date: string = '', to_date: string = '', vpaKey:string='', search:string='') {\n let formData: FormData = new FormData();\n formData.append('fromDate', from_date)\n formData.append('toDate', to_date)\n formData.append('vpa', vpaKey)\n if(search !== '') formData.append('search', search)\n this.qrListSubs = this._apiRequestService.postdata(formData, config['payin'].QrList).subscribe({\n next: (resp: QrListApiResponse) => {\n if (resp.statuscode =='200') {\n this.qrList.next(resp.data)\n } else {\n this.qrList.next([]);\n }\n }, error: (err: any) => {\n this.qrList.next([]);\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n })\n\n };\n\n\n loadPayinDashboard() {\n if (!this.recentTransactions.getValue()) {\n this.getRecentTransactions();\n }\n if (!this.statusWiseAmount.getValue()) {\n this.getstatusWiseAmount();\n }\n if (!this.volumeGraph.getValue()) {\n this.getVolumeGraph();\n }\n // if (!this.vpaListData.getValue()) {\n // this.getVpaList();\n // }\n }\n\n\n ngOnDestroy(): void {\n if (this.vpaListSubs) {\n this.vpaListSubs.unsubscribe();\n }\n if (this.recentTransactionSubs) {\n this.recentTransactionSubs.unsubscribe();\n }\n if (this.statusWiseAmountSubs) {\n this.statusWiseAmountSubs.unsubscribe();\n }\n if (this.volumeGraphSubs) {\n this.volumeGraphSubs.unsubscribe();\n }\n if (this.qrListSubs) {\n this.qrListSubs.unsubscribe()\n }\n };\n\n resetPayinBehaviours() {\n this.vpaListData.next(null);\n this.vpaDataList.next(null);\n this.recentTransactions.next(null);\n this.statusWiseAmount.next(null);\n this.volumeGraph.next(null);\n this.qrList.next(null);\n }\n\n}\n","import { BehaviorSubject, filter, Subscription } from 'rxjs';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { config } from '@core/services/request-url.service';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TicklerService implements OnDestroy {\n\n ticklerSubscription: Subscription;\n ticklers: any;\n\n ticklersData: BehaviorSubject = new BehaviorSubject('');\n\n constructor(private apiRequestService: ApiRequestService,\n private router: Router,\n private _NgxToasterService: NgxToasterService) {\n // this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((e: any) => {\n // if (e.url.indexOf(\"/dashboard\") != -1) {\n\n // if (!this.ticklersData.getValue()) {\n // this.getTicklers();\n // }\n\n // }\n // })\n\n }\n\n get _ticklerData() {\n return this.ticklersData.asObservable();\n };\n\n getTicklers() {\n const formData: FormData = new FormData()\n this.ticklerSubscription = this.apiRequestService.postdata(formData, config.tickler).subscribe(\n {\n next: (resp: any) => {\n if(resp.statuscode == 200){\n this.ticklers = resp;\n this.ticklersData.next(resp)\n //console.log(\"tickler \", resp)\n } else{\n this.ticklersData.next([])\n this._NgxToasterService.showError(resp.message, \"Error\")\n }\n\n }, error: (err: any) =>{\n this._NgxToasterService.showError(err.message, \"Error\")\n }\n }\n );\n }\n\n ngOnDestroy(): void {\n if(this.ticklerSubscription){\n this.ticklerSubscription.unsubscribe();\n }\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { ResolveEnd, Router } from '@angular/router';\nimport { Platform } from '@angular/cdk/platform';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport * as _ from 'lodash';\n// Create the injection token for the custom settings\nexport const RNFIPAY_CONFIG = new InjectionToken('RelipayCustomConfig');\n@Injectable({\n providedIn: 'root'\n})\nexport class RnfiConfigService {\n\n // Private functions\n private _configSubject: BehaviorSubject;\n private readonly _defaultConfig: any;\n constructor(\n private _platform: Platform,\n private _router: Router,\n @Inject(RNFIPAY_CONFIG) private _config: any\n ) {\n // Set the default config from the user provided config (from forRoot)\n this._defaultConfig = _config;\n this._configSubject = new BehaviorSubject(null);\n // console.log(_config);\n this._configSubject.subscribe((val) => {\n // console.log(val);\n\n })\n // Initialize the service\n this._init();\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Set and get the config\n */\n set config(value) {\n // Get the value from the behavior subject\n let config = this._configSubject.getValue();\n\n // Merge the new config\n config = _.merge({}, config, value);\n // console.log(config);\n\n // Notify the observers\n this._configSubject.next(config);\n // console.log(\"set config \", this._configSubject)\n }\n\n get config(): any | Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Get default config\n *\n * @returns {any}\n */\n get defaultConfig(): any {\n return this._defaultConfig;\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _init(): void {\n /**\n * Disable custom scrollbars if browser is mobile\n */\n if (this._platform.ANDROID || this._platform.IOS) {\n this._defaultConfig.customScrollbars = false;\n }\n\n // Set the config from the default config\n this._configSubject = new BehaviorSubject(_.cloneDeep(this._defaultConfig));\n\n // Reload the default layout config on every RoutesRecognized event\n // if the current layout config is different from the default one\n // debugger;\n this._router.events\n .pipe(filter(event => event instanceof ResolveEnd))\n .subscribe(() => {\n // console.log(this._configSubject.getValue().layout);\n // console.log(this._defaultConfig.layout);\n\n\n if (!_.isEqual(this._configSubject.getValue().layout, this._defaultConfig.layout)) {\n // Clone the current config\n const config = _.cloneDeep(this._configSubject.getValue());\n // console.log(config);\n\n\n // Reset the layout from the default config\n config.layout = _.cloneDeep(this._defaultConfig.layout);\n\n // Set the config\n this._configSubject.next(config);\n }\n });\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Set config\n *\n * @param value\n * @param {{emitEvent: boolean}} opts\n */\n setConfig(value: any, opts = { emitEvent: true }): void {\n // Get the value from the behavior subject\n let config = this._configSubject.getValue();\n\n // Merge the new config\n config = _.merge({}, config, value);\n\n // If emitEvent option is true...\n if (opts.emitEvent === true) {\n // Notify the observers\n this._configSubject.next(config);\n }\n }\n\n /**\n * Get config\n *\n * @returns {Observable}\n */\n getConfig(): Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Reset to the default config\n */\n resetToDefaults(): void {\n // Set the config from the default config\n this._configSubject.next(_.cloneDeep(this._defaultConfig));\n }\n}\n","import {RelipayConfig} from '@core/types'\n\n\nexport const Relipayconfig: RelipayConfig = {\n colorTheme: '#67899',\n customScrollbars: true,\n layout: {\n style: 'relipay-distributer-template',\n width: 'boxed',\n navbar: {\n hidden: false,\n },\n header: {\n background: '#67899',\n hidden: false,\n },\n news: {\n background: '#67899',\n hidden: false,\n },\n footer: {\n background: '#67899',\n hidden: false,\n },\n sidepanel: {\n hidden: false,\n },\n content: {\n hidden: false,\n },\n slider: {\n hidden: false,\n },\n }\n}\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { RNFIPAY_CONFIG } from '@rnficonfig/config.service';\n\n@NgModule({})\nexport class RnfiModule {\n constructor(@Optional() @SkipSelf() parentModule: RnfiModule) {\n if (parentModule) {\n throw new Error('RnfiModule is already loaded. Import it in the AppModule only!');\n }\n }\n\n static forRoot(config: any): ModuleWithProviders {\n return {\n ngModule: RnfiModule,\n providers: [\n {\n provide: RNFIPAY_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonSubjectService {\n encrypted: BehaviorSubject | undefined = undefined;\n reporting: BehaviorSubject | undefined = undefined;\n verifiedOtp: BehaviorSubject = new BehaviorSubject(false);\n constructor() { }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-bulk-payout-modal',\n templateUrl: './bulk-payout-modal.component.html',\n styleUrls: ['./bulk-payout-modal.component.scss']\n})\nexport class BulkPayoutModalComponent implements OnInit {\n\n modalSetting: any;\n radioForm1: FormControl = new FormControl()\n radioForm2: FormControl = new FormControl()\n radioForm3: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm1.setValue(this.modalSetting?.repeatMode_auto)\n this.radioForm2.setValue(this.modalSetting?.timeInterval_monthly)\n this.radioForm3.setValue(this.modalSetting?.notification_yes)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['repeatModeValue'] = this.radioForm1.value\n this.data['repeatTimeValue'] = this.radioForm2.value\n this.data['notificationValue'] = this.radioForm3.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n\n}\n","\n
\n
\n

Do you want to Repeat Payment ?

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

Select Repeat Mode

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

Select Repeat Time Interval

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

Send Advance Notification

\n
\n
\n
\n \n\n \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, Inject, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationSelectModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-common-connected-modal',\n templateUrl: './common-connected-modal.component.html',\n styleUrls: ['./common-connected-modal.component.scss']\n})\nexport class CommonConnectedModalComponent implements OnInit {\n\n modalSetting: ConfirmationSelectModalData;\n dataValue:any = this.data\n radioForm: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm.setValue(this.modalSetting.title2)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['selectedValue'] = this.radioForm.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n\n}\n","\n
\n
\n \n
\n\n
\n
\n

\n \n\n
\n\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationSelectModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-connected-banking-modal',\n templateUrl: './connected-banking-modal.component.html',\n styleUrls: ['./connected-banking-modal.component.scss']\n})\nexport class ConnectedBankingModalComponent implements OnInit {\n\n modalSetting: ConfirmationSelectModalData;\n dataValue:any = this.data\n radioForm: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm.setValue(this.modalSetting.title2)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['selectedValue'] = this.radioForm.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n\n}\n","\n\n
\n
\n \n
\n
\n
\n \n
\n\n
\n
\n

Amount

\n

: {{dataValue.data.amount}}

\n
\n
\n

Bene Name

\n

: {{dataValue.data.bene_name}}

\n
\n
\n

Bank Name

\n

: {{dataValue.data.bank_name}}

\n
\n
\n

Schedule Date

\n

: {{dataValue.data.created_at | date:'MMM dd yyyy'}}

\n
\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';\nimport { CommonModule } from '@angular/common';\nimport { ConnectedBankingModalComponent } from './connected-banking-modal.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { IcicBankComponent } from './icic-bank/icic-bank.component';\nimport { CommonConnectedModalComponent } from './common-connected-modal/common-connected-modal.component';\nimport { BulkPayoutModalComponent } from './bulk-payout-modal/bulk-payout-modal.component';\n\n\n\n@NgModule({\n declarations: [\n ConnectedBankingModalComponent,\n IcicBankComponent,\n CommonConnectedModalComponent,\n BulkPayoutModalComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [ConnectedBankingModalComponent, IcicBankComponent, CommonConnectedModalComponent]\n})\nexport class ConnectedBankingModalModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationSelectModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-icic-bank',\n templateUrl: './icic-bank.component.html',\n styleUrls: ['./icic-bank.component.scss']\n})\nexport class IcicBankComponent implements OnInit {\n\n modalSetting: ConfirmationSelectModalData;\n dataValue:any = this.data\n radioForm: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm.setValue(this.modalSetting.title2)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['selectedValue'] = this.radioForm.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n}\n","
\n
\n \n

Link your ICICI Bank Current Account

\n \n
\n
\n
\n

Approve Integration Connection Request

\n

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy\n eirmod\n tempor\n invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero\n eos et\n accusam et justo

\n\n \n
\n
\n
\n","\nimport { Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef, SimpleChanges, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { TosterService } from '@core/services/toster.service';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { SignUpService } from '@page/auth/sign-up.service';\nimport { Subscription, take, timer } from 'rxjs';\nimport { CommonSubjectService } from 'src/app/services/common-subject.service';\n\n@Component({\n selector: 'custom-dynamic-otp',\n templateUrl: './custom-dynamic-otp.component.html',\n styleUrls: ['./custom-dynamic-otp.component.scss']\n})\nexport class CustomDynamicOtpComponent implements OnInit {\n @Input() user_id;\n \n @Output() otpChange: EventEmitter = new EventEmitter();\n @Output() resendOtp: EventEmitter = new EventEmitter(false);\n @Output() submit: EventEmitter = new EventEmitter();\n\n @ViewChild('otpInput') otpInputElement: ElementRef;\n\n otp: any;\n countDown: Subscription;\n counter = 120;\n tick = 1000;\n userId:number;\n\n constructor(\n private toaster:TosterService,\n private ngxToster:NgxToasterService,\n private signUpServices:SignUpService,\n private commonServices:CommonSubjectService,\n // public dialogRef: FormModalOverlayRef,\n public activeModal: NgbActiveModal,\n private router:Router\n ) { \n \n setTimeout(()=>{ \n this.otpInputElement?.nativeElement?.focus();\n },0); \n };\n\n ngOnInit(): void {\n this.userId= this.user_id;\n this.transformData()\n };\n\n\n onResendOtp() {\n this.resendOtp.emit(true);\n };\n\n onSubmitOTP() {\n //this.submit.emit();\n this.verifyOtp(this.otp); \n }\n \n transformData(){\n this.countDown = timer(0, this.tick)\n .pipe(take(this.counter))\n .subscribe(() => {\n --this.counter;\n // console.log(this.counter);\n if (this.counter == 0) {\n this.countDown.unsubscribe();\n }\n });\n this.transform(120);\n }\n transform(value: number): string {\n const minutes: number = Math.floor(value / 60);\n return (\n ('00' + minutes).slice(-2) +\n ':' +\n ('00' + Math.floor(value - minutes * 60)).slice(-2)\n );\n }\n verifyOtp(otp:any){\n let payLoad={id:this.userId,otp:otp};\n this.signUpServices.validateOtp(payLoad).subscribe(res=>{\n if(res){\n if(res.statuscode == 200 && res.status == true){\n this.ngxToster.showSuccess(res.message, 'Success');\n //this.commonServices.verifiedOtp.next(true); \n this.activeModal.close({res:true});\n this.router.navigate(['/company-type'])\n }else{\n this.ngxToster.showError(res.msg, 'Error');\n }\n }\n else{\n this.ngxToster.showError(res.msg, 'Error');\n } \n } \n )\n }\n onCloseTab(){\n this.activeModal.close();\n }\n}\n","\n
\n
\n
\n\n
\n \n
\n
\n

Verify Your Email

\n

Please enter OTP has been sent to your registered email id.

\n
\n
\n
\n
\n\n \n\n \n
\n
{{transform(counter)}}
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n\n","import { FormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomDynamicOtpComponent } from './custom-dynamic-otp.component';\nimport { CoreDirectivesModule } from '@core/directives/core-directives.module';\n\n@NgModule({\n declarations: [CustomDynamicOtpComponent],\n imports: [\n CommonModule,\n FormsModule,\n CoreDirectivesModule\n ],\n exports: [\n CustomDynamicOtpComponent\n ]\n})\nexport class CustomDynamicOtpModule { }\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-dash-info-box',\n templateUrl: './dash-info-box.component.html',\n styleUrls: ['./dash-info-box.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DashInfoBoxComponent implements OnInit {\n @Input() head: string | HTMLElement | JQuery;\n @Input() title: string | HTMLElement | JQuery;\n @Input() btnName: string | HTMLElement | JQuery = 'Click to Verify';\n\n @Output()btnClick:EventEmitter = new EventEmitter()\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n \n
\n
\n \n
\n
\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-doc-modal',\n templateUrl: './doc-modal.component.html',\n styleUrls: ['./doc-modal.component.scss']\n})\nexport class DocModalComponent implements OnInit {\n\n modalSetting: ConfirmationModalData;\n imgExtension:string='';\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.modalSetting = this.data.img;\n const splitData=this.data.img.split('.');\n this.imgExtension=(splitData[splitData.length -1]).toLowerCase();\n }\n hideDocModal(){\n this.dialogRef.close();\n }\n\n}\n","\n\n
\n
\n \n
\n
\n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DocModalComponent } from './doc-modal.component';\nimport { PipesModule } from '@core/pipes/pipes.module';\n\n\n\n@NgModule({\n declarations: [\n DocModalComponent\n ],\n imports: [\n CommonModule,\n PipesModule\n ],\n exports:[DocModalComponent]\n})\nexport class DocModalModule { }\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild, OnChanges } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\nimport { Subscription, take, timer } from 'rxjs';\n\n@Component({\n selector: 'app-dynamic-otp',\n templateUrl: './dynamic-otp.component.html',\n styleUrls: ['./dynamic-otp.component.scss']\n})\nexport class DynamicOtpComponent implements OnInit, OnChanges {\n\n // @Output() otpChange: EventEmitter = new EventEmitter();\n // @Output() resendOtp: EventEmitter = new EventEmitter(false);\n @Input() btnName:string;\n @Input() maxLength:number;\n @Input() timer:any;\n @Output() submit: EventEmitter = new EventEmitter();\n @Output() resendOTP: EventEmitter = new EventEmitter();\n @Output() resendOtpReset: EventEmitter = new EventEmitter();\n @Input() resendOTPCounter: number = 30; //set resend timmer\n @Input() dynamicResendCounter: boolean = true; //show resend button\n\n submitted:boolean=false;\n countDown: Subscription;\n counter = 120;\n tick = 1000;\n formData:UntypedFormGroup;\n count: any;\n\n constructor(\n private toaster:NgxToasterService,\n private fb:UntypedFormBuilder,\n ) {\n this.formData=this.fb.group({\n otp:['',[Validators.required]]\n })\n // console.log(this.timer)\n // if(this.timer){\n // this.transformData();\n // }\n }\n get f(){\n return this.formData.controls;\n }\n ngOnInit(): void {\n this.onResendOTP(false);\n // this.transformData()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // console.log(changes['timer'])\n if(changes['timer'].currentValue){\n this.transformData();\n // setTimeout(() => {\n // this.resendOtpReset.emit(true);\n // }, 1);\n\n }\n }\n\n // onResendOtp() {\n // this.resendOtp.emit(true);\n // };\n onResendOTP(reset: boolean){\n let count: number = this.resendOTPCounter;\n let inter = setInterval(() => {\n count -= 1;\n this.count = count;\n if (count == 0) {\n clearInterval(inter);\n this.count = null;\n if (this.dynamicResendCounter) {\n this.resendOTPCounter += 30;\n }\n }\n }, 1000);\n if (reset) {\n this.resendOTP.emit(true);\n }\n\n }\n\n onSubmitOTP() {\n this.submitted=true;\n if(this.formData.invalid){\n return;\n }\n this.submit.emit(this.formData.value.otp);\n }\n\n\n transformData(){\n // console.log(\"inside transform data\")\n this.countDown = timer(0, this.tick)\n .pipe(take(this.counter))\n .subscribe(() => {\n --this.counter;\n // console.log(this.counter);\n if (this.counter == 0) {\n this.countDown.unsubscribe();\n }\n });\n this.transform(120);\n }\n transform(value: number): string {\n const minutes: number = Math.floor(value / 60);\n return (\n ('00' + minutes).slice(-2) +\n ':' +\n ('00' + Math.floor(value - minutes * 60)).slice(-2)\n );\n }\n\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n Otp is Required\n \n
\n
\n
{{count}} second
\n \n
\n\n
\n
\n
\n
\n \n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DynamicOtpComponent } from './dynamic-otp.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreDirectivesModule } from '@core/directives/core-directives.module';\n\n\n@NgModule({\n declarations: [\n DynamicOtpComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreDirectivesModule\n ],\n exports:[\n DynamicOtpComponent\n ]\n})\nexport class DynamicOtpModule { }\n","import { ExcelToJsonService } from './../../../core/services/excelToJsonToggle/excel-to-json.service';\nimport { Component, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport * as XLSX from 'xlsx';\nimport { NgxToasterService } from '@core/services/toasterNgs.service';\n\ntype AOA = any[][];\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n providers: [ExcelToJsonService]\n})\nexport class FileUploadComponent implements OnInit {\n // data: any;\n showBulkTransferModal:any = ''\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\n fileName: string = 'SheetJS.xlsx';\n docType = [ 'xls', 'xlsx', 'csv'];\n\n\n data: AOA = [[1, 2], [3, 4]];\n constructor(\n public activeModal: NgbActiveModal,\n public _ExcelToJsonService: ExcelToJsonService,\n private _NgxToasterService: NgxToasterService\n ) { }\n ngOnInit(): void {\n console.log(this.showBulkTransferModal);\n\n }\n closeTab() {\n this.activeModal.close(false)\n }\n\n onFileChange(ev: any) {\n // this._ExcelToJsonService.getJsonFromExcelFn(ev.target.files[0]).then(\n // function (result) {\n\n // // that.successFn(mainDiv, files.name, result);\n // },\n // function (err) {\n\n // // that.errorFn('Select valid file');\n // }\n // );\n //console.log(ev.target.files[0]);\n\n const target: DataTransfer = (ev.target);\n // console.log(this.docType.indexOf((target.files[0].name).substring((target.files[0].name).lastIndexOf('.') + 1)) != -1);\n\n if (target.files.length !== 1 || this.docType.indexOf((target.files[0].name).substring((target.files[0].name).lastIndexOf('.') + 1)) == -1){\n this._NgxToasterService.showError('Upload Valid file!', 'Error');\n throw new Error('Cannot use multiple files');\n }\n const reader: FileReader = new FileReader();\n reader.onload = (e: any) => {\n\n /* read workbook */\n const bstr: string = e.target.result;\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\n\n /* grab first sheet */\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n\n /* save data */\n this.data = (XLSX.utils.sheet_to_json(ws, { header: 1 }));\n\n let arr: any = []\n this.data.map((res: any, index: number) => {\n if (index !== 0) {\n let dt: any = {};\n for (const key in this.data[0]) {\n\n const element = (this.data[0][key]).replace(/ /g, \"_\").replace('-', \"_\").replace('.', \"\").replace('*', '').toLowerCase();\n dt[element] = res[key] ?? ''\n }\n arr.push(dt);\n }\n })\n\n if(arr.length > 0 && arr.length < 100){\n for(let element of arr){\n for (let key in element){\n // console.log(\"key \", key)\n // console.log(\"element \", element)\n if(!element[key] && key != 'sr_no' && key != 'beneid'){\n this._NgxToasterService.showError(`Please upload the right data!`, 'Error');\n this.data = [[1, 2], [3, 4]];\n return;\n }\n }\n }\n }else{\n this._NgxToasterService.showError(`${arr.length >=100 ?'Records length could not be greater than 99':'Please upload the right data!'}`, 'Error');\n this.data=[[1, 2], [3, 4]];\n this.closeTab()\n return;\n }\n\n let fileObj = {\n fileName: ev.target.files[0].name,\n fileSize: (ev.target.files[0].size / 1024).toFixed(2),\n fileData: arr\n }\n this.activeModal.close(fileObj)\n console.log(fileObj)\n };\n reader.readAsBinaryString(target.files[0]);\n }\n}\n","\n
\n\n
\n\t
Upload Filled Template
\n\t

Enter the required details in the template and upload (.xls, .xlsx, .csv)

\n\t
\n\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t

Drag and Drop file

\n\t \n\t
\n\t\n
\n
\n","\nimport { CommonModule } from '@angular/common';\nimport { FileUploadComponent } from './file-upload.component';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n FileUploadComponent,\n \n ],\n\n imports: [\n CommonModule,\n FormsModule,\n ],\n\n exports: [\n FileUploadComponent\n ]\n\n})\n\nexport class FileUploadModule {\n\n}","import { LoaderService } from './../../../core/services/loader.service';\n\nimport { Component, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss']\n})\n\nexport class LoaderComponent implements OnInit,OnChanges {\n active: boolean = true;\n\n constructor(private loader: LoaderService) {\n this.loader.isLoading.subscribe((isLoading: boolean) => {\n setTimeout(() => {\n this.active = isLoading;\n }, 1);\n });\n }\n\n ngOnInit(): void {\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n //console.log(changes);\n\n }\n\n\n}\n\n","
\n
\n
\n
\n \n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\n// import { CommonService } from '../common.service';\nimport { pytCustTblInterface } from './pytPagination/pyt-cust-tbl-pager.directive';\nimport * as _ from 'lodash';\n\nexport interface pytCustTblOptions {\n records: any[];\n columns: pytCustTblColunm[];\n config: pytCustTblInterface;\n dtUpdateFnCallBack: Function;\n dtRefresh: Function;\n mainData?: any[];\n}\n\nexport interface pytCustTblColunm {\n is_show: '1' | '0' | 0 | 1;\n issort: '1' | '0' | 0 | 1;\n isalways?: '0' | '1' | 0 | 1;\n row?: '0' | '1' | 0 | 1 | 2 | '2'|3|'3';\n type?:string\n name: any;\n value: any;\n values?: any,\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PytCustTblService {\n // issort = Default = true; false; add this if hide from perticular col\n // isDate: ''; isDate: false; isDate: true; isDate: 'MMM d, y';\n // Default isnumeric: false; isnumeric: true;\n\n constructor() {} // private _CommonService: CommonService\n\n dtGetCellValue(row: any, column: any, joinString?: any[], joinWith?: string) {\n if (joinString) {\n let str: string = '';\n joinString.forEach((ele,i) => {\n str += row[ele];\n if (i < joinString.length - 1) {\n str += joinWith;\n }\n });\n return str;\n }\n let ds = column.name.split('.').reduce((prev: any, curr: string) => {\n return prev[curr];\n }, row);\n\n if (column.isDate) {\n return null;\n // return this._CommonService.getTransformDate(ds, column.isDate);\n }\n return ds;\n }\n\n dtSortHeaderClick(item: any, diTableOptions: pytCustTblOptions) {\n if (diTableOptions.config.sortBy === item.name) {\n diTableOptions.config.sortDirection =\n diTableOptions.config.sortDirection === 'asc' ? 'desc' : 'asc';\n }\n diTableOptions.config.sortBy = item.name;\n var column: any = diTableOptions.columns.filter(\n (column: any) => column.name === diTableOptions.config.sortBy\n )[0];\n var isNumeric: boolean = column.isnumeric ? true : false;\n if (\n diTableOptions.dtUpdateFnCallBack &&\n typeof diTableOptions.dtUpdateFnCallBack == 'function'\n ) {\n diTableOptions.dtUpdateFnCallBack();\n }\n }\n\n dtIsSort(item: any, dtTableOptions: any) {\n return (\n (item.issort || item.issort == undefined) &&\n dtTableOptions.config.sortBy !== item.name &&\n item.name !== ''\n );\n }\n\n dtIsSortAsc(item: any, diTableOptions: pytCustTblOptions) {\n var isSortAsc: boolean =\n (item.issort || item.issort == undefined) &&\n diTableOptions.config.sortBy === item.name &&\n diTableOptions.config.sortDirection === 'asc';\n return isSortAsc;\n }\n\n dtIsSortDesc(item: any, diTableOptions: pytCustTblOptions) {\n var isSortDesc: boolean =\n (item.issort || item.issort == undefined) &&\n diTableOptions.config.sortBy === item.name &&\n diTableOptions.config.sortDirection === 'desc';\n return isSortDesc;\n }\n\n dtSearchBy(val: any, diTableOptions: pytCustTblOptions) {\n let input = val.value ?? val.target.value;\n input.toUpperCase();\n\n if (\n diTableOptions.config.searchType == 'server' &&\n diTableOptions.dtUpdateFnCallBack &&\n typeof diTableOptions.dtUpdateFnCallBack == 'function'\n ) {\n diTableOptions.config.serverSearchVal = input;\n } else if (diTableOptions.config.searchType == 'local') {\n diTableOptions.config.localFilterVal = input;\n // this.dtRefresh(diTableOptions, diTableOptions.mainData);\n }\n diTableOptions.config.itmeLengthStartFrom = 0;\n diTableOptions.config.currentPage = 1;\n diTableOptions.dtUpdateFnCallBack();\n }\n\n dtUpdateByPageLength(item: any, diTableOptions: pytCustTblOptions) {\n diTableOptions.config.totalItmePerPage = item.target.value;\n diTableOptions.config.itmeLengthStartFrom = 0;\n diTableOptions.config.currentPage = 1;\n if (\n diTableOptions.dtUpdateFnCallBack &&\n typeof diTableOptions.dtUpdateFnCallBack == 'function'\n ) {\n diTableOptions.dtUpdateFnCallBack();\n }\n }\n\n dtUpdateByPagination(val: any, diTableOptions: pytCustTblOptions) {\n if (val == 'back') {\n diTableOptions.config.currentPage = diTableOptions.config.currentPage - 1;\n } else if (val == 'next') {\n diTableOptions.config.currentPage = diTableOptions.config.currentPage + 1;\n } else if (val == 'first') {\n diTableOptions.config.currentPage = 1;\n } else if (val == 'last') {\n diTableOptions.config.currentPage = diTableOptions.config.totalPages;\n } else if (typeof val == 'number') {\n diTableOptions.config.currentPage = val;\n }\n\n diTableOptions.config.itmeLengthStartFrom =\n (diTableOptions.config.currentPage - 1) *\n diTableOptions.config.totalItmePerPage;\n if (\n diTableOptions.dtUpdateFnCallBack &&\n typeof diTableOptions.dtUpdateFnCallBack == 'function'\n ) {\n diTableOptions.dtUpdateFnCallBack();\n }\n }\n\n getFilterData(obj: any[], input: any) {\n console.log(obj);\n let fil = obj.filter((item: any) => {\n return Object.keys(item).some((key) => {\n return String(item[key]).toLowerCase().includes(input.toLowerCase());\n });\n });\n\n return fil;\n }\n\n setLocalData(tableOptions: pytCustTblOptions, obj: any) {\n return new Promise((resolve, reject) => {\n let cacheObj: any = [...(obj.data as any[])];\n cacheObj = this.getFilterData(\n cacheObj,\n tableOptions.config.localFilterVal\n );\n console.log(cacheObj);\n\n cacheObj = _.orderBy(\n cacheObj,\n [tableOptions.config.sortBy],\n [tableOptions.config.sortDirection as any]\n );\n //update list with filter records\n obj.recordsTotal = cacheObj.length;\n let totalRecords = +(\n obj.recordsTotal ??\n obj.recordscount ??\n obj.data.length\n );\n\n tableOptions.config.totalCount = totalRecords;\n\n if (tableOptions.config.totalItmePerPage == 'All') {\n tableOptions.config.toRec = totalRecords ?? 'N/a';\n tableOptions.config.currentPage = 1;\n tableOptions.config.fromRec = 1;\n tableOptions.config.totalPages = null;\n tableOptions.config.totalItmePerPage = totalRecords;\n } else {\n tableOptions.config.totalItmePerPage =\n +tableOptions.config.totalItmePerPage;\n tableOptions.config.totalPages = Math.ceil(\n tableOptions.config.totalCount / tableOptions.config.totalItmePerPage\n );\n\n tableOptions.config.totalPages = tableOptions.config.totalPages ?? 0;\n\n tableOptions.config.fromRec = totalRecords\n ? tableOptions.config.itmeLengthStartFrom + 1\n : 0;\n\n tableOptions.config.toRec =\n tableOptions.config.currentPage *\n tableOptions.config.totalItmePerPage;\n\n tableOptions.config.toRec =\n tableOptions.config.toRec > tableOptions.config.totalCount\n ? tableOptions.config.totalCount\n : tableOptions.config.toRec;\n }\n const val = [...cacheObj];\n console.log(tableOptions.config.itmeLengthStartFrom,\n tableOptions.config.itmeLengthStartFrom +\n tableOptions.config.totalItmePerPage);\n tableOptions.records = val.slice(\n tableOptions.config.itmeLengthStartFrom,\n tableOptions.config.itmeLengthStartFrom +\n tableOptions.config.totalItmePerPage\n );\n\n console.log('setLocalData');\n\n let header: any = [];\n if (obj.header) {\n obj.header.map((val: any) => {\n // if (val.is_show && typeof val.is_show === 'number') {\n // val.is_show = String(val.is_show);\n // }\n header.push(val);\n });\n } else {\n if (obj.data) {\n let keyObj = obj.data[0];\n for (const key in keyObj) {\n const element = keyObj[key];\n let obja = {\n name: key,\n value: key.toUpperCase(),\n is_show: 1,\n issort: 1,\n };\n header.push(obja);\n }\n }\n }\n\n tableOptions.columns = header;\n\n resolve(true);\n });\n }\n\n async dtRefresh(tableOptions: pytCustTblOptions, obj: any) {\n if (tableOptions.config.searchType == 'local') {\n tableOptions.mainData = obj.data;\n\n await this.setLocalData(tableOptions, obj);\n console.log('setLocalData end');\n // this.setLocalData(tableOptions, obj);\n return;\n } else {\n tableOptions.records = obj.data || [];\n }\n\n let header: any = [];\n if (obj.isheader || obj.header) {\n let head = obj.isheader || obj.header;\n head.map((val: any) => {\n // if (val.is_show && typeof val.is_show === 'number') {\n // val.is_show = String(val.is_show);\n // }\n header.push(val);\n });\n } else {\n if (obj.data) {\n let keyObj = obj.data[0];\n for (const key in keyObj) {\n const element = keyObj[key];\n let obja = {\n name: key,\n value: key.toUpperCase(),\n is_show: 1,\n issort: 1,\n };\n header.push(obja);\n }\n }\n }\n\n tableOptions.columns = header;\n\n let totalRecords = obj.recordsTotal ?? obj.recordscount;\n +totalRecords;\n tableOptions.config.totalCount = totalRecords;\n\n if (tableOptions.config.totalItmePerPage == 'All') {\n tableOptions.config.toRec = totalRecords;\n tableOptions.config.currentPage = 1;\n tableOptions.config.fromRec = 1;\n tableOptions.config.totalPages = null;\n } else {\n tableOptions.config.totalPages = Math.ceil(\n tableOptions.config.totalCount / tableOptions.config.totalItmePerPage\n );\n\n tableOptions.config.totalPages = tableOptions.config.totalPages\n ? tableOptions.config.totalPages\n : 0;\n\n tableOptions.config.fromRec = totalRecords\n ? tableOptions.config.itmeLengthStartFrom + 1\n : 0;\n tableOptions.config.toRec =\n tableOptions.config.currentPage * tableOptions.config.totalItmePerPage;\n\n tableOptions.config.toRec =\n tableOptions.config.toRec > tableOptions.config.totalCount\n ? tableOptions.config.totalCount\n : tableOptions.config.toRec;\n }\n }\n\n toggleValue(item: any, diTableOptions: pytCustTblOptions) {\n diTableOptions.config.toggValue = item;\n if (\n diTableOptions.dtUpdateFnCallBack &&\n typeof diTableOptions.dtUpdateFnCallBack == 'function'\n ) {\n // diTableOptions.dtUpdateFnCallBack();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'pytFilter',\n})\nexport class PytFilterPipe implements PipeTransform {\n transform(items: any[], filter: string): any[] {\n if (!items) return [];\n if (!filter) return items;\n console.log(items);\n console.log(filter);\n\n return items.filter((item) => {\n return Object.keys(item).some((key) => {\n return String(item[key]).toLowerCase().includes(filter.toLowerCase());\n });\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// import { UserLoginDtlService } from 'src/app/service/user-login-dtl.service';\nimport { pytCustTblOptions, PytCustTblService } from '../pyt-cust-tbl.service';\nimport Swal from 'sweetalert2';\nimport * as XLSX from 'xlsx';\nimport { ApiRequestService } from '@core/services/api-request.service';\nimport { DOWNLOAD_TYPE } from '@core/common/common-config';\nimport { parseData } from '@core/common/common-function';\n// import { ApiService } from 'src/app/service/api.service';\n@Component({\n selector: 'app-pyt-tbl-top-box',\n templateUrl: './pyt-tbl-top-box.component.html',\n styleUrls: ['./pyt-tbl-top-box.component.scss'],\n})\nexport class PytTblTopBoxComponent implements OnInit {\n @Input() tableOptions!: pytCustTblOptions;\n\n @Input() rotateIt: boolean = false;\n @Input() searchTypeWidth: string = '250px';\n @Output() reloadTbl = new EventEmitter();\n\n @Input() isReportCanDownload: boolean = false;\n @Output() downloadReport = new EventEmitter();\n @Output() addBtn: EventEmitter = new EventEmitter();\n\n download_reports: boolean = true;\n downloadFileType: any[];\n config = {\n value: true,\n name: 'abc',\n disabled: false,\n height: 35,\n width: 80,\n margin: 3,\n fontSize: 10,\n speed: 300,\n color: {\n checked: '#3D9C3C',\n unchecked: '#00659E',\n },\n switchColor: {\n checked: '#101F33',\n unchecked: '#101F33',\n },\n labels: {\n unchecked: 'kyc',\n checked: 'Merchant',\n },\n fontColor: {\n checked: '#fafafa',\n unchecked: '#ffffff',\n },\n };\n checked: boolean;\n // download_reports = this._UserLoginDtlService.getLoginDtlKeyValue(\n // 'permission.download_reports'\n // );\n constructor(\n public _PytCustTblService: PytCustTblService,\n // private _UserLoginDtlService: UserLoginDtlService,\n private auth: ApiRequestService,\n ) {\n\n }\n\n ngOnInit(): void {\n console.log(this.tableOptions)\n let downloadFileType: any = this.tableOptions?.config?.downloadReports?.fileTypes;\n this.downloadFileType = downloadFileType;\n };\n\n onAddButton() {\n this.addBtn.emit(true);\n };\n\n download(filetype: any) {\n\n let formdata = this.tableOptions.config.downloadReports?.formData();\n let name = (typeof this.tableOptions.config.downloadReports?.fileName === 'function' ? this.tableOptions.config.downloadReports?.fileName() : this.tableOptions.config.downloadReports?.fileName);\n formdata.set('length', 'All');\n this.auth\n .postAdminData(formdata, this.tableOptions.config.downloadReports?.url,this.tableOptions.config.downloadReports?.baseUrl )\n .subscribe((res: any) => {\n // console.log(\"type --> \",filetype, \"name --> \",name)\n let fileName: any = name + (filetype ?? '.xlsx');\n if (res.statuscode == 200) {\n console.log(\"response download \",typeof res.data, res.data.length)\n let mainData: any = [];\n let data: any[] = [];\n if(res.data?.transactions){\n data = res.data.transactions\n } else{\n data = res.data\n }\n (data ).forEach((e) => {\n let obj: any = {};\n (res.header || res.isheader as []).forEach((l: any) => {\n if (l.is_show) {\n // obj[l.name] = parseData(e,l);\n if(l.name.includes('.')) {\n let split = l.name.split('.')\n obj[l.value] = e[split[0]][split[1]];\n }\n else {\n obj[l.name] = e[l.name];\n }\n }\n })\n mainData.push(obj);\n })\n\n mainData.forEach((e: any) => {\n for (const key in e) {\n const etype: any = e[key];\n const nmype: any = parseFloat(etype);\n const dtype: any = Date.parse(etype);\n if (key === 'time' || key === 'account_no') { } else\n if (isNaN(etype) && !isNaN(dtype)) {\n } else if (!isNaN(nmype)) {\n e[key] = nmype;\n }\n }\n })\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mainData);\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, name);\n XLSX.writeFile(wb, fileName);\n } else {\n Swal.fire({\n icon: 'error',\n title: res.message,\n });\n }\n });\n }\n}\n","
\n
\n \n
\n\n
\n
\n Viewing {{tableOptions.config.fromRec}}-{{tableOptions.config.toRec}} of\n {{tableOptions.config.totalCount}}\n\n
1? _PytCustTblService.dtUpdateByPagination('back',tableOptions) : false\">\n tableOptions.config.currentPage?\n _PytCustTblService.dtUpdateByPagination('next',tableOptions): false\">
\n
\n
0 && tableOptions.config?.showRecordDropdown\">\n Records\n
\n \n
\n
\n \n \n \n \n \n \n \n\n \n\n
0 && tableOptions.config.downloadReports\" class=\" exportBox\">\n \n\n \n
\n
{{file.name}}
\n
\n
\n\n
\n\n
\n \n
\n\n
\n\n
\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { PytCustTblService } from '../pyt-cust-tbl.service';\n\nexport interface ReportConfig {\n url: any,\n formData: any | Function,\n fileName: Function | string,\n fileTypes: any[];\n baseUrl?: any,\n exportIcon?: boolean,\n}\n\nexport const pytCustTblConfig = {\n showSort: true,\n search: '',\n searchType: 'server',\n serverSearchVal: '',\n sortBy: '', //columns name || ''\n sortDirection: 'asc', //asc || desc\n itmeLengthStartFrom: 0,\n totalCount: 0,\n currentPage: 1,\n totalPages: 0,\n totalItmePerPage: 100, // number\n pagger: ['All', 10, 50, 100, 200, 500],\n fromRec: 0,\n toRec: 0,\n showSearch: true,\n showRecordDropdown: true,\n showToggel: false,\n // maxSize: 10,\n // showSelectCheckbox: true,\n // showSelectAll: true,\n // clientSort: true,\n // clientPaging: true,\n // //displayPager: true,\n // //displayPageSize: true,\n // stickyHeader: true,\n // stickyHeaderOffset: 0,\n // stickyContainer: '.table1-container'\n};\n\nexport interface pytCustTblInterface {\n showSort: boolean;\n downloadReports: ReportConfig | null;\n reloadTable: boolean;\n rotateIt: boolean;\n searchType?: 'local' | 'server';\n serverSearchVal: string;\n localFilterVal: string;\n sortBy: string;\n sortDirection: 'asc' | 'desc';\n itmeLengthStartFrom: number;\n totalCount: number;\n currentPage: number;\n totalPages: number | any;\n totalItmePerPage: number | any;\n pagger: (string | number)[];\n fromRec: number;\n toRec: number;\n placeholder: string;\n addButton: boolean;\n showSearch: boolean;\n showRecordDropdown: boolean;\n showToggel: boolean,\n toggValue: boolean;\n}\n\nexport interface pytCustTblAnyInterface {\n showSort?: boolean;\n downloadReports?: ReportConfig | null;\n reloadTable?: boolean;\n rotateIt?: boolean;\n searchType?: 'local' | 'server' | null;\n serverSearchVal?: string;\n localFilterVal?: string;\n sortBy?: string;\n sortDirection?: 'asc' | 'desc';\n itmeLengthStartFrom?: number;\n totalCount?: number;\n currentPage?: number;\n totalPages?: number;\n totalItmePerPage?: number;\n pagger?: (string | number)[];\n fromRec?: number;\n toRec?: number;\n placeholder?: string;\n addButton?: boolean\n showSearch?: boolean;\n showRecordDropdown?: boolean;\n showToggel?: boolean;\n toggValue?: boolean;\n}\n\n\nexport class pytCustTblCnfg {\n showSort: boolean;\n downloadReports: ReportConfig | null;\n reloadTable: boolean;\n rotateIt: boolean;\n serverSearchVal: string;\n searchType: 'local' | 'server';\n localFilterVal: string;\n sortBy: string; //columns name || ''\n sortDirection: 'asc' | 'desc'; //asc || desc\n itmeLengthStartFrom: number;\n totalCount: number;\n currentPage: number;\n totalPages: number;\n totalItmePerPage: number;\n pagger: (string | number)[];\n fromRec: number;\n toRec: number;\n placeholder: string;\n addButton: boolean;\n showSearch: boolean;\n showRecordDropdown: boolean;\n showToggel: boolean;\n toggValue: boolean;\n\n constructor() {\n this.showSort = true;\n this.downloadReports = null;\n this.reloadTable = true;\n this.rotateIt = true;\n this.searchType = 'server';\n this.serverSearchVal = '';\n this.localFilterVal = '';\n this.sortBy = '';\n this.sortDirection = 'asc';\n this.itmeLengthStartFrom = 0;\n this.totalCount = 0;\n this.currentPage = 1;\n this.totalPages = 0;\n this.totalItmePerPage = 10;\n this.pagger = ['All', 10, 50, 100, 200, 500];\n this.fromRec = 0;\n this.toRec = 0;\n this.placeholder = '| Search by mobile, Txn Id';\n this.addButton = false;\n this.showSearch = true;\n this.showRecordDropdown = true;\n this.showToggel = false;\n this.toggValue = false;\n }\n\n pytCustTblDynCnfg(keys?: pytCustTblAnyInterface): pytCustTblInterface {\n // let testMdl = new pytCustTblCnfg();\n\n // testMdl.pytCustTblDynCnfg({ currentPage: 2, pagger: [...testMdl.pagger,700,1000] })\n // );\n\n let keysObj: any = keys;\n let obj: any = {\n showSort: this.showSort,\n downloadReports: this.downloadReports,\n reloadTable: this.reloadTable,\n rotateIt: this.rotateIt,\n searchType: this.searchType,\n serverSearchVal: this.serverSearchVal,\n localFilterVal: this.localFilterVal,\n sortBy: this.sortBy,\n sortDirection: this.sortDirection,\n itmeLengthStartFrom: this.itmeLengthStartFrom,\n totalCount: this.totalCount,\n currentPage: this.currentPage,\n totalPages: this.totalPages,\n totalItmePerPage: this.totalItmePerPage,\n pagger: this.pagger,\n fromRec: this.fromRec,\n toRec: this.toRec,\n placeholder: this.placeholder,\n showSearch: this.showSearch,\n showRecordDropdown: this.showRecordDropdown,\n showToggel: this.showToggel,\n toggValue: this.toggValue\n };\n\n for (const key in keysObj) {\n if (Object.prototype.hasOwnProperty.call(keysObj, key)) {\n const element = keysObj[key];\n obj[key] = element;\n }\n }\n return obj;\n }\n}\n\nexport class EmployeeClass {\n constructor(\n private id: number = 0,\n private firstName: string,\n private lastName?: string,\n private salary?: number\n ) { }\n\n getName(): string {\n return `${this.firstName} ${this.lastName}`;\n }\n\n getYearlySalary(): any {\n if (this.salary) {\n return 12 * this.salary;\n }\n return null;\n }\n}\nexport interface EmployeeClassInter {\n firstName: string;\n id?: number;\n lastName?: string;\n salary?: number;\n}\nexport class EmployeeClass1 implements EmployeeClassInter {\n constructor(public firstName: string, public id?: number) {\n // if (id) {\n // this.id = id;\n // }\n }\n}\n\n@Directive({\n selector: '[appPytCustTblPager]',\n})\nexport class PytCustTblPagerDirective implements OnChanges {\n @Input() tableOptions: any;\n @Input() totalPages: any;\n @Input() currentPage: any;\n $pagination: any;\n $adjacents: any = 3;\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2,\n private _PytCustTblService: PytCustTblService\n ) { }\n ngOnInit(): void {\n //Called after the constructor, initializing input properties, and the first call to ngOnChanges.\n //Add 'implements OnInit' to the class.\n\n this.setPager();\n }\n ngOnChanges(changes: SimpleChanges): void {\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\n //Add '${implements OnChanges}' to the class.\n this.setPager();\n }\n\n setPager() {\n let divEle = this.elRef.nativeElement;\n const childElements = this.elRef.nativeElement.children;\n for (let child of childElements) {\n this.renderer.removeChild(this.elRef.nativeElement, child);\n }\n\n let $lastpage = this.totalPages;\n let $page = this.currentPage;\n this.$pagination = '';\n\n if ($lastpage > 1) {\n if ($lastpage < 7 + this.$adjacents * 2) {\n for (let $counter = 1; $counter <= $lastpage; $counter++) {\n if ($counter == $page) {\n this.setCurrent($counter, divEle);\n } else this.setCounter($counter, divEle);\n }\n } else if ($lastpage > 5 + this.$adjacents * 2) {\n if ($page < 1 + this.$adjacents * 2) {\n for (\n let $counter = 1;\n $counter < 4 + this.$adjacents * 2;\n $counter++\n ) {\n if ($counter == $page) {\n this.setCurrent($counter, divEle);\n } else this.setCounter($counter, divEle);\n }\n this.setLastPage($lastpage, divEle);\n } else if (\n $lastpage - this.$adjacents * 2 > $page &&\n $page > this.$adjacents * 2\n ) {\n this.setFirstPage(divEle);\n for (\n let $counter = $page - this.$adjacents;\n $counter <= $page + this.$adjacents;\n $counter++\n ) {\n if ($counter == $page) {\n this.setCurrent($counter, divEle);\n } else this.setCounter($counter, divEle);\n }\n this.setLastPage($lastpage, divEle);\n } else {\n this.setFirstPage(divEle);\n for (\n let $counter = $lastpage - (2 + this.$adjacents * 2);\n $counter <= $lastpage;\n $counter++\n ) {\n if ($counter == $page) {\n this.setCurrent($counter, divEle);\n } else this.setCounter($counter, divEle);\n }\n }\n }\n }\n }\n\n setFirstPage(divEle: any) {\n const aTag1 = this.renderer.createElement('a');\n const aTagText = this.renderer.createText('1...');\n this.renderer.appendChild(aTag1, aTagText);\n this.renderer.appendChild(divEle, aTag1);\n this.renderer.listen(aTag1, 'click', (e) => {\n e.stopPropagation();\n this._PytCustTblService.dtUpdateByPagination(1, this.tableOptions);\n });\n }\n\n setCounter($counter: any, divEle: any) {\n const aTag2 = this.renderer.createElement('a');\n const aTagText = this.renderer.createText($counter.toString());\n this.renderer.addClass(aTag2, 'click');\n this.renderer.appendChild(aTag2, aTagText);\n this.renderer.appendChild(divEle, aTag2);\n this.renderer.listen(aTag2, 'click', (e) => {\n e.stopPropagation();\n this._PytCustTblService.dtUpdateByPagination($counter, this.tableOptions);\n });\n }\n\n setCurrent($counter: any, divEle: any) {\n this.$pagination += '' + $counter + '';\n const span = this.renderer.createElement('span');\n // span.addClass('pageType2'); \n const spanText = this.renderer.createText($counter.toString());\n this.renderer.setStyle(span, 'font-size', '20px');\n this.renderer.addClass(span, 'pageType2')\n \n this.renderer.appendChild(span, spanText);\n this.renderer.appendChild(divEle, span);\n }\n\n setLastPage($lastpage: any, divEle: any) {\n const aTag3 = this.renderer.createElement('a');\n const aTagText = this.renderer.createText('...' + $lastpage);\n this.renderer.appendChild(aTag3, aTagText);\n this.renderer.listen(aTag3, 'click', (e) => {\n e.stopPropagation();\n this._PytCustTblService.dtUpdateByPagination(\n +$lastpage,\n this.tableOptions\n );\n });\n this.renderer.appendChild(divEle, aTag3);\n }\n}\n\n// ----------------------------OLD CODE------------------------------\n\n// config: {\n// showSort: true,\n// search: '',\n// sortBy: '', //columns name || ''\n// sortDirection: \"asc\", //asc || desc\n// itmeLengthStartFrom: 0,\n// totalCount: 0,\n// currentPage: 1,\n// totalPages: 0,\n// totalItmePerPage: 100, // number\n// pagger: [\n// 5, 10, 20, 25, 30, 100, 200\n// ],\n// fromRec: 0,\n// toRec: 0,\n// },\n// dtUpdateFnCallBack: async function () {\n\n// let data: any = await that.recordsearchFn();\n// if (data.statuscode == 200) {\n// that.tableOptions.dtRefresh(data);\n// }\n// },\n// dtRefresh: function (obj: any) {\n\n// that.tableOptions.records = obj.data;\n// let header: any = [];\n// if (obj.isheader) {\n// obj.isheader.map((val: any) => {\n// // if (val.is_show == '1') {\n// header.push(val);\n// // }\n// });\n// } else {\n// if (obj.data) {\n// let keyObj = obj.data[0];\n// for (const key in keyObj) {\n// const element = keyObj[key];\n// let obja = {\n// \"name\": element,\n// \"value\": element.toUpperCase(),\n// \"is_show\": 1,\n// \"issort\": 1\n// }\n// header.push(obja);\n// }\n// }\n// }\n\n// that.tableOptions.columns = header;\n\n// that.tableOptions.config.totalCount = +obj.recordsTotal;\n\n// that.tableOptions.config.totalPages = Math.ceil(that.tableOptions.config.totalCount / that.tableOptions.config.totalItmePerPage);\n\n// that.tableOptions.config.totalPages = that.tableOptions.config.totalPages ? that.tableOptions.config.totalPages : 0;\n\n// that.tableOptions.config.fromRec = obj.recordsTotal ? that.tableOptions.config.itmeLengthStartFrom + 1 : 0;\n\n// that.tableOptions.config.toRec = that.tableOptions.config.currentPage * that.tableOptions.config.totalItmePerPage;\n\n// that.tableOptions.config.toRec = that.tableOptions.config.toRec > that.tableOptions.config.totalCount ? that.tableOptions.config.totalCount : that.tableOptions.config.toRec;\n// that.tableOptionsCopy = that.tableOptions\n// }\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n pytCustTblOptions,\n PytCustTblService,\n} from '../../pyt-cust-tbl.service';\n\n@Component({\n selector: 'app-pyt-pagination',\n templateUrl: './pyt-pagination.component.html',\n styleUrls: ['./pyt-pagination.component.css'],\n})\nexport class PytPaginationComponent implements OnInit {\n @Input() tableOptions!: pytCustTblOptions;\n @Input() tableOptionsCopy!: pytCustTblOptions;\n @Input() viewTwoPagination: any = '';\n constructor(public _PytCustTblService: PytCustTblService) {}\n\n ngOnInit(): void {\n console.log(\"tableOptions \", this.tableOptions)\n console.log(\"tableOptionsCopy \", this.tableOptionsCopy)\n }\n}\n","\n\n\n\n\n\n\n\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport * as $ from 'jquery';\n\n@Directive({\n selector: '[appSearchBox]',\n})\nexport class SearchBoxDirective {\n @Output() onEvent = new EventEmitter();\n @Input() searchAfter: number = 3;\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n let mainDiv = this.renderer2.parentNode(this.ele.nativeElement);\n let input = $(this.ele.nativeElement);\n if (event.target.value.length > 0) {\n this.addMultiClass(mainDiv, 'pyt_Searching shadow-sm');\n } else {\n this.removeMultiClass(mainDiv, 'pyt_Searching shadow-sm');\n }\n if (event.keyCode == 27) {\n this.renderer2.setProperty(this.ele.nativeElement, 'value', '');\n this.removeMultiClass(mainDiv, 'pyt_Searching shadow-sm');\n }\n if (\n event.keyCode != 16 &&\n event.keyCode != 17 &&\n event.keyCode != 18 &&\n event.keyCode != 9\n ) {\n // this.emitEvent$.next(event);\n }\n }\n constructor(private ele: ElementRef, private renderer2: Renderer2) { }\n\n ngOnInit(): void {\n //Called after the constructor, initializing input properties, and the first call to ngOnChanges.\n //Add 'implements OnInit' to the class.\n const pyt_SearchBox = this.renderer2.parentNode(this.ele.nativeElement);\n\n const searchIconBox = this.renderer2.createElement('SPAN');\n this.addMultiClass(searchIconBox, 'searchIconBox');\n\n const closeIconBox = this.renderer2.createElement('SPAN');\n this.addMultiClass(closeIconBox, 'closeIconBox');\n\n this.renderer2.listen(closeIconBox, 'click', (e) => {\n this.renderer2.setProperty(this.ele.nativeElement, 'value', '');\n\n this.removeMultiClass(pyt_SearchBox, 'pyt_Searching shadow-sm');\n this.onEvent.emit(this.ele.nativeElement);\n });\n\n const searchIcon = this.renderer2.createElement('I');\n this.addMultiClass(searchIcon, 'fas fa-search');\n\n const closeIcone = this.renderer2.createElement('I');\n this.addMultiClass(closeIcone, 'fas fa-times');\n\n this.renderer2.appendChild(searchIconBox, searchIcon);\n this.renderer2.appendChild(closeIconBox, closeIcone);\n\n this.addMultiClass(pyt_SearchBox, 'pyt_SearchBox');\n\n // this.renderer2.appendChild(pyt_SearchBox, this.ele.nativeElement);\n this.renderer2.appendChild(pyt_SearchBox, searchIconBox);\n this.renderer2.appendChild(pyt_SearchBox, closeIconBox);\n }\n\n addMultiClass(ele: any, obj: any) {\n obj.split(' ').forEach((className: string) => {\n this.renderer2.addClass(ele, className);\n });\n }\n\n removeMultiClass(ele: any, obj: any) {\n obj.split(' ').forEach((className: string) => {\n this.renderer2.removeClass(ele, className);\n });\n }\n}\n\n//
\n// \n// \n// \n// < /span>\n// < span class=\"closeIconBox\" >\n// \n// < /span>\n// < /div>\n","import { ConfirmationSelectModalData } from './../../../features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-select-confirmation-modal',\n templateUrl: './select-confirmation-modal.component.html',\n styleUrls: ['./select-confirmation-modal.component.scss']\n})\nexport class SelectConfirmationModalComponent implements OnInit {\n\n modalSetting: ConfirmationSelectModalData;\n\n radioForm: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n //console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm.setValue(this.modalSetting.title2)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['selectedValue'] = this.radioForm.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n}\n","\n \n\n\n

\n

{{modalSetting.title1}}

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

{{modalSetting.title4}}

\n\n
\n \n \n
\n\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SelectConfirmationModalComponent } from './select-confirmation-modal.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n SelectConfirmationModalComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [SelectConfirmationModalComponent]\n})\nexport class SelectConfirmationModalModule { }\n","import { Component, OnInit ,Input} from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-show-message',\n templateUrl: './show-message.component.html',\n styleUrls: ['./show-message.component.scss']\n})\nexport class ShowMessageComponent implements OnInit {\n\n @Input() message:string;\n constructor(\n public activeModal: NgbActiveModal\n ) { }\n\n ngOnInit(): void {\n }\n onContinue(){\n this.activeModal.close({return:true});\n }\n}\n","
\n

\n

{{message}}

\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShowMessageComponent } from './show-message.component';\n\n\n\n@NgModule({\n declarations: [ShowMessageComponent],\n imports: [\n CommonModule\n ],exports:[\n ShowMessageComponent\n ]\n})\nexport class ShowMessageModule { }\n","import { Component, OnInit,Input,Output,ElementRef,ViewChild,EventEmitter } from '@angular/core';\nimport { UserDetailsService } from '@core/services/user-details.service';\nimport { ConfirmationModalConfig, ConfirmationModalService } from '@features/customCDK/cdkCustomMdl/services/confirmation-modal.service';\nimport { DocModalComponent } from '../doc-modal/doc-modal.component';\n\n@Component({\n selector: 'app-upload-document',\n templateUrl: './upload-document.component.html',\n styleUrls: ['./upload-document.component.scss']\n})\nexport class UploadDocumentComponent implements OnInit {\n\n @Input() file_url:any;\n @Input() status:any;\n @Input() remarks:any;\n @Input() fileType:any;\n @Input() uploadFileType:any;\n @Input() reqType:any;\n @Input() reqDocument:any;\n @Input() isuploadClass:boolean;\n @Output() uploadDoc_=new EventEmitter();\n showMsg:string='';\n common_msg: string = 'Details should be of the mentioned business only';\n // fileType: string = '';\n pdfPath: string = 'assets/img/Mask Group 43.png';\n @ViewChild('fileDropRef') selectedfile: ElementRef;\n constructor(\n private userDetailsService: UserDetailsService,\n private _ConfirmationModalService: ConfirmationModalService,\n ) { }\n\n ngOnInit(): void {\n // console.log(this.reqDocument)\n this.userDetailsService.userLoginDetails.subscribe({\n next: (value: any) =>{\n const company_id = value?.data?.company_id;\n this.showMsg=(company_id == 3 && this.reqDocument == 'kycgst')?'Please upload GSTIN/Shop & Establishment/Udhyog Aadhar':'';\n }\n });\n //console.log(this.reqDocument);\n }\n onDocumentChange(event:any){\n var file_ = event.target.files[0];\n this.uploadDoc_.emit(event);\n this.selectedfile.nativeElement.value = \"\";\n }\n viewDoc(value:any){\n\n if (value?.includes(\"https://dashboard.cipherpay.in/docs/\")) {\n value = value.replace(\"https://dashboard.cipherpay.in/docs/\", \"https://beta.cipherpay.in/\");\n }\n\n else if (value?.includes(\"https://beta.cipherpay.in/dashboard/docs/\")) {\n value = value.replace(\"https://beta.cipherpay.in/dashboard/docs/\", \"https://beta.cipherpay.in/\");\n }\n let customConfigData: ConfirmationModalConfig = { data:{img:value}};\n let confirmationRef =this._ConfirmationModalService.open(DocModalComponent,customConfigData);\n }\n}\n","
\n
\n\n
\n
\n \n\n Download BR Format\n \n
\n

{{showMsg}}

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

Allowed Format - {{uploadFileType}}

\n

Max File Size 2MB

\n

Drop file here or Click to Upload

\n
\n
\n View Document\n

{{status == 0?remarks:common_msg}}

\n
\n

{{status == '2'?'Document approval pending from admin side':(status == '1'?'Your document is approved':'Details should be of the mentioned business only*')}}

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

{{status == '2'?'Document approval pending from admin side':(status == '1'?'Your document is approved':'Details should be of the mentioned business only*')}}

\n\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UploadDocumentComponent } from './upload-document.component';\nimport { FormsModule } from '@angular/forms';\nimport { PipesModule } from '@core/pipes/pipes.module';\nimport { DocModalModule } from '../doc-modal/doc-modal.module';\n\n\n\n@NgModule({\n declarations: [\n UploadDocumentComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n PipesModule,\n DocModalModule\n ],\n exports:[UploadDocumentComponent]\n})\nexport class UploadDocumentModule { }\n","import { Component,Inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ConfirmationModalOverlayRef } from '@features/customCDK/cdkCustomMdl/classes/confirmation-modal.ref';\nimport { ConfirmationSelectModalData } from '@features/customCDK/cdkCustomMdl/interfaces/confirmation-modal-data';\nimport { CONFIRMATION_MODAL_DATA } from '@features/customCDK/cdkCustomMdl/tokens/confirmation-data.token';\n\n@Component({\n selector: 'app-vpa-confirmation-modal',\n templateUrl: './vpa-confirmation-modal.component.html',\n styleUrls: ['./vpa-confirmation-modal.component.scss']\n})\nexport class VpaConfirmationModalComponent {\n modalSetting: ConfirmationSelectModalData;\n dataValue:any = this.data\n radioForm: FormControl = new FormControl()\n constructor(\n public dialogRef: ConfirmationModalOverlayRef,\n @Inject(CONFIRMATION_MODAL_DATA) public data: any\n ) { }\n\n ngOnInit() {\n console.log(this.data);\n this.modalSetting = this.data;\n this.radioForm.setValue(this.modalSetting.title2)\n }\n\n\n public closeModal($event: any) {\n this.dialogRef.events.next({\n type: 'close',\n data: this.data\n });\n }\n\n public confirmModal($event: any) {\n this.data['selectedValue'] = this.radioForm.value\n this.dialogRef.events.next({\n type: 'confirm',\n data: this.data\n });\n }\n\n public cancelModal($event: any) {\n this.dialogRef.events.next({\n type: 'cancel',\n data: this.data\n });\n }\n}\n","
\n
\n \n
\n
\n

\n
\n
\n
\n

Bene Name

\n

: {{dataValue.data?.name}}

\n
\n
\n

VPA ID

\n

: {{dataValue.data?.vpa}}

\n
\n
\n

Account No.

\n

: {{dataValue.data?.accountNumber}}

\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VpaConfirmationModalComponent } from './vpa-confirmation-modal.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n VpaConfirmationModalComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [VpaConfirmationModalComponent]\n})\nexport class VpaConfirmationModalModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GlobalDropDownComponent } from './global-drop-down/global-drop-down.component';\nimport { PrimaryDropDownComponent } from './primary-drop-down/primary-drop-down.component';\nimport { SecondaryDropDownComponent } from './secondary-drop-down/secondary-drop-down.component';\nimport { AutocompleteLibModule } from 'angular-ng-autocomplete';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n\n@NgModule({\n declarations: [\n GlobalDropDownComponent,\n PrimaryDropDownComponent,\n SecondaryDropDownComponent\n ],\n imports: [\n CommonModule,\n AutocompleteLibModule,\n FormsModule,\n NgSelectModule\n ],\n exports:[\n GlobalDropDownComponent,\n PrimaryDropDownComponent,\n SecondaryDropDownComponent\n ]\n})\nexport class DropDownModule { }\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-global-drop-down',\n templateUrl: './global-drop-down.component.html',\n styleUrls: ['./global-drop-down.component.scss']\n})\nexport class GlobalDropDownComponent implements OnInit {\n\n @Input() dataList: any[];\n @Input() keyword: string;\n @Input() placeHolderName: string;\n @Input() selectedid: string;\n @Output() selected_value = new EventEmitter();\n constructor() { }\n\n ngOnInit(): void {\n }\n\n onValueSelect() {\n this.selected_value.emit(this.selectedid);\n }\n}\n","\n\n\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-primary-drop-down',\n templateUrl: './primary-drop-down.component.html',\n styleUrls: ['./primary-drop-down.component.scss']\n})\nexport class PrimaryDropDownComponent implements OnInit {\n\n @Input() dropDownList1:any;\n @Output() selected_value=new EventEmitter();\n keyword = 'name';\n initialValue:string=''\n constructor() { }\n\n ngOnInit(): void {\n }\n \n onFirmSelect(event){\n this.selected_value.emit(event);\n } \n}\n","\n\n\n\n \n\n\n\n
\n
\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-secondary-drop-down',\n templateUrl: './secondary-drop-down.component.html',\n styleUrls: ['./secondary-drop-down.component.scss']\n})\nexport class SecondaryDropDownComponent implements OnInit {\n\n @Input() dropDownList2:any;\n @Output() selected_value=new EventEmitter();\n keyword = 'name';\n initialValue:string=''\n constructor() { }\n\n ngOnInit(): void {\n }\n \n onFirmSelect(event){\n this.selected_value.emit(event);\n } \n\n}\n","\n\n\n\n \n\n\n\n
\n
\n\n","import {\n Component,\n ElementRef,\n Input,\n OnInit,\n SimpleChanges,\n ViewChild,\n OnChanges,\n HostListener,\n ViewEncapsulation,\n AfterContentInit,\n} from '@angular/core'\nimport {\n Chart,\n ChartConfiguration,\n ChartType,\n} from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\n\nexport interface chartData {\n label: string;\n value: number;\n color: string;\n val?: number;\n}\n\n@Component({\n selector: 'polar-chart',\n templateUrl: './dyn-polar-chart.component.html',\n styleUrls: ['./dyn-polar-chart.component.scss'],\n // encapsulation: ViewEncapsulation.Emulated\n})\nexport class DynPolarChartComponent implements OnInit, OnChanges {\n options: any;\n title = 'ng2-charts-demo';\n chart: any;\n\n realData: any;\n innerFontSize: any;\n\n // PolarArea\n public polarAreaChartLabels: string[] = [\n 'Download Sales',\n 'In-Store Sales',\n 'Mail Sales',\n 'Telesales',\n 'Corporate Sales',\n ];\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n // console.log(\"onResize \",this.innerFontSize);\n // console.log(\"onResize \",this.options);\n // this.options.data.datasets[0].datalabels.labels.value.font()\n // console.log(\"fontttt \", font)\n }\n\n @Input('chartData') data: chartData[] = [\n {\n label: 'one',\n value: 35,\n color: 'red',\n val: 1,\n },\n {\n label: 'two',\n value: 21,\n color: 'blue',\n val: 1.5,\n },\n {\n label: 'three',\n value: 31,\n color: 'orange',\n val: 1.5 * 1.5,\n },\n {\n label: 'four',\n value: 41,\n color: 'green',\n val: 1.5 * 1.5 * 1.5,\n },\n ];\n\n // Create a new chart with dataLabels\n public polarAreaChartData: number[] = [300, 500, 100, 40, 120];\n\n public polarAreaLegend = true;\n\n public polarAreaChartType: ChartType = 'polarArea';\n\n @ViewChild('polarArea')\n polarAreaChart!: ElementRef;\n showChart: boolean;\n\n compare(a: any, b: any) {\n if (a.value < b.value) {\n return 1;\n }\n if (a.value > b.value) {\n return -1;\n }\n return 0;\n }\n\n constructor() {\n\n }\n\n ngOnInit() {\n Chart.register(ChartDataLabels);\n }\n\n pieLabelsLine = {\n id: 'pieLabelsLine',\n afterDraw(chart: any, easing: any) {\n\n const ctx = chart.ctx;\n const width = chart.width;\n const height = chart.height;\n const fontSize: any = (height / 114).toFixed(2);\n ctx.font = `${fontSize}em sans-serif`;\n ctx.textBaseline = 'middle';\n // console.log(\"font \", ctx)\n const cx = chart._metasets[0].data[0].x;\n const cy = chart._metasets[0].data[0].y;\n\n const sum = chart.data.datasets[0].data.reduce(\n (a: any, b: any) => a + b,\n 0\n );\n\n chart.data.datasets.forEach((dataset: any, i: any) => {\n // console.log(\"data set \", dataset);\n const meta = chart.getDatasetMeta(i);\n for (const datapoint of chart.getDatasetMeta(i).data) {\n // console.log(\"loop \", datapoint)\n\n let percent = (datapoint.$context.parsed.r * 100) / sum;\n percent = Math.round(percent * 100) / 100;\n if (percent < 2 || datapoint.$context.parsed.r <= 0) continue;\n if (datapoint < 1) continue;\n const index: string | number = chart\n .getDatasetMeta(i)\n .data.indexOf(datapoint);\n const { x: a, y: b } = datapoint.tooltipPosition();\n\n const x = 2 * a - cx;\n const y = 2 * b - cy;\n\n const center = {\n x: width / 2,\n y: width / 2,\n };\n\n // draw a circle in center of the chart\n ctx.beginPath();\n ctx.arc(center.x, center.y, (width * 25 / 100) / 4, 0, 2 * Math.PI);\n ctx.fillStyle = 'white';\n //shadow\n ctx.shadowColor = '#00000026';\n ctx.shadowBlur = 5;\n ctx.shadowOffsetX = 0;\n ctx.shadowOffsetY = 0;\n ctx.lineWidth = 1;\n ctx.shadow = '#999999';\n ctx.fill();\n ctx.closePath();\n ctx.innerFontSize = ~~(width*3 / 100).toFixed(0)\n // draw a hollow circle in center of the chart\n ctx.beginPath();\n ctx.arc(center.x, center.y, (width * 15 / 100) / 4, 0, 2 * Math.PI);\n ctx.strokeStyle = 'grey';\n ctx.globalAlpha = 0.5;\n ctx.lineWidth = 3;\n ctx.stroke();\n ctx.globalAlpha = 1;\n ctx.closePath();\n\n\n // draw line\n const halfwidth = width / 2;\n const halfheight = height / 2;\n const xLine = x >= halfwidth ? x + 20 : x - 20;\n const yLine = y >= halfheight ? y + 20 : y - 20;\n\n const extraLine = x >= halfwidth ? 10 : -10;\n\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineWidth = 3;\n ctx.arc(x, y, 2, 0, 2 * Math.PI, true);\n ctx.fill();\n ctx.moveTo(x, y);\n ctx.lineTo(xLine, yLine);\n ctx.lineTo(xLine + extraLine, yLine);\n ctx.strokeStyle = dataset.backgroundColor[index];\n // ctx.strokeStyle = \"black\";\n ctx.stroke();\n\n\n // text\n const textWidth = ctx.measureText(chart.data.labels[index]).width;\n const size = ctx?.innerFontSize;\n ctx.font = size+'px Arial';\n // control the position\n const textXPosition = x >= halfwidth ? 'left' : 'right';\n const plusFivePx = x >= halfwidth ? 5 : -5;\n ctx.textAlign = textXPosition;\n ctx.textBaseline = 'middle';\n // ctx.fillStyle = dataset.backgroundColor[index];\n ctx.fillStyle = 'white';\n\n // set padding to keep text inside the canvas\n const padding = 5;\n const left = padding;\n const right = width - textWidth - padding;\n const top = padding;\n const bottom = height - padding;\n const xText =\n x >= halfwidth\n ? Math.max(left, xLine + extraLine + 5)\n : Math.min(right, xLine + extraLine - 5);\n const yText =\n y >= halfheight ? Math.max(top, yLine) : Math.min(bottom, yLine);\n // fill text with line breaks for space\n const text = chart.data.labels[index];\n\n let textLines = \"\";\n if(text && text.includes(\" \")) textLines = text.split(\" \"); else textLines = \"\";\n const lineHeight = 3.5;\n\n if(textLines == \"\")\n ctx.fillText(text, xText, yText);\n else {\n const textHeight = textLines.length * lineHeight;\n for (let i = 0; i < textLines.length; i++) {\n ctx.fillText(textLines[i], xText, yText + (i - textLines.length / 2) * lineHeight * fontSize);\n }\n }\n\n }\n });\n\n },\n };\n\n\n\n ngAfterViewInit() {\n this.data.sort(this.compare);\n // console.log(this.data);\n let val = 0;\n let mul = Math.pow(1.1, this.data.length);\n if (\n this.data.every((item: any) => {\n val = item.value;\n return item.value == 0;\n })\n ) {\n mul = 0;\n }\n\n if (\n this.data.every((item: any) => {\n return item.value == val && mul != 0;\n })\n ) {\n mul = 0.5;\n }\n\n for (let i = 0; i < this.data.length; i++) {\n if (i != 0 && this.data[i].value != this.data[i - 1].value) {\n mul = mul / 1.1;\n }\n if (i == 0) mul = mul / 1.1;\n this.data[i].val = mul;\n }\n\n this.data.push(this.data.shift()!);\n\n this.realData = this.data.map((item: any) => item.value);\n // console.log(this.realData);\n // const that = this.pieLabelsLine\n this.options = {\n type: 'polarArea',\n data: {\n labels: this.data.map((d: any) => d.label),\n datasets: [\n {\n label: '# of Score',\n data: this.data.map((d: any) => d.val),\n datalabels: {\n labels: {\n\n value: {\n align: 'end',\n backgroundColor: function (ctx: any) {\n var value = ctx.dataset.data[ctx.dataIndex];\n return value > 50 ? 'white' : null;\n },\n borderColor: 'transparent',\n borderWidth: 0,\n borderRadius: 30,\n color: function (ctx: any) {\n var value = ctx.dataset.data[ctx.dataIndex];\n return 'white';\n },\n font:function(ctx: any){\n const fontSize: any = ~~(ctx?.chart?.height*3/ 100).toFixed(0)\n return {size:fontSize}\n },\n\n formatter: (value: any, ctx: any) => {\n let sum = 0;\n let count = 0;\n let dataArr = this.realData;\n dataArr.map(function (data: any) {\n sum += data;\n });\n\n if (sum == 0 ) {\n return 'No Data';\n }\n\n let percentage: any = ((this.realData[ctx.dataIndex] * 100) / sum).toFixed(1);\n if(percentage == 'NaN') return percentage = 'No Data'\n return percentage + '%';\n },\n },\n },\n },\n\n backgroundColor: this.data.map((d: any) => d.color),\n },\n ],\n },\n\n plugins: [ChartDataLabels, this.pieLabelsLine],\n options: {\n maintainAspectRatio: true,\n elements: {\n arc: {\n borderWidth: 0,\n },\n line: {\n borderWidth: 0,\n },\n point: {\n borderWidth: 0,\n },\n rectangle: {\n borderWidth: 0,\n },\n // layout: {\n // padding: {\n // left: 50\n // }\n // },\n // make the labels inside the chart\n center: {\n text: '100%',\n },\n\n plugins: {\n tooltip: {\n enabled: false,\n },\n\n },\n },\n labels: {\n display: false,\n },\n legend: {\n display: false,\n },\n\n scales: {\n r: {\n pointLabels: {\n display: false,\n centerPointLabels: false,\n },\n ticks: {\n min: 20,\n max: 70,\n display: true,\n color: 'transparent',\n backdropColor: 'transparent',\n },\n grid: {\n display: false,\n },\n },\n },\n responsive: true,\n display: true,\n plugins: {\n legend: {\n display: false,\n },\n\n },\n formatter: (value: any, ctx: any) => {\n // console.log(\"label valueds \", value)\n },\n },\n\n };\n\n //programatically create the canvas\n const canvas = document.createElement('canvas');\n canvas.id = 'myChart';\n canvas.width =\n this.polarAreaChart.nativeElement.parentNode.offsetWidth > 500\n ? 500\n : this.polarAreaChart.nativeElement.parentNode.offsetWidth;\n canvas.height = 299;\n const ctx = canvas.getContext('2d');\n this.polarAreaChart.nativeElement.appendChild(canvas);\n\n // console.log(ctx);\n this.chart = new Chart(canvas, this.options);\n\n this.chart.options.plugins.tooltip.enabled = false;\n // console.log(this.chart.options)\n this.chart.options.layout.padding = {\n left: 37,\n right: 36,\n };\n this.chart.update();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes == undefined) {\n } else {\n if (changes['data']) {\n this.data = changes['data'].currentValue;\n // console.log(\"data ngchange\",this.data)\n }\n }\n this.data.sort(this.compare);\n let mul = Math.pow(1.1, this.data.length);\n\n if (this.data.every((item: any) => item.value == 0)) {\n mul = 0;\n }\n\n for (let i = 0; i < this.data.length; i++) {\n if (i != 0 && this.data[i].value != this.data[i - 1].value) mul /= 1.1;\n if (i == 0) mul / 1.1;\n this.data[i].val = mul;\n }\n this.data.push(this.data.shift()!);\n\n if (this.chart) {\n this.chart.data.datasets[0].data = this.data.map((d: any) => d.val);\n this.realData = this.data.map((d: any) => d.value);\n\n this.chart.data.labels = this.data.map((d: any) => d.label);\n this.chart.data.datasets[0].backgroundColor = this.data.map(\n (d: any) => d.color\n );\n //set the chart padding to keep the labels inside the chart\n this.chart.options.layout.padding = {\n left: 37,\n right:36,\n };\n this.chart.update();\n }\n }\n\n\n}\n","
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DynPolarChartComponent } from './dyn-polar-chart.component';\nimport { NgChartsModule } from 'ng2-charts';\n\n\n\n@NgModule({\n declarations: [\n DynPolarChartComponent\n ],\n imports: [\n CommonModule,\n NgChartsModule\n ],\n exports: [DynPolarChartComponent]\n})\nexport class DynPolarChartModule { }\n","import { NewsModule } from './../features/layouts/components/news/news.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CoreDirectivesModule } from '@core/directives/core-directives.module';\nimport { FileUploadModule } from './components/file-upload/file-upload.module';\nimport { CustomDynamicOtpModule } from './components/custom-dynamic-otp/custom-dynamic-otp.module';\nimport { PytCustTblPagerDirective } from './components/pytCustTbl/pytPagination/pyt-cust-tbl-pager.directive';\nimport { PytTblTopBoxComponent } from './components/pytCustTbl/pyt-tbl-top-box/pyt-tbl-top-box.component';\nimport { PytPaginationComponent } from './components/pytCustTbl/pytPagination/pyt-pagination/pyt-pagination.component';\nimport { ShowMessageModule } from './components/show-message/show-message.module';\nimport { DropDownModule } from './drop-down/drop-down.module';\nimport { PipesModule } from '@core/pipes/pipes.module';\nimport { ShowErrorsModule } from '@features/show-errors/show-errors.module';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbModalModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrModule } from 'ngx-toastr';\nimport { AutocompleteLibModule } from 'angular-ng-autocomplete';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DynamicOtpModule } from './components/dynamic-otp/dynamic-otp.module';\nimport { CustomDatepickerModule } from '@core/custom-datepicker/custom-datepicker.module';\nimport { NgOtpInputModule } from 'ng-otp-input';\nimport { UploadDocumentModule } from './components/upload-document/upload-document.module';\nimport { CdkDropDownModule } from '@features/customCDK/cdk-drop-down/cdk-drop-down.module';\nimport { DynPolarChartModule } from './dyn-polar-chart/dyn-polar-chart.module';\nimport { CustomInputModule } from '@features/custom-input/custom-input.module';\nimport { SelectConfirmationModalModule } from './components/select-confirmation-modal/select-confirmation-modal.module';\nimport { DocModalModule } from './components/doc-modal/doc-modal.module';\nimport { DashInfoBoxComponent } from './components/dash-info-box/dash-info-box.component';\nimport { ConnectedBankingModalModule } from './components/connected-banking-modal/connected-banking-modal.module';\nimport { SliderToggleModule } from '@features/slider-toggle/slider-toggle.module';\nimport { PytFilterPipe } from './components/pytCustTbl/pyt-tbl-pipe/pyt-filter.pipe';\nimport { VpaConfirmationModalModule } from './components/vpa-confirmation-modal/vpa-confirmation-modal.module';\n// import { NgToggleModule } from 'ng-toggle-button';\n\n@NgModule({\n declarations: [\n PytCustTblPagerDirective,\n PytTblTopBoxComponent,\n PytPaginationComponent,\n DashInfoBoxComponent,\n PytFilterPipe\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NewsModule,\n CoreDirectivesModule,\n FileUploadModule,\n CustomDynamicOtpModule,\n ShowMessageModule,\n DropDownModule,\n PipesModule,\n ShowErrorsModule,\n RouterModule,\n NgbModule,\n ToastrModule.forRoot({\n autoDismiss: false, maxOpened: 1, preventDuplicates: true,\n positionClass: 'toast-bottom-center', closeButton: true\n }),\n AutocompleteLibModule,\n HttpClientModule,\n DynamicOtpModule,\n CustomDatepickerModule,\n NgOtpInputModule,\n UploadDocumentModule,\n CdkDropDownModule,\n DynPolarChartModule,\n NgbModalModule,\n CustomInputModule,\n SelectConfirmationModalModule,\n DocModalModule,\n ConnectedBankingModalModule,\n // NgToggleModule\n SliderToggleModule,\n VpaConfirmationModalModule\n ],\n exports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NewsModule,\n CoreDirectivesModule,\n FileUploadModule,\n CustomDynamicOtpModule,\n PytCustTblPagerDirective,\n PytTblTopBoxComponent,\n PytPaginationComponent,\n ShowMessageModule,\n DropDownModule,\n SelectConfirmationModalModule,\n PipesModule,\n ShowErrorsModule,\n RouterModule,\n NgbModule,\n ToastrModule,\n AutocompleteLibModule,\n HttpClientModule,\n DynamicOtpModule,\n CustomDatepickerModule,\n NgOtpInputModule,\n UploadDocumentModule,\n CdkDropDownModule,\n DynPolarChartModule,\n NgbModalModule,\n CustomInputModule,\n DocModalModule,\n DashInfoBoxComponent,\n ConnectedBankingModalModule,\n // NgToggleModule,\n SliderToggleModule,\n PytFilterPipe,\n VpaConfirmationModalModule\n ]\n})\nexport class SharedModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'showNullResult'\n})\nexport class ShowNullResultPipe implements PipeTransform {\n\n transform(value: any, param?: any): any {\n if ((value === '' || value === null || value === undefined) && param === undefined) {\n return '-'\n }\n if ((value === '' || value === null || value === undefined) && param === 'Boolean') {\n return '0'\n }\n\n return value;\n }\n\n}\n","\nexport const environment = {\n production: true,\n baseUrl: 'https://i-united.cipherpay.in/api/console/',\n // corporateBaseUrl: 'https://kyc.cipherpay.in/api/corporate/',\n // adminBaseUrl: 'https://kyc.cipherpay.in/api/console/',\n corporateBaseUrl:'https://i-united.cipherpay.in/api/corporate/',\n apiUrlReporting:'https://i-united.cipherpay.in/api/console/',\n adminBaseUrl: 'https://i-united.cipherpay.in/api/console/',\n imgBaseUrl: 'https://beta.cipherpay.in/',\n imgBaseToken: '3fcf0ece92b4e956b4c84e98f11243a7e30639a7',\n defEncKey: '942831ca4295ca8185be8b99a051bc2d',\n};\n","import { enableProdMode, isDevMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nif (!isDevMode()) {\n console.assert = function() { };\n console.clear = function() { };\n console.count = function() { };\n console.countReset = function() { };\n console.debug = function() { };\n console.dir = function() { };\n console.dirxml = function() { };\n console.error = function() { };\n console.group = function() { };\n console.groupCollapsed = function() { };\n console.groupEnd = function() { };\n console.info = function() { };\n console.log = function() { };\n console.table = function() { };\n console.time = function() { };\n console.timeEnd = function() { };\n console.timeLog = function() { };\n console.timeStamp = function() { };\n console.trace = function() { };\n console.warn = function() { };\n}\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 82469,\n\t\"./tg.js\": 82469,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/* (ignored) */"],"names":["ActivatedRouteSnapshot","Router","RouterStateSnapshot","AuthGuard","constructor","route","sessionStorage","_UserDetailsService","_AutoLogoutService","_CommonSubjectService","canActivate","state","session","getItem","loginSession","JSON","parse","authtoken","setUserLoginDetails","clearStorage","navigate","i0","factory","providedIn","isDevMode","HttpHeaders","environment","FileuploadService","http","headers","imgBaseUrl","imgBaseToken","uploadFileFn","file","unlinkurl","Promise","resolve","reject","formdata","FormData","append","imgToken","post","endpoint","HttpUploadOptions","subscribe","res","asyncMethod","url","corporateBaseUrl","Validators","COMPONENT_MODAL_DATA","AutoLogOutComponent","ngIdle","fb","_TemplateModalService","_Router","dialogRef","data","time","seconds","Math","trunc","setCircleDasharray","min","elapsedTime","inputValue","inputForm","value","timeLimit","firstLevelTimer","timeRemain","circleDasharray","FULL_DASH_ARRAY","toFixed","document","getElementById","setAttribute","status","showSendTimerDialog","idleTimerLeft","formatTimeLeft","Number","logout","secondTimerLeft","ngOnInit","group","required","secondLevelTimer","initTimer","_continue","close","_logout","onSubmit","invalid","firstTimerValue","secondTimerValue","USER_IDLE_TIMER_VALUE_IN_MIN","FINAL_LEVEL_TIMER_VALUE_IN_MIN","initilizeSessionTimeout","userIdlenessChecker","initiateFirstTimer","secondLevelUserIdleChecker","initiateSecondTimer","customConfig","templateRef","open","modalTemplate","afterClosed$","val","continue","sd","closeTemplateModal","runSecondTimer","runTimer","navigateByUrl","$event","selectors","viewQuery","DOCUMENT","Subject","takeUntil","KycComponent","HeaderComponent","authCoreService","authService","router","dashBoardService","config","modalService","kycService","userDetailsService","permission","_sideBarService","_unsubscribeAll","userLoginDetails","next","userDetails","isOnConnect","selectedItem","updateCols","pipe","result","getElementsByClassName","classList","add","remove","userBalSubs","_userBalanceData","bal","userBalance","replace","getUserBalance","onLogOut","myProfile","openkycModule","detail","getKycDetail","kyc_detail_","modalRef","closed","ngOnDestroy","complete","decls","vars","consts","template","ctx","ElementRef","EventEmitter","ConfirmedValidator","regExpNativePatternValidator","ConfirmationComponent","filter","DocModalComponent","BankDetailComponent","toaster","kycServices","_FileuploadService","bankListService","_ConfirmationModalService","bankList","getValue","getBankList","kycStep_","kyc_step","form","bankId","accountHolderName","accountNumber","c_accountNumber","ifscCode","termconditionError","cancelChequeUrl","validator","setTimeout","bindBankDetail","get","valueChanges","setValue","ifsc","kyc_data","kycDetail","kyc_list","bankdetail","file_url","cheque_path","patchValue","re","id","bank_id","holder_name","account_number","emitEvent","update_counter","disable","bankDetailControle","controls","onFileChange","event","unLinkUrl","unlinkrl","getDocumentUrl","unLink_Url","file_","target","files","fileExt","name","split","length","toLowerCase","selectedfile","nativeElement","showError","uploadedFile","response","pan_proof","message","onSaveBankDetail","submitted","icon","title","title2","msg","btnConfirm","btnClose","confirmationRef","events","type","formControls","Object","keys","getRawValue","payload","chequeOcr","statuscode","reupload","call_api_verify","callFinalKyc","showSuccess","formData","addBankDetails","resu","error","err","payload_","finalKycUpdate","resp","updateLocalStorage","saveBankDetail","emit","viewDoc","customConfigData","img","MoreDetailRequiredComponent","BusinessDetailComponent","dashBordService","_CommonService","_UtilityService","user_id","business_type_id","business_category_id","business_entity","other_sub_category","business_name","disabled","description","isOperational_address","address_street_no","address_pin_code","address_city_name","address_state_name","constitution_of_business","operational_street_no","operational_pin_code","operational_city_name","operational_state_name","address","pan_number","doctype","state_shop","state_code","site_reg_date","domain_origin","site_url","gstn_no","is_show","is_trust_show","currentKycStep","company_id","addGstControle","removeControl","setRemoveValidator","enable","setValidators","removeValidators","updateValueAndValidity","isEditBusinessDetail","firm_list","firmList","business_category_list","businessCategoryList","userDetail","user_detail","getShopStateList","addControl","control","maxLength","minLength","getKycViewModeDetail","enableTextField","disableTextField","onUdyamChange","valid","getUdyamDetail","onShopNoChange","getShopDetail","shopStateList","businessdetail","dateFormat","category","gstno","udyam_no","shop_number","coi","d","add_streetno","add_pincode","add_city","add_state","opr_streetno","opr_pincode","opr_city","opr_state","Date","r","onChangeGstn","payLoad","getGSTNDetail","responce","gstn_rep_obj","gstin","fetchAddressData","respo","requestType","streetNo","city_","pin","extAddress","trim","pinCod","extPin","i","city","state_name","flat","village","block","addr_obj","splitAddress","bindOperationalAddress","onSelectOperationAddress","openSubmitConfirmationModal","item","index","matchObjectData","doctype_","reqUrl","UserKyc","storeShopDetails","storeUdhyamDetails","addBusinessDetail","updateKycDetail","isSavedBusinessDetail","document_list","businesDetailSubject","saveUdyamDetails","udyamSubs","addUdyamDetail","saveStoreDetails","storeSubs","addStoreDetail","jsonObj","state_","udyamStoreSubs","bindAddressValue","udyamDetailSubs","main_details","getGstDetail","name_of_enterprise","unsubscribe","addControls","outputs","ContactDetailComponent","toster","signUpService","reseller_requested","aggregator_requested","upi_requested","payout_requested","cb_requested","resellerData","getResellerStatus","resellerDetails","getUserDetail","resellerSubs","updateReseAggreStatus","contactDetail","saveContactDetail","isStatus","is_aggregator","undefined","is_reseller","is_upi","is_cb","is_payout","selectedService","onVerify","sendEmailOTP","console","log","isResendOtp","openOTPModal","sendOTP","isOtpSend","verifyOtp","otp","showInfo","verifyEmailOTP","updateReseAggre","_r1","KYC_Service_Steps","activeModal","ele","kycServiceSteps","sub_type","getCompanyList","userLoginDetail","kycSteps","email_verify","finalKycStep","forEach","element","hasOwnProperty","currentKey","kycPartnerStatus","kycPartners","isRejected","isPending","isApprove","isLimitOver","push","selected","step","is_edit","key","querySelectorAll","click","selectedkyc","isSessionTimeOut","closeTab","onClickOuterLi","onClickInnerList","selectedKycStep","onSaveBusinessDetail","onSubmitBankDetail","onDocumentUpload","is_kyc","ConfigDynamicField","PartnersDocumentDetail","ctx_r28","ctx_r30","ctx_r37","ctx_r39","ctx_r48","ctx_r50","ctx_r0","ctx_r85","ctx_r87","ctx_r95","ctx_r96","ctx_r97","ctx_r98","ctx_r1","_r100","PartnerDocumentsComponent","isShow","setPartnerDefaultImage","kyc_steps","showAddPartner","isShowSaveNextButton","setDynamicFildName","selectedChildKycStep","childKycStep","ngAfterViewInit","fileno","unlinkUrl","partnersDocumentDetail","address_proof","partner_file_url1","backSide","auth_pers_name","maxfilesize","filesize","size","selectedPan","frontSide","unlinkUrl_","bindValue","onAddressChange","partner_file_url2","document_id","allDirectorList","kycPartnerList","kycpartnership","pstatus","ostatus","isPartnerRejected","enableText","disableNextButton","full_name","mobile","email","pan_verify","partner_file_url","pan_path","av_path","av_bpath","remarks","pan_file","aadhar_file","aadhar_back_file","onClickAddMore","showHideDirectorAddressProof","authorisedPersonObj","pendingDirec","editDocument","onPartnerFileChange","fileNo","req_type","isPartOrDir","isDirectorUpdate","is_partner","pName","showWarning","configDynamicField","nameLabel","pPhone","mobil_","mobileNumber","pEmail","emai_","emailId","aProof","onClickBack","reqType","heading","panCardHeading","addressHeading","addressNameLabel","isHiddenPan","aadharPPFrontData","aadharPPBackData","getExtension","splitData","imgUrl","file_no","fileName","panReupload","aaFilef","aaFileb","a_name","storeObj","fileb","fileurlf","fileurlb","kycAadharStore","commonApiRequest","pay_load","doc_type","createPanOcr","ocrPayLoad","p_name","verifyPanOcr","av_name","commonUrl","uploadDocument","requesrUrl","epic_number","verifyVoterId","dlnumber","dob","dlverify","verifyVoterIdOrDL","compareNames","pushDirectorData","file_num","passport_num","verifyPP","_resp","onOcrFail","sendOtp","aadhar_no","createAadharOtp","aadgarRefid","refid","isOtpVerify","verifyAadharOtp","closeModalPopUp","SaveAndNext","isKycStep","f","doc_status","shift","unshift","form_data","kycAadharOcr","aadhaar_number","ctx_r3","ctx_r9","ctx_r10","VerifyDocumentComponent","current_doc_obj","setDefaultImage","getuserDetail","userData","_kyc_list","getDocumentFormate","documentType","bindDocumentUrls","_userDetail","userPanName","onChildDocChange","fileType","fileType1","file_url1","verifyOcrDocument","document_name","request_doc","incorporatepanDetail","coiDetail","byLawsDoc","letterForPerson","llpAgreement","trustDeed","gstDetail","addShopUdyamDoc","moa_aoa_Detail","boardResolution","addBusinessDocuments","getSuccessRes","payLoad_","panVerify","reqData","unlinkUrl1","pdfPath","onSubmitKyc","uploadedData","isImageDisabled","doc_name","kycpan","setDocumentValue","kyccoi","file_path","kycaletteraperson","kycllpagreement","kyctrustdeedormou","kycgst","gst_path","kycbylows","moaaoakyc","moafilepath","aoafilepath","extLen","extLen1","kycboard","filepath","unlink_url","document_type","inputs","documentDetail","Observable","PagesService","apiRequest","getBankListForFund","postAdminData","getVAList","postdata","uploadProfilePicture","profilePicture","_","PytCustTblService","dtGetCellValue","row","column","joinString","joinWith","str","ds","reduce","prev","curr","isDate","dtSortHeaderClick","diTableOptions","sortBy","sortDirection","columns","isNumeric","isnumeric","dtUpdateFnCallBack","dtIsSort","dtTableOptions","issort","dtIsSortAsc","isSortAsc","dtIsSortDesc","isSortDesc","dtSearchBy","input","toUpperCase","searchType","serverSearchVal","localFilterVal","itmeLengthStartFrom","currentPage","dtUpdateByPageLength","totalItmePerPage","dtUpdateByPagination","totalPages","getFilterData","obj","fil","some","String","includes","setLocalData","tableOptions","cacheObj","orderBy","recordsTotal","totalRecords","recordscount","totalCount","toRec","fromRec","ceil","records","slice","header","map","keyObj","obja","dtRefresh","mainData","isheader","head","toggleValue","toggValue"],"sourceRoot":"webpack:///","x_google_ignoreList":[207,208]}