{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;AACA;AAGA;;;;;AAKM,MAAOG,gBAAP,CAAuB;EAG3BC,YAAoBC,WAApB,EACUC,wBADV,EACuEC,MADvE,EACqF;IADjE;IACV;IAA6D;IACrE,KAAKC,aAAL;EACD;;EAEKA,aAAa;IAAA;;IAAA;MACjB,IAAIC,IAAI,SAAU,KAAI,CAACJ,WAAL,CAAiBK,cAAjB,EAAlB;MACA,KAAI,CAACC,WAAL,GAAmB,CAACF,IAAD,IAASA,IAAI,CAACE,WAAjC;IAFiB;EAGlB;;EAEKC,WAAW,CAACC,KAAD,EAA8B;IAAA;;IAAA;MAC7C,MAAMC,eAAe,GAAGD,KAAK,CAACE,IAAN,CAAWD,eAAnC;MACA,IAAI,CAAC,MAAI,CAACT,WAAL,CAAiBW,UAAtB,EACE,OAAO,KAAP;;MAEF,IAAI,MAAI,CAACX,WAAL,CAAiBY,cAArB,EAAqC;QACnC,MAAI,CAACV,MAAL,CAAYW,QAAZ,CAAqB,CAAC,cAAD,CAArB;;QACA,OAAO,KAAP;MACD;MAED;;;;;;;MAMA,IAAI,CAAC,OAAO,MAAI,CAACb,WAAL,CAAiBK,cAAjB,EAAP,GAA2CS,KAAhD,EAAuD;QACrD,MAAI,CAACb,wBAAL,CAA8Bc,WAA9B,CAA0C,qCAA1C,EAAiFlB,8GAAjF;;QACA,OAAO,KAAP;MACD;;MAED,IAAIoB,WAAW,GAAG,KAAlB;;MACA,IAAIR,eAAJ,EAAqB;QACnB,KAAK,IAAIS,IAAT,IAAiBT,eAAjB,EAAkC;UAChCQ,WAAW,SAAS,MAAI,CAACjB,WAAL,CAAiBmB,YAAjB,CAA8BD,IAA9B,CAApB;;UACA,IAAID,WAAJ,EAAiB;YACf;UACD;QACF;MACF;;MAED,IAAI,CAACA,WAAL,EAAkB;QAChB,MAAI,CAAChB,wBAAL,CAA8Bc,WAA9B,CAA0C,6CAA1C,EAAyFlB,8GAAzF;;QACA,OAAO,KAAP;MACD;;MAED,OAAO,IAAP;IApC6C;EAqC9C;;AAlD0B;;;mBAAhBC,kBAAgBsB,sDAAAA,CAAAA,mEAAAA,GAAAA,sDAAAA,CAAAA,oHAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA;AAAA;;;SAAhBtB;EAAgBuB,SAAhBvB,gBAAgB;EAAAwB,YAFf;;;;;;;;;;;;;;;;;;ACJP,MAAM,WAAW;IACpB,SAAS,CAAC,KAAa,EAAE,YAAoB,EAAE,cAAsB;QAEjE,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;;sEARQ,WAAW;sHAAX,WAAW;;;;;;;;;;;;;;;;ACHjB,MAAM,IAAI;IASb;QAPQ,cAAS,GAAG,CAAC,CAAC;QACd,aAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5C,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,MAAM;SACtB,CAAC,CAAC;IAIH,CAAC;IAEM,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE;QACvC,IAAI,KAAK,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;SACvB;QACD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACZ,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACtE;iBACI;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAC3E;QACL,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC9B;aAAM,IAAI,CAAC,GAAG,CAAC,EAAE;YACd,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC7B;aAAM;YACH,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC7B;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACnCqF;AACxD;;AAOvB,MAAM,aAAa;IAGxB,YAAoB,QAAmB,EAAU,UAAsB;QAAnD,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;IAAI,CAAC;IAI5E,QAAQ;QACN,8BAA8B;QAC9B,MAAM,IAAI,GAAG,IAAI,uCAAI,EAAE,CAAC;QACxB,2CAA2C;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3C,oGAAoG;QACpG,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,2EAA2E;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtB,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SACxC;aACI;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SACzC;IACH,CAAC;;0EA5BU,aAAa;2GAAb,aAAa;qIAAb,cAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPgC;AACP;AAE2E;AACN;AAEU;AACe;AAExF;AACkE;AACN;AACL;AACN;AACf;AACnB;AACZ;AAC8E;AACN;AAEzD;AACE;AACF;AACkC;AACN;AACsC;AACN;AACzB;AACU;AACN;AAC1C;AAC0B;AACX;AACT;AACI;AACkD;AACM;AAC7B;AACoD;;;AAEvJ,MAAM,MAAM,GAAW;IAC5B,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,kFAAiB,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;IACpE;QACE,0BAA0B;QAC1B,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,kFAAiB;KAC7B;IACD;QACE,0BAA0B;QAC1B,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,kFAAiB;KAC7B;IACD;QACE,0BAA0B;QAC1B,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,kFAAiB;KAC7B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,iGAAoB;KAChC;IACD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,+EAAgB;QAC3B,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,mEAAY,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;IAClE;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,yHAA4B;QACvC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,+HAA8B;QACzC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,8GAAyB;QACpC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,8GAAyB;QACpC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,oHAA2B;QACtC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,oHAA2B;QACtC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,8IAAmC;QAC9C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,oJAAqC;QAChD,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,2IAAkC;QAC7C,WAAW,EAAE,CAAC,2DAAS,CAAC;KACzB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,iJAAoC;QAC/C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,SAAS,EAAE,wKAA2C;QACtD,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,2HAA6B;QACxC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,iIAA+B;QAC1C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,iIAA+B;QAC1C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,kFAAiB,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;IAC5E;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,8HAAyB;QACpC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,oIAA2B;QACtC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,qHAA4B;QACvC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,+EAAgB;QAC3B,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,yGAAwB;QACnC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,+DAAa,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;IACpE;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,uJAA6B;QACxC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,wIAA0B;QACrC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,gHAA0B;QACrC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,sHAA4B;QACvC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,gHAA0B;QACrC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,sHAA4B;QACvC,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,yFAAmB;QAC9B,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,2IAAkC;QAC7C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,iJAAoC;QAC/C,WAAW,EAAE,CAAC,2DAAS,EAAE,oFAAgB,CAAC;QAC1C,IAAI,EAAE;YACJ,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;SACnD;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,oHAA2B;QACtC,WAAW,EAAE,CAAC,2DAAS,CAAC;KACzB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,8FAAqB;KACjC;IACD,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,oFAAiB,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;IACvE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oFAAiB,EAAE,WAAW,EAAE,CAAC,2DAAS,CAAC,EAAE;CACvE,CAAC;AAeK,MAAM,gBAAgB;;gFAAhB,gBAAgB;8GAAhB,gBAAgB;kHAXzB,kEAAoB,CAAC,MAAM,EAAE;YAC3B,OAAO,EAAE,IAAI;YACb,wDAAwD;YACxD;;;+BAGmB;SACpB,CAAC,EAEM,0DAAY;oIAEX,gBAAgB,qFAFjB,0DAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7TxB;AACA;AACA;AACA;AACA;AACA;AAGA;;;;;;;;;;;;;;ICPEF,4DAAAA;IAA2BA,oDAAAA;IAA2CA,0DAAAA;;;;;;IACtEA,4DAAAA;IAA6BA,oDAAAA;IAAuEA,0DAAAA;;;;;;IACpGA,uDAAAA;;;;;;IAJFA,4DAAAA;IAEEA,wDAAAA;IACAA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAHOA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAC4BA,uDAAAA;IAAAA,wDAAAA;;;;;;IAK/BA,uDAAAA;;;;;;IAIEA,uDAAAA;;;;;;IALJA,4DAAAA;IACEA,wDAAAA;IACAA,uDAAAA,oBAA8B,CAA9B,EAA8B,YAA9B;IAEAA,4DAAAA;IACEA,wDAAAA;IAEAA,uDAAAA;IACFA,0DAAAA;;;;;IAP2BA,uDAAAA;IAAAA,wDAAAA;IAITA,uDAAAA;IAAAA,wDAAAA;;;;;;IALpBA,wDAAAA;;;;;IAAMA,wDAAAA;;;;ADcF,MAAOc,YAAP,CAAmB;EAWvBnC,YACqCoC,eADrC,EAEUC,WAFV,EAGUC,oBAHV,EAISrC,WAJT,EAKSE,MALT,EAKuB;IAJc;IAC3B;IACA;IACD;IACA;IAfT,aAAQ,KAAR;IACA,gBAAW,KAAX;IACA,oBAAe,KAAf;IACA,sBAAiB,IAAjB;IACA,wBAAmB,KAAnB;IACA,kCAA6B,KAA7B;IACA,mBAAc,EAAd;IAEiB,oBAAe,IAAI0B,0CAAJ,EAAf;EAShB;;EAEKU,QAAQ;IAAA;;IAAA;MACZC,YAAY,CAACC,UAAb,CAAwB,iBAAxB;;MAEA,KAAI,CAACtC,MAAL,CAAYuC,MAAZ,CAAmBC,SAAnB,CAA8BC,KAAD,IAAU;QACrC,IAAIA,KAAK,YAAYpB,8DAArB,EAAuC;UACrC,IAAI,CAAC,KAAI,CAACqB,QAAV,EAAoB;YAClB,IAAI,CAACL,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAL,EAA0C;cACxCN,YAAY,CAACO,OAAb,CAAqB,aAArB,EAAoCH,KAAK,CAACI,GAA1C;YACD;UACF;QACF;MACF,CARD;;MAUA,KAAI,CAACH,QAAL,GAAgBI,MAAM,KAAKA,MAAM,CAACC,MAAlB,IAA4B,CAACD,MAAM,CAACE,MAApD;MACA,KAAI,CAACC,cAAL,GAAsB,IAAtB,CAdY,CAeZ;;MACAC,UAAU,CAAC,MAAK;QACd,IAAI,CAAC,KAAI,CAACR,QAAV,EAAoB;UAClB,KAAI,CAACS,wBAAL;;UACA,IAAI,KAAI,CAACjB,WAAL,CAAiBkB,QAAjB,CAA0BC,gBAA1B,EAAJ,EAAkD;YAChD,KAAI,CAACnB,WAAL,CAAiBkB,QAAjB,CAA0BE,kBAA1B,CAA6C,EAAE,GAAGzB,kDAAL;cAAgB0B,OAAO,EAAE,KAAI,CAACrB,WAAL,CAAiBkB,QAAjB,CAA0BC,gBAA1B;YAAzB,CAA7C;UACD,CAFD,MAIE,KAAI,CAACnB,WAAL,CAAiBsB,aAAjB;QACH;MACF,CATS,EASP,IATO,CAAV;;MAYA,KAAI,CAACrB,oBAAL,CAA0BsB,YAA1B,CACGC,IADH,CACQ/B,uDAAM,CAAEgC,GAAD,IAAuBA,GAAG,CAACC,SAAJ,KAAkBrC,yEAAlB,IAA6CoC,GAAG,CAACC,SAAJ,KAAkBrC,iFAAvF,CADd,EAEGiB,SAFH;QAAA,8IAEa,WAAOuB,MAAP,EAA+B;UACxC,KAAI,CAACC,gBAAL,GAAwB,KAAxB;UACA,MAAMC,OAAO,GAAGF,MAAM,CAACE,OAAvB;;UAEA,IAAIA,OAAO,CAACC,aAAR,CAAsB,KAAtB,MAAiCpC,sEAArC,EAAoE;YAClEgB,MAAM,CAACuB,KAAP,CAAa,gEAAb;YACA,OAAO,KAAI,CAACC,MAAL,EAAP;UACD;;UAED,KAAI,CAACrB,cAAL,GAAsB,KAAtB;;UAEA,KAAI,CAACf,WAAL,CAAiBkB,QAAjB,CAA0BmB,gBAA1B,CAA2CN,OAAO,CAACV,OAAnD;;UACA,IAAI,KAAI,CAACzD,WAAL,CAAiBY,cAArB,EAAqC;YACnC;UACD;;UAED,IAAIR,IAAI,SAAS,KAAI,CAACJ,WAAL,CAAiBK,cAAjB,EAAjB;UAEA,IAAI,CAACD,IAAL,EACE;;UAEF,IAAIA,IAAI,CAACsE,kBAAL,IAA2B,IAA3B,IAAmC,CAACtE,IAAI,CAACsE,kBAAL,CAAwBC,QAA5D,IAAwEvE,IAAI,CAACwE,cAAL,IAAuB,IAA/F,IAAuG,CAACxE,IAAI,CAACwE,cAAL,CAAoBD,QAAhI,EAA0I;YACxI,KAAI,CAACzE,MAAL,CAAY2E,aAAZ,CAA0B,sBAA1B;UACD,CAFD,MAGK;YACH,KAAI,CAACC,0BAAL,GAAkC,IAAlC;UACD;;UAED,KAAI,CAACzB,wBAAL;;UAEA,IAAId,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAJ,EAAyC;YACvC,KAAI,CAAC3C,MAAL,CAAY2E,aAAZ,CAA0BtC,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B;;YACAN,YAAY,CAACC,UAAb,CAAwB,aAAxB;UACD;;UAED,KAAI,CAACuC,aAAL;;UAEA,KAAI,CAAC5B,cAAL,GAAsB,KAAtB;QACD,CAxCH;;QAAA;UAAA;QAAA;MAAA;;MA0CA,KAAI,CAACd,oBAAL,CAA0BsB,YAA1B,CACGC,IADH,CACQ/B,uDAAM,CAAEgC,GAAD,IAAuBA,GAAG,CAACC,SAAJ,KAAkBrC,yEAAlB,IAA6CoC,GAAG,CAACC,SAAJ,KAAkBrC,iFAAvF,CADd,EACuIK,0DAAS,CAAC,KAAI,CAACoD,YAAN,CADhJ,EAEGxC,SAFH;QAAA,+IAEa,WAAOuB,MAAP,EAA+B;UACxC,KAAI,CAACd,cAAL,GAAsB,KAAtB;UACA,KAAI,CAACe,gBAAL,GAAwB,IAAxB,CAFwC,CAIxC;;UACA,IAAI,CAAC,KAAI,CAAClE,WAAL,CAAiBY,cAAtB,EAAsC;YACpCwC,UAAU,CAAC,MAAK;cACd,KAAI,CAAChB,WAAL,CAAiBsB,aAAjB;YACD,CAFS,EAEP,IAFO,CAAV;UAGD;QACF,CAZH;;QAAA;UAAA;QAAA;MAAA;;MAcA,KAAI,CAACrB,oBAAL,CAA0B8C,WAA1B,CACGvB,IADH,CACQ/B,uDAAM,CAAEuD,MAAD,IAA+BA,MAAM,KAAKzD,wEAA3C,CADd,EACkFG,0DAAS,CAAC,KAAI,CAACoD,YAAN,CAD3F,EAEGxC,SAFH,kJAEa,aAAW;QACpB,MAAM,KAAI,CAAC4C,eAAL,EAAN;MACD,CAJH;;MAMA,KAAI,CAAClD,WAAL,CAAiBmD,wBAAjB,GAA4C7C,SAA5C,CAAsD;QACpD8C,IAAI,EAAGvB,MAAD,IAAiC,CACtC,CAFmD;QAGpDwB,KAAK,EAAGA,KAAD,IAAWC,OAAO,CAACC,GAAR,CAAYF,KAAZ;MAHkC,CAAtD;IA1FY;EA+Fb;;EAEKV,aAAa;IAAA;;IAAA;MACjB,IAAI3E,IAAI,SAAS,MAAI,CAACJ,WAAL,CAAiBK,cAAjB,EAAjB;;MAEA,MAAI,CAACL,WAAL,CAAiB4F,eAAjB,CAAiC3D,wEAAjC,EAAmD7B,IAAI,CAAC0F,EAAxD,EAA4D1F,IAAI,CAAC2F,KAAjE,EAAwE,EAAxE;IAHiB;EAIlB;;EAEKT,eAAe;IAAA;;IAAA;MACnB,MAAI,CAACU,YAAL,GAAoB,MAAI,CAAC5D,WAAL,CAAiBkB,QAAjB,CAA0B2C,cAA1B,GAA2CC,MAA3C,GAAoD,CAAxE;IADmB;EAEpB;;EAED7C,wBAAwB;IACtB;;;;;IAKA,MAAM8C,aAAa,GAAG,KAAK/D,WAAL,CAAiBkB,QAAjB,CAA0BC,gBAA1B,EAAtB;;IAEA,IAAI,CAAC4C,aAAD,IAAkB,KAAK/D,WAAL,CAAiBkB,QAAjB,CAA0B2C,cAA1B,GAA2CC,MAA3C,GAAoD,CAA1E,EAA6E;MAC3E,MAAME,QAAQ,GAAG,KAAKhE,WAAL,CAAiBkB,QAAjB,CAA0B2C,cAA1B,EAAjB;MACA,KAAK7D,WAAL,CAAiBkB,QAAjB,CAA0BmB,gBAA1B,CAA2C2B,QAAQ,CAAC,CAAD,CAAnD;IACD;EACF;;EAED5B,MAAM;IACJ,IAAI,KAAKrC,eAAL,CAAqBkE,eAArB,KAAyC3E,uEAA7C,EAAoE;MAClE,KAAKU,WAAL,CAAiBmE,WAAjB,CAA6B;QAC3BC,qBAAqB,EAAE;MADI,CAA7B;IAGD,CAJD,MAIO;MACL,KAAKpE,WAAL,CAAiBqE,cAAjB;IACD;;IAED,IAAIrG,IAAJ;IACA,KAAKJ,WAAL,CAAiBK,cAAjB,GAAkCqG,IAAlC,CAAuCC,GAAG,IAAIvG,IAAI,GAAGuG,GAArD;EACD;;EAEDrC,WAAW;IACT,MAAMsC,sBAAsB,GAAG;MAC7BC,MAAM,EAAE,CAAC,QAAD,CADqB;MAE7BC,SAAS,EAAE9E,sFAA6C8E;IAF3B,CAA/B;EAID;;EAEDE,WAAW;IACT,KAAK9B,YAAL,CAAkBM,IAAlB,CAAuByB,SAAvB;;IACA,KAAK/B,YAAL,CAAkBgC,QAAlB;EACD;;AApKsB;;;mBAAZhF,cAAYd,+DAAAA,CAYbI,mEAZa,GAYIJ,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,+DAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAZhBc;EAAYiF;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCtBzBnG,wDAAAA;MAOAA,wDAAAA,uEAAAA,oEAAAA;;;;;;MAPMA,wDAAAA,uFAAqE,UAArE,EAAqEoG,GAArE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAoD;AAEQ;AACS;AACN;AACtB;AACO;AACyB;AAC7B;AACM;AACR;AACgE;AACL;AACmC;AACN;AACb;AACM;AACN;AAC7C;AACK;AACwB;AACA;AACE;AACrC;AAC6C;AACM;AACI;AACN;AACpD;AACiC;AACO;AAC/B;AAChB;AACnB;AACE;AACN;AACS;AACI;AACD;AACkD;AACH;AAQrE;AAaA;AAEyB;AACkC;AACuB;AACX;AACG;AACW;AACkB;AACH;AACxE;AACoC;AACtC;AAC0D;AACrB;AAClB;AAC2C;AACX;AACgC;AAClB;AACX;AACL;AACZ;AACR;AACC;AAC3C;AAC6F;AACN;AAChB;AACJ;AACnD;AAC6C;AAC6B;AACxE;AACS;AACU;AACwD;AACN;AAC9E;AACuD;AACN;AACM;AACnD;AACsD;AACZ;AACsB;AACuC;;;;;;;AAE9J,MAAM,IAAI,GACR,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/C,SAAS,cAAc,CAAC,QAAkB,EAAE,OAAe;AAClE,CAAC;AAEM,SAAS,mBAAmB;IACjC,OAAO,IAAI,yEAAuB,CAAC;QACjC,IAAI,EAAE;YACJ,QAAQ,EAAE,sCAAsC;YAChD,SAAS,EAAE,wFAA8C;YACzD,WAAW,EAAE,GAAG;YAChB,qBAAqB,EAAE,GAAG;YAC1B,gBAAgB,EAAE,CAAC,qEAA2B,CAAC;YAC/C,yBAAyB,EAAE,IAAI;SAChC;QACD,KAAK,EAAE;YACL,aAAa,EAAE,mFAAiC;YAChD,sBAAsB,EAAE,IAAI,EAAE,wBAAwB;SACvD;QACD,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,cAAc;gBACd,QAAQ,EAAE,+DAAa;gBACvB,iBAAiB,EAAE,KAAK;aACzB;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,SAAS,4BAA4B;IAC1C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9D,oBAAoB,CAAC,GAAG,CAAC,uDAAa,EAAE,0DAAgB,CAAC,CAAC;IAE1D,OAAO;QACL,eAAe,EAAE,0EAAwB;QACzC,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAEM,SAAS,sBAAsB;IACpC,OAAO;QACL,eAAe,EAAE,0EAAwB;QACzC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,GAAG,0DAAgB,CAAC;SAC9B;QACD,gBAAgB,EAAE,cAAc;KACjC,CAAC;AACJ,CAAC;AAoIM,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAHR,wDAAY,EAAE,uEAAqB;4GAhCpC;QACT,+EAA+E;QAC/E,wGAAwG;QACxG,EAAE,OAAO,EAAE,yDAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvC;YACE,OAAO,EAAE,oEAAiB;YAC1B,QAAQ,EAAE,+FAAwB;YAClC,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,oEAAiB;YAC1B,QAAQ,EAAE,iEAAe;YACzB,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,+DAAa;YACtB,UAAU,EAAE,mBAAmB;SAChC;QACD;YACE,OAAO,EAAE,mEAAiB;YAC1B,UAAU,EAAE,sBAAsB;SACnC;QACD;YACE,OAAO,EAAE,yEAAuB;YAChC,UAAU,EAAE,4BAA4B;SACzC;QACD,6DAAW;QACX,2DAAS;QACT,sEAAoB;QACpB,sDAAQ;QACR,8DAAa;KACd,YAzDC,0FAAkC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACjE,gFAAiB;QACjB,mEAAgB;QAChB,wDAAW;QACX,4DAAU;QACV,uEAAkB;QAClB,iEAAgB;QAChB,0FAAuB;QACvB,6DAAoB,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,oBAAoB;YACnC,iBAAiB,EAAE,IAAI;SACxB,CAAC;QACF,oEAAmB,EAAE;QACrB,gEAAmB;QACnB,iFAA0B,EAAE;QAC5B,kEAAS;QACT,qEAAe;QACf,wDAAe;QACf,2DAAmB,EAAE;QACrB,2DAAe;QACf,+DAAkB;oIAwCT,SAAS,mBAjIlB,wDAAY;QACZ,6FAAgB;QAChB,+DAAa;QACb,2HAA2B;QAC3B,yHAAyB;QACzB,oHAA4B;QAC5B,uJAA6B;QAC7B,iJAA2B;QAC3B,oIAAwB;QACxB,2IAA0B;QAC1B,qIAAwB;QACxB,wFAAe;QACf,qHAAoB;QACpB,qHAAoB;QACpB,uHAAsB;QACtB,+EAAgB;QAChB,kFAAiB;QACjB,+HAAyB;QACzB,qIAA2B;QAC3B,yIAA0B;QAC1B,mIAAwB;QACxB,+EAAgB;QAChB,gHAAsB;QACtB,uHAAsB;QACtB,kGAAoB;QACpB,yHAA4B;QAC5B,8GAAyB;QACzB,iHAA0B;QAC1B,4HAA6B;QAC7B,8IAAmC;QACnC,mEAAY;QACZ,2IAA4B;QAC5B,uGAAsB;QACtB,2HAA0B;QAC1B,sGAAmB;QACnB,oFAAiB;QACjB,+HAA8B;QAC9B,oHAA2B;QAC3B,oJAAqC;QACrC,kIAA+B;QAC/B,uHAA4B;QAC5B,kHAAuB;QACvB,sGAAmB;QACnB,kHAAuB;QACvB,8FAAqB;QACrB,iJAAoC;QACpC,2IAAkC;QAClC,uHAAwB;QACxB,iHAAoB;QACpB,8IAA6B;QAC7B,yFAAmB;QACnB,iJAAoC;QACpC,2IAAkC;QAClC,6DAAW;QACX,wFAAe;QACf,6DAAW;QACX,oHAAqB;QACrB,8GAAmB;QACnB,+GAAsB;QACtB,oHAA2B;QAC3B,iEAAa;QACb,uHAAsB;QACtB,2GAAkB;QAClB,iIAAuB;QACvB,4GAAqB;QACrB,wKAA2C,oFAI3C,gFAAiB;QACjB,mEAAgB;QAChB,wDAAW;QACX,4DAAU;QACV,uEAAkB;QAClB,iEAAgB;QAChB,0FAAuB,uHAOvB,gEAAmB,6EAEnB,kEAAS;QACT,qEAAe;QACf,wDAAe,uDAEf,2DAAe;QACf,+DAAkB;;;;;;;;;;;;;;;;;AC1PtB;;;;GAIG;AACI,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE;QACL,YAAY,EAAE,oBAAoB;QAClC,WAAW,EAAE,EAAE;KAChB;IACD,WAAW,EAAE;QACX,YAAY,EAAE;YACZ,SAAS,EACP,mFAAmF;SACtF;QACD,WAAW,EAAE;YACX,SAAS,EACP,6EAA6E;SAChF;KACF;IACD,eAAe,EAAE,2BAA2B;CAC7C,CAAC;AAEF;;;GAGG;AACI,MAAM,SAAS,GAAsC;IAC1D,MAAM,EAAE;QACN,uFAAuF;KACxF;IACD,GAAG,EAAE,GAAG;IACR,wEAAwE;CACzE,CAAC;;;;;;;;;;;;;;;;;ACjCwF;;;AAOnF,MAAM,yBAAyB;IAQpC,cAAc;IACd;QAPA,uBAAuB;QACd,cAAS,GAAW,EAAE,CAAC;QACvB,wBAAmB,GAAY,KAAK,CAAC;QAE9C,wBAAwB;QACd,iBAAY,GAAG,IAAI,uDAAY,EAA4D,CAAC;IAEtF,CAAC;IAEjB,SAAS;IACT,QAAQ;IACR,CAAC;IAED,8BAA8B;IAC9B,cAAc,CAAC,KAAK;QAClB,2CAA2C;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,KAAK,GAAW,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,6BAA6B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAChI;;YAEC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5C,CAAC;;kGA5BU,yBAAyB;uHAAzB,yBAAyB;;;;;;;QCNtC,8EAAsK;QAAxF,wJAAU,0BAAsB,IAAC;QAA/G,4DAAsK;QAGtK,4EAA4E;QAA9B,6RAAS,qEAAmB,KAAC;QAAC,iEAAM;QAAA,4DAAS;;QAHqB,6FAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDhJ;AACA;AAIA;AACA;AACA;AACA;;;;;;;;;;;;;;ICRApG,4DAAAA,kBAAiD,CAAjD,EAAiD,IAAjD,EAAiD,CAAjD,EAAiD,IAAjD,EAAiD,CAAjD,EAAiD,QAAjD,EAAiD,CAAjD;IAGcA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,mBAAW,MAAX,EAAT;IAA2B,CAA3B;IAAyCA,oDAAAA;IAAIA,0DAAAA;IAEvDA,4DAAAA,UAAI,CAAJ,EAAI,QAAJ,EAAI,CAAJ;IACUA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,mBAAW,UAAX,EAAT;IAA+B,CAA/B;IAA6CA,oDAAAA;IAAQA,0DAAAA;IAE/DA,4DAAAA,UAAI,CAAJ,EAAI,QAAJ,EAAI,CAAJ;IACUA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAW,sBAAX,EAAT;IAA2C,CAA3C;IAAyDA,oDAAAA;IAAqBA,0DAAAA;IAExFA,4DAAAA,WAAI,EAAJ,EAAI,QAAJ,EAAI,CAAJ;IACUA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAW,aAAX,EAAT;IAAkC,CAAlC;IAAgDA,oDAAAA;IAAWA,0DAAAA;IAErEA,4DAAAA,WAAI,EAAJ,EAAI,QAAJ,EAAI,CAAJ;IACUA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAW,gBAAX,EAAT;IAAqC,CAArC;IAAmDA,oDAAAA;IAAcA,0DAAAA;;;;;;IAezEA,4DAAAA,cAAsC,CAAtC,EAAsC,IAAtC;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAAiBA,0DAAAA;;;;;IAAjBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGRA,4DAAAA,cAAkD,CAAlD,EAAkD,IAAlD;IACMA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAMA,oDAAAA;IAA6BA,0DAAAA;;;;;IAA7BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGRA,4DAAAA,cAAmD,CAAnD,EAAmD,IAAnD;IACMA,oDAAAA;IAAaA,0DAAAA;IACjBA,4DAAAA;IAAMA,oDAAAA;IAA8BA,0DAAAA;;;;;IAA9BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGRA,4DAAAA,cAA8C,CAA9C,EAA8C,IAA9C;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAAyBA,0DAAAA;;;;;IAAzBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGRA,4DAAAA,cAAmD,CAAnD,EAAmD,IAAnD;IACQA,oDAAAA;IAAkBA,0DAAAA;IACtBA,4DAAAA;IAAMA,oDAAAA;;IAAqCA,0DAAAA;;;;;IAArCA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;IAGVA,4DAAAA,cAAuD,CAAvD,EAAuD,IAAvD;IACQA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAAkCA,0DAAAA;;;;;IAAlCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAeVA,4DAAAA,cAAuD,CAAvD,EAAuD,IAAvD;IACMA,oDAAAA;IAAYA,0DAAAA;IAChBA,4DAAAA;IAAMA,oDAAAA;IAAkCA,0DAAAA;;;;;IAAlCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGRA,4DAAAA,cAAgD,CAAhD,EAAgD,IAAhD;IACMA,oDAAAA;IAAkBA,0DAAAA;IACtBA,4DAAAA;IAAMA,oDAAAA;IAA2BA,0DAAAA;;;;;IAA3BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAYJA,uDAAAA;;;;;;;;IAKEA,4DAAAA,SAAgC,CAAhC,EAAgC,GAAhC,EAAgC,EAAhC;IAAoFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,0DAAT;IAAiD,CAAjD;IAAmDA,oDAAAA;IAAoBA,0DAAAA;;;;;;;;IAC3JA,4DAAAA,SAAqC,CAArC,EAAqC,GAArC,EAAqC,EAArC;IAAyFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,+DAAT;IAAsD,CAAtD;IAAwDA,oDAAAA;IAAyBA,0DAAAA;;;;;;;;IAC1KA,4DAAAA,SAAyC,CAAzC,EAAyC,GAAzC,EAAyC,EAAzC;IAA6FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,mEAAT;IAA0D,CAA1D;IAA4DA,oDAAAA;IAA8BA,0DAAAA;;;;;;;;IAxEnMA,4DAAAA,cAA2E,CAA3E,EAA2E,KAA3E,EAA2E,CAA3E,EAA2E,CAA3E,EAA2E,KAA3E;IAIMA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAIFA,0DAAAA;IAEAA,4DAAAA,WAAK,EAAL,EAAK,KAAL,EAAK,CAAL,EAAK,EAAL,EAAK,IAAL;IAEQA,oDAAAA;IAAMA,0DAAAA;IACVA,4DAAAA;IAAMA,oDAAAA;;IAA+DA,0DAAAA;IAGvEA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAoBA,0DAAAA;IACxBA,4DAAAA;IAAMA,oDAAAA;;IAA6EA,0DAAAA;IAGrFA,wDAAAA;IAKAA,wDAAAA;IAKAA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAsCA,0DAAAA;IAC1CA,4DAAAA;IAAMA,oDAAAA;;IAAgEA,0DAAAA;IAI1EA,4DAAAA,YAAK,EAAL,EAAK,KAAL,EAAK,CAAL,EAAK,EAAL,EAAK,IAAL,EAAK,CAAL;IAEqBA,oDAAAA;IACfA,wDAAAA;IACFA,0DAAAA;IACAA,4DAAAA,gBAAkB,EAAlB,EAAkB,KAAlB,EAAkB,EAAlB,EAAkB,EAAlB,EAAkB,GAAlB,EAAkB,EAAlB,EAAkB,GAAlB,EAAkB,EAAlB;IAE2DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yCAAT;IAAwC,CAAxC;IAA0CA,oDAAAA;IAAuBA,0DAAAA;IACxHA,wDAAAA;IACAA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;IAIJA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAA0EA,0DAAAA;IAGhFA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAA0EA,0DAAAA;;;;;IA9E1EA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IASEA,uDAAAA;IAAAA,gEAAAA,KAAAA,yDAAAA;IAKAA,uDAAAA;IAAAA,gEAAAA,KAAAA,yDAAAA;IAGFA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAOEA,uDAAAA;IAAAA,gEAAAA,KAAAA,yDAAAA;IAOEA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAMJA,uDAAAA;IAAAA,gEAAAA;IAIAA,uDAAAA;IAAAA,gEAAAA;;;;;;IASVA,uDAAAA;;;;;;IAeIA,4DAAAA,cAA+D,CAA/D,EAA+D,IAA/D;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAA0CA,0DAAAA;;;;;IAA1CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAAgE,CAAhE,EAAgE,IAAhE;IACMA,oDAAAA;IAASA,0DAAAA;IACbA,4DAAAA;IAAMA,oDAAAA;IAA2CA,0DAAAA;;;;;IAA3CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAAgE,CAAhE,EAAgE,IAAhE;IACMA,oDAAAA;IAAMA,0DAAAA;IACVA,4DAAAA;IAAMA,oDAAAA;IAA2CA,0DAAAA;;;;;IAA3CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAAyE,CAAzE,EAAyE,IAAzE;IACMA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAMA,oDAAAA;IAAoDA,0DAAAA;;;;;IAApDA,uDAAAA;IAAAA,+DAAAA;;;;;;IAeRA,4DAAAA,cAAkE,CAAlE,EAAkE,IAAlE;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAA6CA,0DAAAA;;;;;IAA7CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAAmE,CAAnE,EAAmE,IAAnE;IACMA,oDAAAA;IAASA,0DAAAA;IACbA,4DAAAA;IAAMA,oDAAAA;IAA8CA,0DAAAA;;;;;IAA9CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAAmE,CAAnE,EAAmE,IAAnE;IACMA,oDAAAA;IAAMA,0DAAAA;IACVA,4DAAAA;IAAMA,oDAAAA;IAA8CA,0DAAAA;;;;;IAA9CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAERA,4DAAAA,cAA4E,CAA5E,EAA4E,IAA5E;IACMA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAMA,oDAAAA;IAAuDA,0DAAAA;;;;;IAAvDA,uDAAAA;IAAAA,+DAAAA;;;;;;IAWRA,4DAAAA,cAAiD,CAAjD,EAAiD,IAAjD;IACMA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA,YAAM,CAAN,EAAM,GAAN,EAAM,EAAN;IAAoDA,oDAAAA;IAA4BA,0DAAAA;;;;;IAAvEA,uDAAAA;IAAAA,oEAAAA,wDAAAA,2DAAAA;IAA2CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAEtDA,4DAAAA,cAAiD,CAAjD,EAAiD,IAAjD;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAA4BA,0DAAAA;;;;;IAA5BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAdVA,4DAAAA,eAA4C,CAA5C,EAA4C,KAA5C,EAA4C,CAA5C,EAA4C,CAA5C,EAA4C,IAA5C;IAEQA,oDAAAA;IAASA,0DAAAA;IAEfA,4DAAAA,cAAkB,CAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAA2BA,0DAAAA;IAEnCA,wDAAAA;IAIAA,wDAAAA;IAIFA,0DAAAA;;;;;IAVUA,uDAAAA;IAAAA,+DAAAA;IAEWA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAiBnBA,4DAAAA,cAAmD,CAAnD,EAAmD,IAAnD;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAA8BA,0DAAAA;;;;;IAA9BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAdVA,4DAAAA,eAA0C,CAA1C,EAA0C,KAA1C,EAA0C,CAA1C,EAA0C,CAA1C,EAA0C,IAA1C;IAEQA,oDAAAA;IAAOA,0DAAAA;IAEbA,4DAAAA,cAAkB,CAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAAyBA,0DAAAA;IAEjCA,4DAAAA,cAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA,aAAM,EAAN,EAAM,GAAN,EAAM,EAAN;IAAkDA,oDAAAA;IAA0BA,0DAAAA;IAE9EA,wDAAAA;IAIFA,0DAAAA;;;;;IAVUA,uDAAAA;IAAAA,+DAAAA;IAIGA,uDAAAA;IAAAA,oEAAAA,sDAAAA,2DAAAA;IAAyCA,uDAAAA;IAAAA,+DAAAA;IAEjCA,uDAAAA;IAAAA,wDAAAA;;;;;;IAiBnBA,4DAAAA,cAAsD,CAAtD,EAAsD,IAAtD;IACMA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAAiCA,0DAAAA;;;;;IAAjCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAdVA,4DAAAA,eAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C,EAA6C,CAA7C,EAA6C,IAA7C;IAEQA,oDAAAA;IAAUA,0DAAAA;IAEhBA,4DAAAA,cAAkB,CAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAA4BA,0DAAAA;IAEpCA,4DAAAA,cAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA,aAAM,EAAN,EAAM,GAAN,EAAM,EAAN;IAAqDA,oDAAAA;IAA6BA,0DAAAA;IAEpFA,wDAAAA;IAIFA,0DAAAA;;;;;IAVUA,uDAAAA;IAAAA,+DAAAA;IAIGA,uDAAAA;IAAAA,oEAAAA,yDAAAA,2DAAAA;IAA4CA,uDAAAA;IAAAA,+DAAAA;IAEpCA,uDAAAA;IAAAA,wDAAAA;;;;;;IA7GzBA,4DAAAA;IAEEA,wDAAAA;IAEAA,4DAAAA,eAAiB,CAAjB,EAAiB,KAAjB,EAAiB,EAAjB,EAAiB,CAAjB,EAAiB,KAAjB,EAAiB,CAAjB,EAAiB,CAAjB,EAAiB,IAAjB;IAGUA,oDAAAA;IAAWA,0DAAAA;IAEjBA,4DAAAA,cAAkB,CAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAA6CA,0DAAAA;IAErDA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA,aAAM,EAAN,EAAM,GAAN,EAAM,EAAN;IAAgEA,oDAAAA;IAA0CA,0DAAAA;IAE5GA,wDAAAA;IAIAA,wDAAAA;IAIAA,wDAAAA;IAIAA,wDAAAA;IAIFA,0DAAAA;IACAA,4DAAAA,gBAAmB,EAAnB,EAAmB,KAAnB,EAAmB,CAAnB,EAAmB,EAAnB,EAAmB,IAAnB;IAEQA,oDAAAA;IAAOA,0DAAAA;IAEbA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAMA,oDAAAA;IAAgDA,0DAAAA;IAExDA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA,aAAM,EAAN,EAAM,GAAN,EAAM,EAAN;IAAqEA,oDAAAA;IAA6CA,0DAAAA;IAEpHA,wDAAAA;IAIAA,wDAAAA;IAIAA,wDAAAA;IAIAA,wDAAAA;IAIFA,0DAAAA;IACAA,wDAAAA;IAiBAA,wDAAAA;IAiBAA,wDAAAA;IAiBFA,0DAAAA;;;;;IAhHMA,uDAAAA;IAAAA,wDAAAA;IASMA,uDAAAA;IAAAA,+DAAAA;IAIGA,uDAAAA;IAAAA,oEAAAA,qEAAAA,2DAAAA;IAAuDA,uDAAAA;IAAAA,+DAAAA;IAE/CA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAWXA,uDAAAA;IAAAA,+DAAAA;IAIGA,uDAAAA;IAAAA,oEAAAA,wEAAAA,2DAAAA;IAA4DA,uDAAAA;IAAAA,+DAAAA;IAEpDA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAIAA,uDAAAA;IAAAA,wDAAAA;IAKDA,uDAAAA;IAAAA,wDAAAA;IAiBAA,uDAAAA;IAAAA,wDAAAA;IAiBAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAyBpBA,uDAAAA;;;;;;IAeAA,4DAAAA;IAAgGA,oDAAAA;IAAmCA,0DAAAA;;;;;;;;IAGjIA,4DAAAA,UAAmF,CAAnF,EAAmF,IAAnF,EAAmF,EAAnF;IAC8BA,oDAAAA;IAAqCA,0DAAAA;IACjEA,4DAAAA;IAAsBA,oDAAAA;IAA6CA,0DAAAA;IACnEA,4DAAAA;IAA+BA,oDAAAA;;IAAqDA,0DAAAA;IACpFA,4DAAAA;IAAsBA,oDAAAA;IAAkCA,0DAAAA;IACxDA,4DAAAA,eAA0B,EAA1B,EAA0B,QAA1B,EAA0B,EAA1B;IAA+EA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,wDAAT;IAAmD,CAAnD;IAC7EA,uDAAAA;IACFA,0DAAAA;;;;;;;IAN4BA,uDAAAA;IAAAA,+DAAAA;IACNA,uDAAAA;IAAAA,+DAAAA;IACSA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACTA,uDAAAA;IAAAA,+DAAAA;IAEXA,uDAAAA;IAAAA,wDAAAA;;;;;;IAPfA,4DAAAA;IACEA,wDAAAA;IASFA,0DAAAA;;;;;IATsCA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;;;;;;IAkBpCA,4DAAAA,cAAsK,CAAtK,EAAsK,GAAtK,EAAsK,EAAtK;IACqCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0CAA6B,CAA7B,EAAT;IAAwC,CAAxC;IAA0CA,oDAAAA;IAAWA,0DAAAA;;;;;;IADpEA,wDAAAA,YAAAA,6DAAAA;IACyDA,uDAAAA;IAAAA,+DAAAA;;;;;;;;;;;;;;IANnFA,4DAAAA,eAAuI,CAAvI,EAAuI,IAAvI,EAAuI,EAAvI,EAAuI,CAAvI,EAAuI,IAAvI,EAAuI,EAAvI,EAAuI,CAAvI,EAAuI,GAAvI,EAAuI,EAAvI;IAGyCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,2EAA0D,CAA1D,EAAT;IAAqE,CAArE;IAAuEA,oDAAAA;IAAQA,0DAAAA;IAEpHA,wDAAAA;IAGAA,4DAAAA,cAAmF,CAAnF,EAAmF,GAAnF,EAAmF,EAAnF;IACqCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,2EAA0D,CAA1D,EAAT;IAAqE,CAArE;IAAuEA,oDAAAA;IAAIA,0DAAAA;;;;;IAP1FA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAGmFA,uDAAAA;IAAAA,wDAAAA;IAGnFA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;;;;;;IA3C5BA,4DAAAA,cAAiF,CAAjF,EAAiF,KAAjF,EAAiF,EAAjF,EAAiF,CAAjF,EAAiF,IAAjF;IAGQA,oDAAAA;IAAqBA,0DAAAA;IACzBA,wDAAAA;IACFA,0DAAAA;IAEAA,4DAAAA,iBAAuD,CAAvD,EAAuD,OAAvD,EAAuD,CAAvD,EAAuD,IAAvD,EAAuD,EAAvD,EAAuD,CAAvD,EAAuD,IAAvD,EAAuD,EAAvD;IAI8BA,oDAAAA;IAAUA,0DAAAA;IAClCA,4DAAAA;IAAIA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAIA,oDAAAA;IAAaA,0DAAAA;IACjBA,4DAAAA;IAAIA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAIA,oDAAAA;IAAQA,0DAAAA;IAIhBA,wDAAAA;IAEAA,wDAAAA;IAYFA,0DAAAA;IAEAA,wDAAAA;IAcFA,0DAAAA;;;;;IA7CUA,uDAAAA;IAAAA,wDAAAA;IAeWA,uDAAAA;IAAAA,wDAAAA;IAETA,uDAAAA;IAAAA,wDAAAA;IAcuCA,uDAAAA;IAAAA,wDAAAA;;;;;;IAoB/CA,uDAAAA;;;;;;IAeAA,4DAAAA;IAA8EA,oDAAAA;IAAyBA,0DAAAA;;;;;;;;IAGrGA,4DAAAA,UAAiE,CAAjE,EAAiE,IAAjE,EAAiE,EAAjE;IAC8BA,oDAAAA;IAA4BA,0DAAAA;IACxDA,4DAAAA;IAAsBA,oDAAAA;IAAoCA,0DAAAA;IAC1DA,4DAAAA;IAA+BA,oDAAAA;;IAA4CA,0DAAAA;IAC3EA,4DAAAA;IAAsBA,oDAAAA;IAAyBA,0DAAAA;IAC/CA,4DAAAA,eAA0B,EAA1B,EAA0B,QAA1B,EAA0B,EAA1B;IAA+EA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,+CAAT;IAA0C,CAA1C;IAC7EA,uDAAAA;IACFA,0DAAAA;;;;;;;IAN4BA,uDAAAA;IAAAA,+DAAAA;IACNA,uDAAAA;IAAAA,+DAAAA;IACSA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACTA,uDAAAA;IAAAA,+DAAAA;IAEXA,uDAAAA;IAAAA,wDAAAA;;;;;;IAPfA,4DAAAA;IACEA,wDAAAA;IASFA,0DAAAA;;;;;IAT6BA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IAkB3BA,4DAAAA,cAAoJ,CAApJ,EAAoJ,GAApJ,EAAoJ,EAApJ;IACqCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAoB,CAApB,EAAT;IAA+B,CAA/B;IAAiCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAD3DA,wDAAAA,YAAAA,6DAAAA;IACgDA,uDAAAA;IAAAA,+DAAAA;;;;;;;;IAN1EA,4DAAAA,eAAqH,CAArH,EAAqH,IAArH,EAAqH,EAArH,EAAqH,CAArH,EAAqH,IAArH,EAAqH,EAArH,EAAqH,CAArH,EAAqH,GAArH,EAAqH,EAArH;IAGyCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yDAAwC,CAAxC,EAAT;IAAmD,CAAnD;IAAqDA,oDAAAA;IAAQA,0DAAAA;IAElGA,wDAAAA;IAGAA,4DAAAA,cAA0E,CAA1E,EAA0E,GAA1E,EAA0E,EAA1E;IACqCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yDAAwC,CAAxC,EAAT;IAAmD,CAAnD;IAAqDA,oDAAAA;IAAIA,0DAAAA;;;;;IAPxEA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAG0EA,uDAAAA;IAAAA,wDAAAA;IAG1EA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;;;;;;IA3C5BA,4DAAAA,cAAwE,CAAxE,EAAwE,KAAxE,EAAwE,EAAxE,EAAwE,CAAxE,EAAwE,IAAxE;IAGQA,oDAAAA;IAAWA,0DAAAA;IACfA,wDAAAA;IACFA,0DAAAA;IAEAA,4DAAAA,iBAAuD,CAAvD,EAAuD,OAAvD,EAAuD,CAAvD,EAAuD,IAAvD,EAAuD,EAAvD,EAAuD,CAAvD,EAAuD,IAAvD,EAAuD,EAAvD;IAI8BA,oDAAAA;IAAWA,0DAAAA;IACnCA,4DAAAA;IAAIA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAIA,oDAAAA;IAAaA,0DAAAA;IACjBA,4DAAAA;IAAIA,oDAAAA;IAAIA,0DAAAA;IACRA,4DAAAA;IAAIA,oDAAAA;IAAQA,0DAAAA;IAIhBA,wDAAAA;IAEAA,wDAAAA;IAYFA,0DAAAA;IAEAA,wDAAAA;IAcFA,0DAAAA;;;;;IA7CUA,uDAAAA;IAAAA,wDAAAA;IAeWA,uDAAAA;IAAAA,wDAAAA;IAETA,uDAAAA;IAAAA,wDAAAA;IAcuCA,uDAAAA;IAAAA,wDAAAA;;;;;;IAiBjDA,uDAAAA;;;;;;IAEEA,4DAAAA;IAAsCA,oDAAAA;IAAaA,0DAAAA;;;;;;IACnDA,4DAAAA;IAAuCA,oDAAAA;IAAeA,0DAAAA;;;;;;;;IAFxDA,4DAAAA;IAAyIA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAT;IAAsB,CAAtB;IACvIA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAH+DA,wDAAAA;IACtDA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IALXA,4DAAAA,eAAoF,CAApF,EAAoF,IAApF;IACMA,oDAAAA;IAAeA,0DAAAA;IACnBA,wDAAAA;IACAA,wDAAAA;IAIFA,0DAAAA;;;;;IALQA,uDAAAA;IAAAA,wDAAAA;IACiBA,uDAAAA;IAAAA,wDAAAA;;;;;;IA0BrBA,4DAAAA;IAAoFA,oDAAAA;IAA6BA,0DAAAA;;;;;;IAG/GA,4DAAAA,UAAwD,CAAxD,EAAwD,IAAxD,EAAwD,EAAxD;IAC2BA,oDAAAA;IAAuCA,0DAAAA;IAChEA,4DAAAA;IAAyBA,oDAAAA;IAA2BA,0DAAAA;IACpDA,4DAAAA;IAAoCA,oDAAAA;IAAsCA,0DAAAA;IAC1EA,4DAAAA;IAAwBA,oDAAAA;IAA0BA,0DAAAA;IAClDA,4DAAAA;IAA6CA,oDAAAA;;IAAmDA,0DAAAA;IAChGA,4DAAAA;IAA0BA,oDAAAA;IAA4BA,0DAAAA;IACtDA,4DAAAA;IAA2BA,oDAAAA;IAA6BA,0DAAAA;IACxDA,4DAAAA;IAA0CA,oDAAAA;;IAAgDA,0DAAAA;IAC1FA,4DAAAA;IAA0BA,oDAAAA;IAA4BA,0DAAAA;IACtDA,4DAAAA;IAAgCA,oDAAAA;IAAiCA,0DAAAA;IACjEA,4DAAAA;IAAiCA,oDAAAA;IAAkCA,0DAAAA;IACnEA,4DAAAA;IAAyBA,oDAAAA;IAA2BA,0DAAAA;IACpDA,4DAAAA;IAAyBA,oDAAAA;IAA8BA,0DAAAA;;;;;IAZ9BA,uDAAAA;IAAAA,+DAAAA;IACAA,uDAAAA;IAAAA,+DAAAA;IACWA,uDAAAA;IAAAA,+DAAAA;IACZA,uDAAAA;IAAAA,+DAAAA;IACqBA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACnBA,uDAAAA;IAAAA,+DAAAA;IACCA,uDAAAA;IAAAA,+DAAAA;IACeA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IAChBA,uDAAAA;IAAAA,+DAAAA;IACMA,uDAAAA;IAAAA,+DAAAA;IACCA,uDAAAA;IAAAA,+DAAAA;IACRA,uDAAAA;IAAAA,+DAAAA;IACAA,uDAAAA;IAAAA,+DAAAA;;;;;;IAd7BA,4DAAAA;IACEA,wDAAAA;IAeFA,0DAAAA;;;;;IAfgCA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IAuB9BA,4DAAAA,cAA0J,CAA1J,EAA0J,GAA1J,EAA0J,EAA1J;IACqCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,oCAAuB,CAAvB,EAAT;IAAkC,CAAlC;IAAoCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAD9DA,wDAAAA,YAAAA,6DAAAA;IACmDA,uDAAAA;IAAAA,+DAAAA;;;;;;;;IAN7EA,4DAAAA,eAA2H,CAA3H,EAA2H,IAA3H,EAA2H,EAA3H,EAA2H,CAA3H,EAA2H,IAA3H,EAA2H,EAA3H,EAA2H,CAA3H,EAA2H,GAA3H,EAA2H,EAA3H;IAGyCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,+DAA8C,CAA9C,EAAT;IAAyD,CAAzD;IAA2DA,oDAAAA;IAAQA,0DAAAA;IAExGA,wDAAAA;IAGAA,4DAAAA,cAA6E,CAA7E,EAA6E,GAA7E,EAA6E,EAA7E;IACqCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,iEAA8C,CAA9C,EAAT;IAAyD,CAAzD;IAA2DA,oDAAAA;IAAIA,0DAAAA;;;;;IAP9EA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAG6EA,uDAAAA;IAAAA,wDAAAA;IAG7EA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;;;;;;;;IAlD5BA,4DAAAA,eAAsG,CAAtG,EAAsG,KAAtG,EAAsG,CAAtG,EAAsG,OAAtG,EAAsG,EAAtG,EAAsG,CAAtG,EAAsG,OAAtG,EAAsG,CAAtG,EAAsG,IAAtG,EAAsG,EAAtG,EAAsG,CAAtG,EAAsG,IAAtG,EAAsG,EAAtG;IAK2CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAOA,0DAAAA;IAClEA,4DAAAA;IAAmCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAOA,0DAAAA;IAClEA,4DAAAA;IAA8CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAkBA,0DAAAA;IACxFA,4DAAAA;IAAkCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAMA,0DAAAA;IAChEA,4DAAAA;IAAqCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAA2BA,0DAAAA;IACxFA,4DAAAA;IAAoCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAQA,0DAAAA;IACpEA,4DAAAA;IAAqCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAASA,0DAAAA;IACtEA,4DAAAA;IAA+CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAwBA,0DAAAA;IAC/FA,4DAAAA;IAAoCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAQA,0DAAAA;IACpEA,4DAAAA;IAAyCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAcA,0DAAAA;IAC/EA,4DAAAA;IAA0CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAeA,0DAAAA;IACjFA,4DAAAA;IAAmCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAOA,0DAAAA;IAClEA,4DAAAA;IAAsCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAQA,yDAAAA,yBAAR;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAOA,0DAAAA;IAIzEA,wDAAAA;IAEAA,wDAAAA;IAiBFA,0DAAAA;IAEAA,wDAAAA;IAcFA,0DAAAA;;;;;IAnCqBA,uDAAAA;IAAAA,wDAAAA;IAETA,uDAAAA;IAAAA,wDAAAA;IAmBuCA,uDAAAA;IAAAA,wDAAAA;;;;ADjX7C,MAAOgH,sBAAP,CAA6B;EAkDjC;EACArI,YAAoBsI,cAApB,EACUC,cADV,EAEUC,kBAFV,EAGUC,eAHV,EAG0C;IAHtB;IACV;IACA;IACA;IA3CV,uBAA2B,KAA3B;IAGA,6BAAiC,KAAjC;IACA,+BAAmC,KAAnC;IAIA,wBAA6B,EAA7B;IACA,0BAA8B,KAA9B;IAES,6BAAiC,KAAjC;IAGT,iCAAsC,EAAtC;IACA,mCAAuC,KAAvC;IAMU,iCAA4B,IAAIf,uDAAJ,EAA5B,CAsBgC,CAjB1C;;IACA,qBAAwB,MAAxB,CAgB0C,CAd1C;;IACA,kBAAaG,yEAAb;IAEA,aAAkB,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkB,IAAlB,EAAwB,IAAxB,CAAlB;IAEA,gBAAmB,EAAnB;IACO,gCAAmC,CAAnC;IACA,6BAAgC,CAAhC;IACA,sCAAyC,CAAzC;EAMwC,CAtDd,CAwDjC;;;EACAtF,QAAQ,IACP;;EAEDmG,WAAW,CAACC,OAAD,EAAuB;IAChC,IAAIA,OAAO,CAACC,MAAR,IAAkBD,OAAO,CAACC,MAAR,CAAeC,YAArC,EAAmD;MAAE;MACnD,KAAKC,YAAL;MACA,KAAKC,wBAAL;MACA,KAAKC,eAAL;MACA,KAAKC,kBAAL;IACD;EACF,CAnEgC,CAqEjC;;;EACMC,kBAAkB,CAACC,YAAD,EAAqB;IAAA;;IAAA;MAC3C,KAAI,CAACC,2BAAL,GAAmC,IAAnC;MACA,KAAI,CAACC,kBAAL,GAA0B,IAA1B;MACA,KAAI,CAACC,qBAAL,GAA6B,IAA7B;MACA,IAAIC,IAAI,SAAS,KAAI,CAACjB,cAAL,CAAoBY,kBAApB,CAAuCC,YAAvC,CAAjB;MACA,MAAMK,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;MACAD,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;MACA,MAAMK,IAAI,GAAQ,IAAIC,IAAJ,CAAS,CAACP,IAAI,CAAC5I,IAAN,CAAT,EAAsB;QAAEoJ,IAAI,EAAER,IAAI,CAAC5I,IAAL,CAAUoJ;MAAlB,CAAtB,CAAlB;MACA,MAAM/G,GAAG,GAAGC,MAAM,CAAC+G,GAAP,CAAWC,eAAX,CAA2BJ,IAA3B,CAAZ;MACAL,CAAC,CAACU,IAAF,GAASlH,GAAT;MACAwG,CAAC,CAACW,QAAF,GAAaZ,IAAI,CAACa,QAAlB;MACAZ,CAAC,CAACa,KAAF;MACApH,MAAM,CAAC+G,GAAP,CAAWM,eAAX,CAA2BtH,GAA3B;MACA,KAAI,CAACoG,2BAAL,GAAmC,KAAnC;MACA,KAAI,CAACC,kBAAL,GAA0B,KAA1B;MACA,KAAI,CAACC,qBAAL,GAA6B,KAA7B;IAf2C;EAgB5C,CAtFgC,CAwFjC;;;EACAiB,UAAU,CAACC,IAAD,EAAa;IACrB,KAAKC,yBAAL,CAA+BC,IAA/B,CAAoCF,IAApC;IACA,KAAKG,aAAL,GAAqBH,IAArB;EACD;;EAEKI,6BAA6B;IAAA;;IAAA;MACjC,IAAI;QACF,MAAI,CAACtB,qBAAL,GAA6B,IAA7B;QACA,IAAIC,IAAI,SAAS,MAAI,CAAChB,cAAL,CAAoBsC,mBAApB,CAAwC,MAAI,CAACjC,MAAL,CAAYkC,qBAApD,CAAjB;QACA,MAAMtB,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;QACAD,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;QACA,MAAMK,IAAI,GAAQ,IAAIC,IAAJ,CAAS,CAACP,IAAI,CAAC5I,IAAN,CAAT,EAAsB;UAAEoJ,IAAI,EAAER,IAAI,CAAC5I,IAAL,CAAUoJ;QAAlB,CAAtB,CAAlB;QACA,MAAM/G,GAAG,GAAGC,MAAM,CAAC+G,GAAP,CAAWC,eAAX,CAA2BJ,IAA3B,CAAZ;QACAL,CAAC,CAACU,IAAF,GAASlH,GAAT;QACAwG,CAAC,CAACW,QAAF,GAAaZ,IAAI,CAACa,QAAlB;QACAZ,CAAC,CAACa,KAAF;QACApH,MAAM,CAAC+G,GAAP,CAAWM,eAAX,CAA2BtH,GAA3B;MACD,CAXD,CAWE,OAAO0C,KAAP,EAAc;QACd,IAAIA,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UACvB,MAAI,CAACmD,kBAAL,CAAwBxH,WAAxB,CAAoC,iDAApC,EAAuFlB,iHAAvF;QACD;MACF;;MACD,MAAI,CAACwJ,qBAAL,GAA6B,KAA7B;IAjBiC;EAkBlC;;EAEKL,kBAAkB,CAAC8B,IAAD,EAAc;IAAA;;IAAA;MACpC,MAAI,CAACC,qBAAL,GAA6B,IAA7B;;MACA,IAAID,IAAJ,EAAU;QACR,MAAI,CAACE,wBAAL,GAAgCF,IAAhC;MACD;;MACD,MAAI,CAACG,cAAL,SAA4B,MAAI,CAAC3C,cAAL,CAAoB4C,uBAApB,CAA4C,MAAI,CAACvC,MAAL,CAAY7C,EAAxD,EAA4D,MAAI,CAACkF,wBAAjE,EAA2F,MAAI,CAACG,QAAhG,EAA0G,MAAI,CAACC,UAA/G,EAA2H,MAAI,CAACC,aAAhI,CAA5B;MACA,MAAI,CAACN,qBAAL,GAA6B,KAA7B;IANoC;EAOrC;;EAEKhC,eAAe,CAAC+B,IAAD,EAAc;IAAA;;IAAA;MACjC,MAAI,CAAC1B,kBAAL,GAA0B,IAA1B;;MACA,IAAI0B,IAAJ,EAAU;QACR,MAAI,CAACQ,qBAAL,GAA6BR,IAA7B;MACD;;MACD,MAAI,CAACS,WAAL,SAAyB,MAAI,CAAClD,cAAL,CAAoBmD,kBAApB,CAAuC,MAAI,CAAC7C,MAAL,CAAY7C,EAAnD,EAAuD,MAAI,CAACwF,qBAA5D,EAAmF,MAAI,CAACH,QAAxF,CAAzB;;MACA,MAAI,CAACI,WAAL,CAAiBE,KAAjB,CAAuBC,OAAvB,CAA+BC,GAAG,IAAG;QACnC,IAAIC,KAAK,GAAG,CAAZ;QACA,IAAIC,GAAG,GAAGF,GAAG,CAACG,QAAd;;QACA,OAAOD,GAAG,IAAI,IAAP,IAAeD,KAAK,GAAG,MAAI,CAACG,KAAL,CAAW7F,MAAX,GAAoB,CAAlD,EAAqD;UACnD0F,KAAK;UACLC,GAAG,GAAGA,GAAG,GAAG,IAAZ;QACD;;QACD,MAAI,CAACG,gBAAL,CAAsBC,IAAtB,CAA2B,CAAEL,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,CAAxB,GAA6BC,GAAG,CAACK,OAAJ,EAA7B,GAA6CL,GAAG,CAACK,OAAJ,CAAY,CAAZ,CAA9C,IAAgE,GAAhE,GAAsE,MAAI,CAACH,KAAL,CAAWH,KAAX,CAAjG;MACD,CARD;;MASA,MAAI,CAACxC,kBAAL,GAA0B,KAA1B;IAfiC;EAgBlC;;EAEKP,YAAY;IAAA;;IAAA;MAChB,MAAI,CAACsD,eAAL,GAAuB,IAAvB;;MACA,IAAI;QACF,IAAI,MAAI,CAACxD,MAAL,CAAYkC,qBAAhB,EAAuC;UACrC,MAAI,CAACuB,gBAAL,SAA8B,MAAI,CAAC/D,cAAL,CAAoBgE,mBAApB,CAAwC,MAAI,CAAC1D,MAAL,CAAYkC,qBAApD,CAA9B;QACD;MACF,CAJD,CAIE,OAAOpF,KAAP,EAAc,CAAE;;MAElB,IAAI;QACF,MAAI,CAAC6G,cAAL,SAA4B,MAAI,CAAC9D,eAAL,CAAqB+D,4BAArB,CAAkD,MAAI,CAAC5D,MAAL,CAAY7C,EAA9D,CAA5B;MACD,CAFD,CAEE,OAAOL,KAAP,EAAc,CACf;;MAED,IAAI;QACF,MAAI,CAAC+G,iBAAL,SAA+B,MAAI,CAAChE,eAAL,CAAqBiE,+BAArB,CAAqD,MAAI,CAAC9D,MAAL,CAAY7C,EAAjE,CAA/B;MACD,CAFD,CAEE,OAAOL,KAAP,EAAc,CACf;;MACD,MAAI,CAAC0G,eAAL,GAAuB,KAAvB;IAjBgB;EAkBjB;;EAEKrD,wBAAwB,CAACgC,IAAD,EAAc;IAAA;;IAAA;MAC1C,MAAI,CAAC3B,2BAAL,GAAmC,IAAnC;;MACA,IAAI2B,IAAJ,EAAU;QACR,MAAI,CAAC4B,8BAAL,GAAsC5B,IAAtC;MACD;;MACD,MAAI,CAAC6B,oBAAL,SAAkC,MAAI,CAACtE,cAAL,CAAoBuE,6BAApB,CAAkD,MAAI,CAACjE,MAAL,CAAY7C,EAA9D,EAAkE,MAAI,CAAC4G,8BAAvE,EAAuG,MAAI,CAACvB,QAA5G,CAAlC;;MACA,MAAI,CAACwB,oBAAL,CAA0BlB,KAA1B,CAAgCC,OAAhC,CAAwCC,GAAG,IAAG;QAC5C,IAAIC,KAAK,GAAG,CAAZ;QACA,IAAIC,GAAG,GAAGF,GAAG,CAACG,QAAd;;QACA,OAAOD,GAAG,IAAI,IAAP,IAAeD,KAAK,GAAG,MAAI,CAACG,KAAL,CAAW7F,MAAX,GAAoB,CAAlD,EAAqD;UACnD0F,KAAK;UACLC,GAAG,GAAGA,GAAG,GAAG,IAAZ;QACD;;QACD,MAAI,CAACgB,yBAAL,CAA+BZ,IAA/B,CAAoC,CAAEL,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,CAAxB,GAA6BC,GAAG,CAACK,OAAJ,EAA7B,GAA6CL,GAAG,CAACK,OAAJ,CAAY,CAAZ,CAA9C,IAAgE,GAAhE,GAAsE,MAAI,CAACH,KAAL,CAAWH,KAAX,CAA1G;MACD,CARD;;MASA,MAAI,CAACzC,2BAAL,GAAmC,KAAnC;IAf0C;EAgB3C;;EAEK2D,WAAW;IAAA;;IAAA;MAEf,IAAI,CAAC,MAAI,CAACC,uBAAV,EACA;QACE,MAAI,CAACA,uBAAL,GAA+B,IAA/B;QACA,IAAIC,QAAQ,GAAG,OAAO,MAAI,CAAC1E,cAAL,CAAoB4C,uBAApB,CAA4C,MAAI,CAACvC,MAAL,CAAY7C,EAAxD,EAA4D,CAA5D,EAA+D,MAAI,CAACmF,cAAL,CAAoBgC,UAAnF,EAA+F,IAA/F,EAAqG,IAArG,CAAP,EAAmHxB,KAAnH,CAAyHyB,GAAzH,CAA6H,CAAC;UAAEpH,EAAF;UAAMrC,OAAN;UAAe,GAAG0J;QAAlB,CAAD,KAA8BA,IAA3J,CAAf,CAFF,CAIE;;QACA,MAAMC,EAAE,GAAmBlF,qDAAA,CAAyB8E,QAAzB,CAA3B;QAEA;;QACA,MAAMO,EAAE,GAAkBrF,gDAAA,EAA1B;QACAA,yDAAA,CAA6BqF,EAA7B,EAAiCH,EAAjC,EAAqC,iBAArC;QAEA;;QACAlF,2CAAA,CAAeqF,EAAf,EAAmB,MAAI,CAAC5E,MAAL,CAAYgF,WAAZ,GAA0B,OAA7C;QAEA,MAAI,CAACZ,uBAAL,GAA+B,KAA/B;MACD;IAlBc;EAmBhB,CAtMgC,CAwMjC;;;EACMa,MAAM,CAAC;IAAEC,MAAF;IAAUC;EAAV,CAAD,EAAiC;IAAA;;IAAA;MAC3C;MACA,MAAI,CAACC,OAAL,CAAarC,OAAb,CAAqBsC,MAAM,IAAG;QAC5B,IAAIA,MAAM,CAACC,QAAP,KAAoBJ,MAAxB,EAAgC;UAC9BG,MAAM,CAACF,SAAP,GAAmB,EAAnB;QACD;MACF,CAJD;;MAMA,MAAI,CAAC1C,UAAL,GAAkByC,MAAlB;MACA,MAAI,CAACxC,aAAL,GAAqByC,SAArB;MAEA,MAAM,MAAI,CAAC9E,kBAAL,CAAwB,MAAI,CAACgC,wBAA7B,CAAN;IAX2C;EAa5C;;EAEDkD,OAAO,CAACC,CAAD,EAAU;IACf,OAAO,IAAIC,KAAJ,CAAUD,CAAV,CAAP;EACH;;AA1NkC;;;mBAAtB/F,wBAAsBhH,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,uFAAAA,GAAAA,+DAAAA,CAAAA,uHAAAA,GAAAA,+DAAAA,CAAAA,uFAAAA;AAAA;;;QAAtBgH;EAAsBjB;EAAAkH;IAAA;gEAmCnBlG,wFAA2BA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;MClD3C/G,wDAAAA;MA0BAA,wDAAAA;MAyFAA,wDAAAA;MAsHAA,wDAAAA;MAmDAA,wDAAAA;MAkDAA,wDAAAA;MAQAA,wDAAAA;;;;MAtVUA,wDAAAA;MA0BJA,uDAAAA;MAAAA,wDAAAA;MAyFAA,uDAAAA;MAAAA,wDAAAA;MAsHAA,uDAAAA;MAAAA,wDAAAA;MAmDAA,uDAAAA;MAAAA,wDAAAA;MAkDAA,uDAAAA;MAAAA,wDAAAA;MAQAA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;ACtViE;;AAKvE,MAAM,MAAM,GAAqC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAenF,MAAM,2BAA2B;IARxC;QAUW,aAAQ,GAAe,EAAE,CAAC;QAC1B,cAAS,GAAkB,EAAE,CAAC;QAC7B,SAAI,GAAG,IAAI,uDAAY,EAAa,CAAC;KAQhD;IANC,iCAAiC;IACjC,MAAM;QACJ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;;sGAVU,2BAA2B;yHAA3B,2BAA2B;mJAA3B,YAAQ;;;;;;;;;;;;;;;;;;;;;;;ACbf,MAAOkN,qBAAP,CAA4B;EAM1BhM,QAAQ;IAAA;EACb;;EAEDiM,aAAa;IACX,IAAG,KAAKC,MAAR,EAAe;MACb,KAAKA,MAAL;IACD;EACF;;AAb+B;;;mBAArBF;AAAqB;;;QAArBA;EAAqBnH;EAAAsH;IAAAC;IAAAC;IAAAH;EAAA;EAAApH;EAAAC;EAAAC;EAAAC;IAAA;MCNlCnG,4DAAAA;MAEQA,wDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MACAxN,oDAAAA;MACRA,0DAAAA;;;;MAHQA,wDAAAA;MAEAA,uDAAAA;MAAAA,gEAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFR;AACA;AACA;AACA;AAIA;;;;;;;;;;;;ICJgBA,4DAAAA,cAAyF,CAAzF,EAAyF,MAAzF,EAAyF,EAAzF;IAC0BA,oDAAAA;IAAUA,0DAAAA;;;;;;IAOpCA,4DAAAA;IAAsDA,oDAAAA;IAAkCA,0DAAAA;;;;;;IAAlCA,uDAAAA;IAAAA,gEAAAA;;;;;;;;IAF1DA,4DAAAA,cAAgG,CAAhG,EAAgG,MAAhG,EAAgG,EAAhG;IACUA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2CAAT;IAAuC,CAAvC;IAAyCA,oDAAAA;IAAsDA,0DAAAA;IACrGA,wDAAAA;IACAA,4DAAAA;IAAiCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2CAAT;IAAuC,CAAvC;IAC7BA,uDAAAA;IACJA,0DAAAA;;;;;;IAJ+CA,uDAAAA;IAAAA,+DAAAA;IAC1BA,uDAAAA;IAAAA,wDAAAA;IAEKA,uDAAAA;IAAAA,wDAAAA;;;;;;IAbtCA,4DAAAA,cAAyF,CAAzF,EAAyF,KAAzF,EAAyF,CAAzF,EAAyF,CAAzF,EAAyF,IAAzF,EAAyF,CAAzF;IAE4BA,oDAAAA;IAChBA,wDAAAA;IAGJA,0DAAAA;IAEJA,4DAAAA;IACIA,wDAAAA;IAOJA,0DAAAA;;;;;IAbcA,uDAAAA;IAAAA,wDAAAA;IAMWA,uDAAAA;IAAAA,wDAAAA;;;;;;IAcjBA,4DAAAA,cAAyF,CAAzF,EAAyF,MAAzF,EAAyF,EAAzF;IAC0BA,oDAAAA;IAAUA,0DAAAA;;;;;;;;IAKxCA,4DAAAA,cAA2G,CAA3G,EAA2G,MAA3G,EAA2G,EAA3G;IACUA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2CAAT;IAAsC,CAAtC;IAAwCA,oDAAAA;IAAqDA,0DAAAA;IACnGA,4DAAAA;IAAiCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2CAAT;IAAsC,CAAtC;IAC7BA,uDAAAA;IACJA,0DAAAA;;;;;;IAH8CA,uDAAAA;IAAAA,+DAAAA;IAEpBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAZtCA,4DAAAA,cAAgG,CAAhG,EAAgG,KAAhG,EAAgG,CAAhG,EAAgG,CAAhG,EAAgG,IAAhG,EAAgG,CAAhG;IAE4BA,oDAAAA;IAChBA,wDAAAA;IAGJA,0DAAAA;IAEJA,4DAAAA;IACIA,wDAAAA;IAMJA,0DAAAA;;;;;IAZcA,uDAAAA;IAAAA,wDAAAA;IAMeA,uDAAAA;IAAAA,wDAAAA;;;;;;IAarBA,4DAAAA,cAAyF,CAAzF,EAAyF,MAAzF,EAAyF,EAAzF;IAC0BA,oDAAAA;IAAUA,0DAAAA;;;;;;IAOpCA,4DAAAA;IAAqDA,oDAAAA;IAAkCA,0DAAAA;;;;;;IAAlCA,uDAAAA;IAAAA,gEAAAA;;;;;;;;IAIrDA,4DAAAA,WAA4B,CAA5B,EAA4B,MAA5B,EAA4B,EAA5B;IAA6DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,8BAAT;IAAyB,CAAzB;IAA2BA,uDAAAA;IAAgEA,0DAAAA;;;;;IAA3CA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IANjHA,4DAAAA,cAAuG,CAAvG,EAAuG,MAAvG,EAAuG,EAAvG;IACUA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uCAAT;IAAkC,CAAlC;IAAoCA,oDAAAA;IAAuDA,0DAAAA;IACjGA,wDAAAA;IACAA,4DAAAA;IAAiCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uCAAT;IAAkC,CAAlC;IAC7BA,uDAAAA;IACJA,0DAAAA;IACAA,wDAAAA;IACJA,0DAAAA;;;;;;IAN8CA,uDAAAA;IAAAA,+DAAAA;IACtBA,uDAAAA;IAAAA,wDAAAA;IAEMA,uDAAAA;IAAAA,wDAAAA;IAEpBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAflBA,4DAAAA,cAAgG,CAAhG,EAAgG,KAAhG,EAAgG,CAAhG,EAAgG,CAAhG,EAAgG,IAAhG,EAAgG,CAAhG;IAE4BA,oDAAAA;IAChBA,wDAAAA;IAGJA,0DAAAA;IAEJA,4DAAAA;IACIA,wDAAAA;IAQJA,0DAAAA;;;;;IAdcA,uDAAAA;IAAAA,wDAAAA;IAMWA,uDAAAA;IAAAA,wDAAAA;;;;;;IAejBA,4DAAAA,cAAyF,CAAzF,EAAyF,MAAzF,EAAyF,EAAzF;IAC0BA,oDAAAA;IAAUA,0DAAAA;;;;;;;;IAKxCA,4DAAAA,cAAgH,CAAhH,EAAgH,MAAhH,EAAgH,EAAhH;IACUA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,4CAAT;IAAuC,CAAvC;IAAyCA,oDAAAA;IAAqDA,0DAAAA;IACpGA,4DAAAA;IAAiCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,4CAAT;IAAuC,CAAvC;IAC7BA,uDAAAA;IACJA,0DAAAA;;;;;;IAH+CA,uDAAAA;IAAAA,+DAAAA;IAErBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAZtCA,4DAAAA,cAAqG,CAArG,EAAqG,KAArG,EAAqG,CAArG,EAAqG,CAArG,EAAqG,IAArG,EAAqG,CAArG;IAE4BA,oDAAAA;IAChBA,wDAAAA;IAGJA,0DAAAA;IAEJA,4DAAAA;IACIA,wDAAAA;IAMJA,0DAAAA;;;;;IAZcA,uDAAAA;IAAAA,wDAAAA;IAMeA,uDAAAA;IAAAA,wDAAAA;;;;;;IAUrCA,4DAAAA,eAA4K,CAA5K,EAA4K,GAA5K;IACOA,oDAAAA;IAAsBA,0DAAAA;;;;ADhEvB,MAAO4N,uBAAP,CAA8B;EAuBlC;EACAjP,YAAoBkP,cAApB,EACUC,yBADV,EAEUC,cAFV,EAGSC,eAHT,EAGmDpP,WAHnD,EAG2E;IAHvD;IACV;IACA;IACD;IAA0C,+BAAwB,CAzB3E;;IACS,mBAA4B,EAA5B;IACA,0BAAsC,EAAtC;IACA,0BAA8B,KAA9B,CAsBkE,CAhB3E;;IACS,aAAgB,OAAhB,CAekE,CAV3E;;IACA,kBAAa4H,yEAAb;IACA,qBAAgBiH,8EAAhB,CAQ2E,CAP3E;;IACA,uBAA2B,KAA3B;IACA,sBAAyB,KAAzB;EAKgF,CA3B9C,CA6BlC;;;EACMvM,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CADY,CAEZ;;MACA,KAAI,CAACQ,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;;MACA,KAAI,CAACnE,WAAL,CAAiBoE,IAAjB,CAAsB,CAACpG,CAAD,EAAIqG,CAAJ,KAAU,IAAIC,IAAJ,CAASD,CAAC,CAACE,QAAX,EAAqBC,OAArB,KAAiC,IAAIF,IAAJ,CAAStG,CAAC,CAACuG,QAAX,EAAqBC,OAArB,EAAjE;IAJY;EAKb;;EAEKC,oBAAoB,CAACC,QAAD,EAAiB;IAAA;;IAAA;MACzC;MACA,MAAI,CAACC,eAAL,GAAuB,IAAvB,CAFyC,CAGzC;;MACA,MAAI,CAACC,OAAL,CAAaH,oBAAb,CAAkC,MAAI,CAACT,MAAvC,EAA+CU,QAA/C,EAAyDvJ,IAAzD,CAA+D0J,cAAD,IAAmB;QAC/E,IAAIjG,QAAQ,GAAG8F,QAAQ,CAACI,KAAT,CAAe,GAAf,EAAoBC,GAApB,EAAf,CAD+E,CAE/E;;QACA,IAAIpG,QAAQ,GAAG,0CAA0CkG,cAAzD,CAH+E,CAI/E;;QACA,IAAI7G,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAR;QACAF,CAAC,CAACgH,YAAF,CAAe,MAAf,EAAuBrG,QAAvB;QACAX,CAAC,CAACgH,YAAF,CAAe,UAAf,EAA2BpG,QAA3B;QACAZ,CAAC,CAACiH,KAAF,CAAQC,OAAR,GAAkB,MAAlB;QACAjH,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;QACAA,CAAC,CAACa,KAAF;QACAZ,QAAQ,CAACE,IAAT,CAAcgH,WAAd,CAA0BnH,CAA1B,EAX+E,CAa/E;;QACA,MAAI,CAAC2G,eAAL,GAAuB,KAAvB;MACD,CAfD,EAeGS,KAfH,CAeUlL,KAAD,IAA+B;QACtC;QACA,IAAIA,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UACvB;UACA,MAAI,CAAC8J,yBAAL,CAA+BnO,WAA/B,CAA2C,2FAA3C,EAAwIlB,iHAAxI;QACD,CAHD,CAIA;QAJA,KAKK,IAAI4F,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UAC5B;UACA,MAAI,CAAC8J,yBAAL,CAA+BnO,WAA/B,CAA2C,gBAA3C,EAA6DlB,+GAA7D;QACD,CAHI,MAIA;UACH;UACA,MAAI,CAACqP,yBAAL,CAA+BnO,WAA/B,CAA2C,8CAA3C,EAA2FlB,+GAA3F;QACD,CAdqC,CAetC;;;QACA,MAAI,CAACqQ,eAAL,GAAuB,KAAvB;MACD,CAhCD;IAJyC;EAqC1C,CA1EiC,CA4ElC;;;EACMW,YAAY,CAACvH,IAAD,EAAiB;IAAA;;IAAA;MACjC;MACA,MAAI,CAAC4G,eAAL,GAAuB,IAAvB,CAFiC,CAIjC;;MACA,MAAI,CAACC,OAAL,CAAaU,YAAb,CAA0B,MAAI,CAACtB,MAA/B,EAAuCjG,IAAI,CAACxD,EAA5C,EAAgD,MAAI,CAACgL,kBAArD,EAAyEpK,IAAzE,CAA+E0J,cAAD,IAAmB;QAE/F;QACA,IAAIlG,QAAQ,GAAG,0CAA0CkG,cAAzD,CAH+F,CAI/F;;QACA,IAAI7G,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAR;QACAF,CAAC,CAACgH,YAAF,CAAe,MAAf,EAAuBrG,QAAvB;QACAX,CAAC,CAACgH,YAAF,CAAe,UAAf,EAA2BjH,IAAI,CAACyH,IAAhC;QACAxH,CAAC,CAACiH,KAAF,CAAQC,OAAR,GAAkB,MAAlB;QACAjH,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;QACAA,CAAC,CAACa,KAAF;QACAZ,QAAQ,CAACE,IAAT,CAAcgH,WAAd,CAA0BnH,CAA1B,EAX+F,CAa/F;;QACA,MAAI,CAAC2G,eAAL,GAAuB,KAAvB;MACD,CAfD,EAeGS,KAfH,CAeUlL,KAAD,IAAU;QACjB;QACA,IAAIA,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UACvB;UACA,MAAI,CAAC8J,yBAAL,CAA+BnO,WAA/B,CAA2C,2FAA3C,EAAwIlB,iHAAxI;QACD,CAHD,CAIA;QAJA,KAKK,IAAI4F,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UAC5B;UACA,MAAI,CAAC8J,yBAAL,CAA+BnO,WAA/B,CAA2C,gBAA3C,EAA6DlB,+GAA7D;QACD,CAHI,MAIA;UACH;UACA,MAAI,CAACqP,yBAAL,CAA+BnO,WAA/B,CAA2C,8CAA3C,EAA2FlB,+GAA3F;QACD,CAdgB,CAgBjB;;;QACA,MAAI,CAACqQ,eAAL,GAAuB,KAAvB;MACD,CAjCD;IALiC;EAuClC,CApHiC,CAsHlC;;;EACMc,mBAAmB,CAAC1H,IAAD,EAAoB;IAAA;;IAAA;MAC3C,MAAI,CAAC4G,eAAL,GAAuB,IAAvB,CAD2C,CAE3C;;MACA,IAAIhG,QAAQ,GAAG,iDAAgD,MAAI,CAACiF,cAAL,CAAoB0B,YAApB,CAAiCvH,IAAI,CAAC2H,SAAtC,EAAiD,MAAI,CAAC1B,MAAtD,EAA8DjG,IAAI,CAACxD,EAAnE,CAAhD,CAAf,CAH2C,CAK3C;;MACA,IAAIyD,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAR;MACAF,CAAC,CAACgH,YAAF,CAAe,MAAf,EAAuBrG,QAAvB;MACAX,CAAC,CAACgH,YAAF,CAAe,UAAf,EAA2BjH,IAAI,CAACyH,IAAhC;MACAxH,CAAC,CAACiH,KAAF,CAAQC,OAAR,GAAkB,MAAlB;MACAjH,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;MACAA,CAAC,CAACa,KAAF;MACAZ,QAAQ,CAACE,IAAT,CAAcgH,WAAd,CAA0BnH,CAA1B;MACA,MAAI,CAAC2G,eAAL,GAAuB,KAAvB;IAb2C;EAc5C;;EAEKgB,mBAAmB,CAACC,IAAD,EAAa;IAAA;;IAAA;MACpC,IAAIC,QAAQ,GAAGD,IAAI,CAACd,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAf;;MAEA,IAAIe,QAAQ,IAAI,MAAZ,IAAsBA,QAAQ,IAAI,KAAtC,EAA6C;QAC3C,MAAI,CAACpB,oBAAL,CAA0BmB,IAA1B;;QACA;MACD;;MAED,MAAI,CAACjB,eAAL,GAAuB,IAAvB;MACA,IAAI5G,IAAI,SAAS,MAAI,CAAC8F,eAAL,CAAqBiC,kBAArB,CAAwCF,IAAxC,CAAjB;;MACA,MAAMG,SAAS,GAAG,MAAI,CAACC,aAAL,CAAmBjI,IAAnB,CAAlB;;MACA,IAAIkI,OAAO,GAAG,MAAI,CAACpC,eAAL,CAAqBqC,gBAArB,CAAsCN,IAAtC,EAA4C,MAA5C,CAAd;;MACA,IAAIO,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACL,SAAD,CAAT,EAAsBE,OAAtB,EAA+B;QAAE1H,IAAI,EAAE;MAAR,CAA/B,CAAX;MACAgF,8CAAA,CAAiB4C,IAAjB;MACA,MAAI,CAACxB,eAAL,GAAuB,KAAvB;IAdoC;EAerC;;EAEDqB,aAAa,CAACM,OAAD,EAAQ;IACnB,MAAMC,UAAU,GAAG9O,MAAM,CAAC+O,IAAP,CAAYF,OAAZ,CAAnB;IACA,MAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAU,CAAC5L,MAA3B,CAApB;IACA,MAAMgM,SAAS,GAAG,IAAIC,UAAJ,CAAeH,WAAf,CAAlB;;IACA,KAAK,IAAI7D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2D,UAAU,CAAC5L,MAA/B,EAAuCiI,CAAC,EAAxC,EAA4C;MAC1C+D,SAAS,CAAC/D,CAAD,CAAT,GAAe2D,UAAU,CAACM,UAAX,CAAsBjE,CAAtB,CAAf;IACD;;IACD,MAAMvE,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACqI,SAAD,CAAT,EAAsB;MAAEpI,IAAI,EAAE;IAAR,CAAtB,CAAb;IACA,OAAOF,IAAP;EACD;;EAEDyI,UAAU,CAAC/I,IAAD,EAAmB;IAC3B,IAAGgJ,OAAO,CAAC,qCAAmChJ,IAAI,CAACyH,IAAxC,GAA6C,IAA9C,CAAV,EAA8D;MAC5D,KAAKwB,kBAAL,GAA0B,KAAKA,kBAAL,CAAwB1Q,MAAxB,CAA+B2Q,CAAC,IAAEA,CAAC,CAAC1M,EAAF,IAAQwD,IAAI,CAACxD,EAA/C,CAA1B;MACA,KAAKqJ,cAAL,CAAoBsD,qBAApB,CAA0C,KAAKlD,MAA/C,EAAsDjG,IAAI,CAACxD,EAA3D;IACD;EACF;;EAED4M,UAAU,CAAC5C,QAAD,EAAe;IAEvB,IAAIA,QAAQ,CAACC,OAAT,KAAqB,IAAIF,IAAJ,CAAS,mCAAT,EAA8CE,OAA9C,EAAzB,EAAkF;MAChF,OAAO,EAAP;IACD,CAFD,MAGK;MACH,OAAOD,QAAQ,EAAE6C,kBAAV,CAA6B,OAA7B,EAAsC;QAAEC,KAAK,EAAE,OAAT;QAAkBC,GAAG,EAAE,SAAvB;QAAkCC,IAAI,EAAE,SAAxC;QAAmDC,IAAI,EAAE,SAAzD;QAAoEC,MAAM,EAAE;MAA5E,CAAtC,CAAP;IACD;EAEF;;AAnLiC;;;mBAAvBhE,yBAAuB5N,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,uHAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,8EAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAvB4N;EAAuB7H;EAAAsH;IAAAlD;IAAAgH;IAAAzB;IAAAmC;IAAAC;IAAA/C;IAAAgD;EAAA;EAAA/L;EAAAC;EAAAC;EAAAC;IAAA;MClBpCnG,4DAAAA;MAEIA,wDAAAA;MAoBAA,wDAAAA;MAmBAA,wDAAAA;MAqBAA,wDAAAA;MAiBJA,0DAAAA;MAEAA,wDAAAA;;;;MA/EUA,uDAAAA;MAAAA,wDAAAA;MAoBAA,uDAAAA;MAAAA,wDAAAA;MAmBAA,uDAAAA;MAAAA,wDAAAA;MAqBAA,uDAAAA;MAAAA,wDAAAA;MAmBJA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;IElEF,4EAAyE;IAA3C,2SAAS,0EAAS,KAAC;IAAwB,uDAAmB;IAAA,4DAAS;;;IAA5B,0DAAmB;IAAnB,qFAAmB;;;;IAC5F,4EAAmF;IAAnB,4SAAS,yEAAQ,KAAC;IAAC,uDAAe;IAAA,4DAAS;;;IAAxB,0DAAe;IAAf,iFAAe;;ADR/F,MAAM,0BAA0B;IAQrC,cAAc;IACd,YAAoB,WAA2B;QAA3B,gBAAW,GAAX,WAAW,CAAgB;IAAI,CAAC;IAEpD,iBAAiB;IACjB,QAAQ;IACR,CAAC;IAED,iBAAiB;IACV,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,gBAAgB;IACT,MAAM;QACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB;IACV,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;;oGA5BU,0BAA0B;wHAA1B,0BAA0B;QCPvC,yEAA0B;QACE,uDAAW;QAAA,4DAAK;QACxC,4EAA2E;QAApB,kJAAS,aAAS,IAAC;QACtE,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QAK/C,yEAAwB;QACpB,uDACJ;QAAA,4DAAM;QAGN,yEAA0B;QACtB,4HAAqG;QACrG,8HAA2G;QAC/G,4DAAM;;QAfsB,0DAAW;QAAX,0EAAW;QAQnC,0DACJ;QADI,wFACJ;QAIa,0DAAmB;QAAnB,mFAAmB;QACL,0DAAe;QAAf,+EAAe;;;;;;;;;;;;;;;;;;;;;;;;;IEhB1C,yEAAqD;IAK1C,2RAEoC;IAAA,4DAAI;IAE/C,4EAAwD;IAA1B,oSAAS,gFAAe,KAAC;IAAC,iEAAM;IAAA,4DAAS;;ADDpE,MAAM,sBAAsB;IAIjC,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFhD,oBAAe,GAAY,KAAK,CAAC;IAEmB,CAAC;IAErD,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,eAAe,KAAK,MAAM,CAAC;IACpD,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;;4FAlBU,sBAAsB;oHAAtB,sBAAsB;QCRnC,kHAUM;;QAVuB,sFAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnD;AAEA;AACA;;;;;;;;;;;ICGQA,4DAAAA;IAAqEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAsB,CAAtB;IACjEA,uDAAAA;IACJA,0DAAAA;;;;;;IAEJA,4DAAAA;IACIA,uDAAAA;IAEAA,4DAAAA;IAAMA,oDAAAA;IAAYA,0DAAAA;;;;;;;;IAGlBA,4DAAAA;IAAwCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,8BAAT;IAA2B,CAA3B;IACxCA,4DAAAA;IAAIA,oDAAAA;IAAwBA,0DAAAA;;;;;IAAxBA,uDAAAA;IAAAA,gEAAAA;;;;;;IAFRA,4DAAAA;IACIA,wDAAAA;IAGJA,0DAAAA;;;;;IAH2BA,uDAAAA;IAAAA,wDAAAA;;;;ADJzB,MAAOoS,sBAAP,CAA6B;EAWjCzT,YAAoBsI,cAApB,EACUoL,cADV,EAEUvT,MAFV,EAEwB;IAFJ;IACV;IACA;IAXV,uBAA2B,KAA3B;IAEU,qBAAgB,IAAIuH,uDAAJ,EAAhB;IAGV,uBAA2B,KAA3B;EAM6B;;EAEvBnF,QAAQ;IAAA;;IAAA;MACZ,IAAIC,YAAY,CAACM,OAAb,CAAqB,YAArB,KAAsCN,YAAY,CAACM,OAAb,CAAqB,UAArB,CAA1C,EAA4E;QAC1E,KAAI,CAAC6Q,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CrR,YAAY,CAACM,OAAb,CAAqB,YAArB,CAA5C;MACD;;MAED,IAAI,KAAI,CAACgR,cAAT,EAAyB;QACvBR,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,OAAtC,CAAT,CAAwD/P,IAAxD,EACE;QACAsJ,mDAAG,CAAEvK,KAAD,IAAe;UACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;QACD,CAFE,CAFL,EAKE;QACA/R,sDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,IAAc,CAAtB,CANR,EAOE;QACAoN,4DAAY,CAAC,GAAD,CARd,EASE;QACAC,oEAAoB,EAVtB,CAWE;QAXF,EAYE7Q,SAZF,CAYasR,IAAD,IAAiB;UAC3B,KAAI,CAACC,eAAL,GAAuB,KAAvB;;UACA,KAAI,CAACC,YAAL,CAAkBF,IAAlB;QACD,CAfD;MAgBD,CAjBD,MAkBK;QACHX,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,OAAtC,CAAT,CAAwD/P,IAAxD,EACE;QACAsJ,mDAAG,CAAEvK,KAAD,IAAe;UACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;QACD,CAFE,CAFL,EAKE;QACA/R,sDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,IAAc,CAAtB,CANR,EAOE;QACAoN,4DAAY,CAAC,GAAD,CARd,EASE;QACAC,oEAAoB,EAVtB,CAWE;QAXF,EAYE7Q,SAZF,CAYasR,IAAD,IAAiB;UAC3B,KAAI,CAACC,eAAL,GAAuB,KAAvB;;UACA,KAAI,CAACE,gBAAL,CAAsBH,IAAtB;QACD,CAfD;QAiBAX,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,SAAtC,CAAT,CAA0D/P,IAA1D,EACE;QACAsJ,mDAAG,CAAEvK,KAAD,IAAe;UACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;QACD,CAFE,CAFL,EAKE/R,sDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,GAAa,CAArB,CALR,EAMExD,SANF,CAMasR,IAAD,IAAiB;UAC3B,KAAI,CAACI,WAAL;QACD,CARD;MASD;IAlDW;EAmDb;;EAEKF,YAAY,CAACG,IAAD,EAAa;IAAA;;IAAA;MAC7B,IAAIA,IAAI,KAAK,EAAb,EAAiB;QACf,OAAO,MAAI,CAACC,YAAL,GAAoB,EAA3B;MACD;;MACD,MAAI,CAACC,eAAL,GAAuB,IAAvB;MACA,MAAI,CAACD,YAAL,SAA0B,MAAI,CAACjM,cAAL,CAAoBmM,gBAApB,CAAqCH,IAArC,EAA2C,CAA3C,EAA8C,EAA9C,CAA1B;MACA,MAAI,CAACE,eAAL,GAAuB,KAAvB;IAN6B;EAO9B;;EAEKJ,gBAAgB,CAACxG,WAAD,EAAY;IAAA;;IAAA;MAChC,MAAI,CAACsG,eAAL,GAAuB,IAAvB;MAEA1R,YAAY,CAACO,OAAb,CAAqB,YAArB,EAAmC6K,WAAnC;;MACA,MAAI,CAACzN,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAEC,UAAU,EAAEhH;QAAd,CAFf;QAGEiH,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAOA,MAAI,CAACN,YAAL,GAAoB,EAApB;MACA,MAAI,CAACZ,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CjG,WAA5C;IAZgC;EAajC;;EAEKkH,UAAU,CAAClM,MAAD,EAAmB;IAAA;;IAAA;MACjC,MAAI,CAACsL,eAAL,GAAuB,IAAvB;MACA,MAAI,CAACP,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CjL,MAAM,CAACgF,WAAnD;;MAEA,MAAI,CAACzN,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAEI,QAAQ,EAAEnM,MAAM,CAAC7C;QAAnB,CAFf;QAGE8O,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAQA,MAAI,CAACN,YAAL,GAAoB,EAApB;;MACA,MAAI,CAACS,aAAL,CAAmBtK,IAAnB,CAAwB9B,MAAxB;;MACA,MAAI,CAAC+K,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CjL,MAAM,CAACgF,WAAnD;IAdiC;EAelC;;EAEKyG,WAAW;IAAA;;IAAA;MACf7R,YAAY,CAACC,UAAb,CAAwB,UAAxB;MACAD,YAAY,CAACC,UAAb,CAAwB,YAAxB;;MACA,MAAI,CAACtC,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAEC,UAAU,EAAE,IAAd;UAAoBG,QAAQ,EAAE;QAA9B,CAFf;QAGEF,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAOA,MAAI,CAACG,aAAL,CAAmBtK,IAAnB,CAAwB,IAAxB;;MACA,MAAI,CAAC6J,YAAL,GAAoB,EAApB;MACA,MAAI,CAACZ,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;IAZe;EAahB;;AA1HgC;;;mBAAtBJ,wBAAsBpS,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAAtBoS;EAAsBrM;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;MCZnCjN,4DAAAA,kBAAiC,CAAjC,EAAiC,OAAjC,EAAiC,CAAjC;MAC+BA,oDAAAA;MAAMA,0DAAAA;MAEjCA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,wDAAAA;MAGJA,0DAAAA;MACAA,wDAAAA;MAKAA,wDAAAA;MAKAA,0DAAAA;;;;;;MAdkGA,uDAAAA;MAAAA,wDAAAA;MAI5FA,uDAAAA;MAAAA,wDAAAA;MAKDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdT;AACA;;;;;;;;;;;;;;ICGYA,4DAAAA;IACIA,uDAAAA;IACJA,0DAAAA;;;;;;IACAA,4DAAAA;IACIA,uDAAAA;IACJA,0DAAAA;;;;IADsBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAWtBA,4DAAAA;IACIA,uDAAAA;IACJA,0DAAAA;;;;ADXN,MAAO6T,6BAAP,CAAoC;EAYxClV,YAAoB0T,cAApB,EAA4DzT,WAA5D,EAA8FE,MAA9F,EAA4G;IAAxF;IAAwC;IAAkC;IAT9F,eAA0B,IAAIkO,KAAJ,CAAmB,EAAnB,CAA1B;IACA,aAAgB,EAAhB;IAIS,wBAA4B,KAA5B;IACA,kBAAsB,KAAtB;EAGwG;;EAE3G9L,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC4S,YAAL,CAAkB,CAAlB;;MACA,KAAI,CAAC/B,KAAL,GAAa,KAAI,CAACgC,QAAL,CAAc,CAAd,CAAb;;MACA,KAAI,CAAC1B,cAAL,CAAoB2B,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP,EAAiB;UAC3D,IAAIA,MAAM,CAAC3F,GAAP,CAAW,iBAAX,KAAiC,IAAjC,IAAyC2F,MAAM,CAAC3F,GAAP,CAAW,cAAX,KAA8B,IAAvE,IAA+E2F,MAAM,CAAC3F,GAAP,CAAW,UAAX,KAA0B,IAA7G,EAAmH;YACjH,KAAI,CAAC4F,YAAL,GAAoB,IAApB;UACD,CAFD,MAEO;YACL,KAAI,CAACA,YAAL,GAAoB,KAApB;UACD;QACF,CAND;;QAAA;UAAA;QAAA;MAAA;;MAOA,KAAI,CAACC,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;IAVY;EAYb;;EAEDmG,YAAY,CAACO,KAAD,EAAM;IAChB,KAAKC,OAAL,GAAe,IAAItH,KAAJ,CAAmB,EAAnB,CAAf;IACA,KAAKsH,OAAL,CAAaD,KAAb,IAAsB,IAAtB;IACA,KAAKtC,KAAL,GAAa,KAAKgC,QAAL,CAAcM,KAAd,CAAb;IACA,KAAKH,YAAL,GAAoB,IAApB;EACD;;EAEDH,QAAQ,CAACM,KAAD,EAAM;IACZ,QAAQA,KAAR;MACE,KAAK,CAAL;QACE,OAAO,gBAAP;;MACF,KAAK,CAAL;QACE,OAAO,WAAP;;MACF,KAAK,CAAL;QACE,OAAO,QAAP;;MACF;QACE,OAAO,gBAAP;IARJ;EAUD;;EAEkB,IAAfE,eAAe;IACjB,MAAMC,UAAU,GAAG,KAAK1V,MAAL,CAAY6C,GAA/B;IACA,OAAO6S,UAAU,CAACC,QAAX,CAAoB,UAApB,CAAP;EACD;;AAnDuC;;;mBAA7BZ,+BAA6B7T,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAA7B6T;EAA6B9N;EAAAsH;IAAAqH;IAAAC;IAAAC;IAAAC;EAAA;EAAA7O;EAAAC;EAAAC;EAAAC;IAAA;MCX1CnG,4DAAAA,WAAK,CAAL,EAAK,IAAL;MACQA,oDAAAA;MAAOA,0DAAAA;MAEXA,4DAAAA,cAAkB,CAAlB,EAAkB,KAAlB,EAAkB,CAAlB;MAEQA,wDAAAA;MAGAA,wDAAAA;MAGAA,4DAAAA;MACIA,uDAAAA;MACJA,0DAAAA;MACAA,4DAAAA;MACIA,uDAAAA;MACJA,0DAAAA;MACAA,4DAAAA;MACIA,uDAAAA;MACJA,0DAAAA;MACAA,wDAAAA;MAGFA,0DAAAA;;;;MAlBQA,uDAAAA;MAAAA,wDAAAA;MAGeA,uDAAAA;MAAAA,wDAAAA;MAYAA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBjC;AAEA;AACA;;;;;;;;;;;ICIMA,4DAAAA;IAAqEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAsB,CAAtB;IACnEA,uDAAAA;IACFA,0DAAAA;;;;;;;;IAIAA,4DAAAA;IAA8CA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAT;IAA8B,CAA9B;IAC5CA,4DAAAA;IAAIA,oDAAAA;IAAmBA,0DAAAA;;;;;IAAnBA,uDAAAA;IAAAA,gEAAAA;;;;;;IAFRA,4DAAAA;IACEA,wDAAAA;IAGFA,0DAAAA;;;;;IAHqBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIrBA,4DAAAA;IACEA,uDAAAA;IAEAA,4DAAAA;IAAMA,oDAAAA;IAAYA,0DAAAA;;;;ADRlB,MAAO8U,4BAAP,CAAmC;EAUvCnW,YAAoBG,MAApB,EACUuT,cADV,EAES0C,oBAFT,EAEoD;IAFhC;IACV;IACD,iDAA2C,CAVpD;;IACA,+BAAmC,KAAnC;IACA,8BAAuC,EAAvC;IACA,mBAAuB,KAAvB;IAEU,4BAAuB,IAAI1O,uDAAJ,EAAvB;EAK+C;;EAEnDnF,QAAQ;IAAA;;IAAA;MACZ,IAAI8T,eAAe,GAAG,KAAI,CAAC3C,cAAL,CAAoBjE,QAApB,CAA6BkF,WAA7B,CAAyC,iBAAzC,KAA+DnS,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAArF;;MAEA,IAAIuT,eAAJ,EAAqB;QACnB7T,YAAY,CAACO,OAAb,CAAqB,iBAArB,EAAwCsT,eAAxC;QAEA,IAAI3S,OAAO,SAAS,KAAI,CAAC0S,oBAAL,CAA0BE,oBAA1B,CAA+CD,eAA/C,CAApB;QACA,KAAI,CAAC1C,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CnQ,OAAO,CAACkK,WAApD;MACD;;MAED0F,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,OAAtC,CAAT,CAAwD/P,IAAxD,EACE;MACAsJ,mDAAG,CAAEvK,KAAD,IAAe;QACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;MACD,CAFE,CAFL,EAKE;MACA/R,sDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,IAAc,CAAtB,CANR,EAOE;MACAoN,4DAAY,CAAC,EAAD,CARd,EASE;MACAC,oEAAoB,EAVtB,CAWE;MAXF,EAYE7Q,SAZF,CAYasR,IAAD,IAAiB;QAC3B,KAAI,CAACsC,WAAL,GAAmB,KAAnB;;QACA,KAAI,CAACC,OAAL,CAAavC,IAAb;MACD,CAfD;MAiBAX,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,SAAtC,CAAT,CAA0D/P,IAA1D,EACE;MACAsJ,mDAAG,CAAEvK,KAAD,IAAe;QACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;MACD,CAFE,CAFL,EAKE/R,sDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,GAAa,CAArB,CALR,EAMExD,SANF,CAMasR,IAAD,IAAiB;QAC3B,KAAI,CAACI,WAAL;MACD,CARD;IA3BY;EAoCb;;EAEKmC,OAAO,CAAClC,IAAD,EAAa;IAAA;;IAAA;MACxB,IAAIA,IAAI,KAAK,EAAb,EAAiB;QACf,OAAO,MAAI,CAACmC,sBAAL,GAA8B,EAArC;MACD;;MACD,MAAI,CAACC,uBAAL,GAA+B,IAA/B;MACA,MAAI,CAACD,sBAAL,SAAoC,MAAI,CAACL,oBAAL,CAA0BO,uBAA1B,CAAkDrC,IAAI,CAACsC,WAAL,EAAlD,EAAsE,CAAtE,EAAyE,EAAzE,CAApC;MACA,MAAI,CAACF,uBAAL,GAA+B,KAA/B;IANwB;EAOzB;;EAEKG,QAAQ,CAACC,IAAD,EAAa;IAAA;;IAAA;MACzB,MAAI,CAACP,WAAL,GAAmB,IAAnB;;MAEA,MAAI,CAACpW,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAE0B,eAAe,EAAES;QAAnB,CAFf;QAGEjC,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAQA,MAAI,CAAC4B,sBAAL,GAA8B,EAA9B;MAEA,IAAI/S,OAAO,SAAU,MAAI,CAAC0S,oBAAL,CAA0BE,oBAA1B,CAA+CQ,IAA/C,CAArB;MACAtU,YAAY,CAACO,OAAb,CAAqB,iBAArB,EAAwCW,OAAO,CAACqC,EAAhD;MAEA,MAAI,CAAC4N,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CnQ,OAAO,CAACkK,WAApD;IAhByB;EAiB1B;;EAEKmJ,iBAAiB,CAACC,aAAD,EAA0B;IAAA;;IAAA;MAC/C,MAAI,CAACT,WAAL,GAAmB,IAAnB;MACA,MAAI,CAAC5C,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CmD,aAAa,CAACpJ,WAA1D;;MAEA,MAAI,CAACzN,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAE0B,eAAe,EAAEW,aAAa,CAACjR;QAAjC,CAFf;QAGE8O,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAQA,MAAI,CAAC4B,sBAAL,GAA8B,EAA9B;;MACA,MAAI,CAACQ,oBAAL,CAA0BvM,IAA1B,CAA+BsM,aAA/B;;MACA,MAAI,CAACrD,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CmD,aAAa,CAACpJ,WAA1D;IAd+C;EAehD;;EAEKyG,WAAW;IAAA;;IAAA;MACf7R,YAAY,CAACC,UAAb,CAAwB,iBAAxB;;MACA,MAAI,CAACtC,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAE0B,eAAe,EAAE;QAAnB,CAFf;QAGExB,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAQA,MAAI,CAAC4B,sBAAL,GAA8B,EAA9B;MACA,MAAI,CAAC9C,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;IAXe;EAYhB;;AA7GsC;;;mBAA5BsC,8BAA4B9U,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,2GAAAA;AAAA;;;QAA5B8U;EAA4B/O;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;MCZzCjN,4DAAAA,kBAAiC,CAAjC,EAAiC,OAAjC,EAAiC,CAAjC;MACoCA,oDAAAA;MAAcA,0DAAAA;MAChDA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C;MAIIA,uDAAAA;MACAA,wDAAAA;MAGFA,0DAAAA;MAEAA,wDAAAA;MAKAA,wDAAAA;MAKFA,0DAAAA;;;;;;MAfkGA,uDAAAA;MAAAA,wDAAAA;MAK3FA,uDAAAA;MAAAA,wDAAAA;MAKCA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACjB4F;AAGnD;;;;;;;;ICE3C,4EAA2D;IACvD,uDACJ;IAAA,4DAAS;;;;IAFiC,4EAAgB;IACtD,0DACJ;IADI,wHACJ;;ADGD,MAAM,sBAAsB;IAUjC,YAAoB,MAAc,EAAU,cAA8B,EAAS,aAA6B;QAA5F,WAAM,GAAN,MAAM,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAS,kBAAa,GAAb,aAAa,CAAgB;QARhH,eAAU,GAAgB,CAAC,IAAI,EAAE,sEAAkB,EAAE,oEAAgB,EAAE,mEAAe,CAAC,CAAC;QACxF,oBAAe,GAAe,IAAI,CAAC,UAAU,CAAC;QAC9C,kBAAa,GAAc,IAAI,CAAC;QAEvB,oBAAe,GAAW,EAAE,CAAC;QAC7B,eAAU,GAAY,KAAK,CAAC;QAE3B,iBAAY,GAAG,IAAI,uDAAY,EAAU,CAAC;IACgE,CAAC;IAErH,QAAQ;QACN,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,YAAY,IAAI,MAAM,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAC,6BAA6B;SAC3F;IACH,CAAC;IAED,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,EAAE,EACF;YACE,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG;YAC9B,mBAAmB,EAAE,OAAO;SAC7B,CAAC,CAAC;QACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,2CAA2C;IAC7C,CAAC;;4FAjCU,sBAAsB;oHAAtB,sBAAsB;;;;;;QCVnC,6EAAiC;QACF,qEAAU;QAAA,4DAAQ;QAC7C,yEAA6C;QACwB,kMAA2B,4GAC3E,uBAAmB,IADwD;QAE5F,wHAES;QACX,4DAAS;;QAL0D,0DAA2B;QAA3B,sFAA2B;QAEjE,0DAAa;QAAb,mFAAa;;;;;;;;;;;;;;;;;;;;;;;;;ACLhD;AAKA;;;;;;;;;;ICDYA,4DAAAA;IACIA,oDAAAA;IACJA,0DAAAA;;;;;;IAFmCA,wDAAAA;IAC/BA,uDAAAA;IAAAA,gEAAAA;;;;ADOV,MAAO8V,qBAAP,CAA4B;EAShCnX,YAAoBG,MAApB,EAA4CuT,cAA5C,EAAmF0D,aAAnF,EAAgH;IAA5F;IAAwB;IAAuC;IARnF,uBAA2B,KAA3B;IACA,eAA0B,CAACF,oEAAD,EAAmBA,0EAAnB,EAA2CA,yEAA3C,EAAiEA,sEAAjE,EAAoF,IAApF,CAA1B;IACA,uBAAgC,KAAKO,OAArC;IACA,gBAAuB,IAAvB;IACS,uBAA0B,EAA1B;IACA,kBAAsB,KAAtB;IAEC,oBAAe,IAAI/P,uDAAJ,EAAf;EAC2G;;EAE/GnF,QAAQ;IAAA;;IAAA;MACZ,IAAImV,aAAa,GAAGlV,YAAY,CAACM,OAAb,CAAqB,QAArB,CAApB;;MACA,IAAG4U,aAAa,IAAI,MAApB,EAA2B;QACzB,KAAI,CAACC,QAAL,GAAgB,IAAhB;MACD,CAFD,MAEK;QACH,KAAI,CAACA,QAAL,GAAgBC,QAAQ,CAACpV,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAD,CAAxB;MACD;IANW;EAQb;;EACD+U,YAAY,CAACjV,KAAD,EAAM;IAChB,KAAKzC,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;MACE4T,UAAU,EAAE,KAAKhB,cADnB;MAEEiB,WAAW,EAAE;QAAEtP,MAAM,EAAEzC;MAAV,CAFf;MAGEiS,mBAAmB,EAAE,OAHvB,CAGgC;;IAHhC,CAFF;IAOA,KAAK8C,QAAL,GAAgB/U,KAAhB;IACA,KAAKkV,eAAL,GAAuB,KAAKL,OAA5B;IACAjV,YAAY,CAACO,OAAb,CAAqB,QAArB,EAA8BH,KAA9B;EAED;;AAhC+B;;;mBAArBuU,uBAAqB9V,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA;AAAA;;;QAArB8V;EAAqB/P;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;;MCZlCjN,4DAAAA,kBAAiC,CAAjC,EAAiC,OAAjC,EAAiC,CAAjC;MACgCA,oDAAAA;MAAMA,0DAAAA;MAClCA,4DAAAA,cAA6C,CAA7C,EAA6C,QAA7C,EAA6C,CAA7C;MACyEA,wDAAAA;QAAA;MAAA,GAAsB,eAAtB,EAAsB;QAAA,OAAkBwN,wBAAlB;MAAsC,CAA5D;MACjExN,wDAAAA;MAGJA,0DAAAA;;;;MAJqEA,uDAAAA;MAAAA,wDAAAA;MAC1CA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnC;AACA;AAGA;;;;;;;;;;;ICGYA,4DAAAA;IAAqEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAsB,CAAtB;IACjEA,uDAAAA;IACJA,0DAAAA;;;;;;;;IAIAA,4DAAAA,eAAwE,CAAxE,EAAwE,MAAxE,EAAwE,EAAxE;IAEQA,oDAAAA;IACJA,0DAAAA;IACAA,4DAAAA;IAAMA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAT;IAAuB,CAAvB;IACFA,uDAAAA;IACJA,0DAAAA;;;;;;IAJIA,uDAAAA;IAAAA,gEAAAA;IAGSA,uDAAAA;IAAAA,wDAAAA;;;;;;IAKrBA,4DAAAA;IACIA,uDAAAA;IAEAA,4DAAAA;IAAMA,oDAAAA;IAAYA,0DAAAA;;;;ADfxB,MAAO4W,kBAAP,CAAyB;EAe7BjY,YAAmBkY,cAAnB,EAAiD;IAA9B;IAdnB,qBAAyB,KAAzB;IACA,oBAAgC,EAAhC;IACA,oBAAwB,KAAxB;IACA,oBAAyB,EAAzB;IAKS,mBAAkC,IAAIF,4CAAJ,EAAlC;IACC,oCAA+B,IAAItQ,uDAAJ,EAA/B;IAGV,qBAAgBoH,8EAAhB;EAEsD;;EAEhDvM,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACoR,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;MACA,KAAI,CAACsE,uBAAL,GAA+B,KAAI,CAACC,WAAL,CAAiBzV,SAAjB,CAA4B0V,IAAD,IAAiB;QAAG,KAAI,CAACC,MAAL,CAAYD,IAAZ;MAAoB,CAAnE,CAA/B;IAFY;EAGb;;EAEKE,SAAS;IAAA;;IAAA;MACb,MAAI,CAACC,YAAL,GAAoB,KAApB;MACA,MAAI,CAACC,aAAL,GAAqB,IAArB;;MAEA,IAAI,MAAI,CAACC,YAAL,CAAkBvS,MAAlB,IAA4B,CAAhC,EAAmC;QACjC,MAAI,CAACwS,YAAL,GAAoB,EAApB;;QACA,MAAI,CAACC,4BAAL,CAAkClO,IAAlC,CAAuC,MAAI,CAACwN,cAAL,CAAoBW,QAA3D;;QACA,MAAI,CAACJ,aAAL,GAAqB,KAArB;QACA;MACD;;MAED,MAAMK,gBAAgB,GAAG,MAAI,CAACC,mBAAL,EAAzB;;MACA,MAAI,CAACH,4BAAL,CAAkClO,IAAlC,CACEoO,gBAAgB,CAAClJ,IAAjB,CAAsB,CAACpG,CAAD,EAAIqG,CAAJ,KAAUA,CAAC,CAACmJ,WAAF,CAAchJ,OAAd,KAA0BxG,CAAC,CAACwP,WAAF,CAAchJ,OAAd,EAA1D,CADF;;MAGA,MAAI,CAACyI,aAAL,GAAqB,KAArB;IAfa;EAgBd;;EAEKpE,WAAW;IAAA;;IAAA;MACf,MAAI,CAACsE,YAAL,GAAoB,EAApB;MACA,MAAI,CAACD,YAAL,GAAoB,EAApB;MACA,MAAI,CAAC/E,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;;MACA,MAAI,CAAC0E,SAAL;IAJe;EAKhB;;EAEDtR,WAAW;IACT,KAAKkR,uBAAL,CAA6Bc,WAA7B;EACD,CAjD4B,CAmD7B;;;EACAF,mBAAmB;IACjB,KAAKb,cAAL,CAAoBgB,uBAApB,GAA8C,KAAKR,YAAnD;IACA,OAAO,KAAKR,cAAL,CAAoBW,QAApB,CAA6B/W,MAA7B,CAAoCqX,OAAO,IAChD,KAAKT,YAAL,CAAkBU,KAAlB,CAAwBC,GAAG,IACzBF,OAAO,CAACd,IAAR,CAAaiB,IAAb,CAAkBC,CAAC,IAAIA,CAAC,CAACC,OAAF,CAAU5C,WAAV,GAAwB6C,UAAxB,CAAmCJ,GAAG,CAACzC,WAAJ,EAAnC,CAAvB,CADF,CADK,CAAP;EAKD,CA3D4B,CA6D7B;;;EACA0B,MAAM,CAACD,IAAD,EAAc;IAClB,IAAImB,OAAJ;;IAEA,IAAInB,IAAJ,EAAU;MACRmB,OAAO,GAAGnB,IAAV;IACD,CAFD,MAGK;MACHmB,OAAO,GAAG,KAAK7F,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,CAA0C6F,IAA1C,EAAV;IACD;;IAED,IAAIF,OAAO,IAAI,CAAC,KAAKd,YAAL,CAAkB5C,QAAlB,CAA2B0D,OAA3B,CAAhB,EAAqD;MACnD,KAAKd,YAAL,CAAkBxM,IAAlB,CAAuBsN,OAAvB;MACA,KAAK7F,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;MACA,KAAK0E,SAAL;IACD;EACF,CA7E4B,CA+E7B;;;EACAoB,SAAS,CAACN,GAAD,EAAY;IACnB,KAAKX,YAAL,GAAoB,KAAKA,YAAL,CAAkB5W,MAAlB,CAAyB8X,CAAC,IAAIA,CAAC,KAAKP,GAApC,CAApB;IACA,KAAKd,SAAL;EACD;;AAnF4B;;;mBAAlBN,oBAAkB5W,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAAlB4W;EAAkB7Q;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;;MCX/BjN,4DAAAA,kBAAiC,CAAjC,EAAiC,OAAjC,EAAiC,CAAjC;MACwDA,oDAAAA;MAAUA,0DAAAA;MAC9DA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C,EAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C,EAA6C,CAA7C;MAGkGA,wDAAAA;QAAA,OAAiBwN,YAAjB;MAAyB,CAAzB;MAA1FxN,0DAAAA;MAEAA,wDAAAA;MAGJA,0DAAAA;MAEAA,4DAAAA;MACIA,wDAAAA;MAQJA,0DAAAA;MAEAA,wDAAAA;MAKJA,0DAAAA;;;;;;MArBsGA,uDAAAA;MAAAA,wDAAAA;MAMvCA,uDAAAA;MAAAA,wDAAAA;MAUrDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBd;AAGA;AACA;AACA;;;;;;;;;;ICNEA,4DAAAA;IAAkDA,oDAAAA;IAAUA,0DAAAA;;;;;;;;IAKxDA,4DAAAA;IAAqEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAsB,CAAtB;IACnEA,uDAAAA;IACFA,0DAAAA;;;;;;;;IAGAA,4DAAAA;IAAuCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,+BAAT;IAA4B,CAA5B;IACrCA,4DAAAA;IAAIA,oDAAAA;IAA0BA,0DAAAA;;;;;IAA1BA,uDAAAA;IAAAA,gEAAAA;;;;;;IAFRA,4DAAAA;IACEA,wDAAAA;IAGFA,0DAAAA;;;;;IAHuBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIvBA,4DAAAA;IACEA,uDAAAA;IAEAA,4DAAAA;IAAMA,oDAAAA;IAAYA,0DAAAA;;;;ADHlB,MAAO0Y,oBAAP,CAA2B;EAc/B/Z,YAAoBG,MAApB,EAA4CuT,cAA5C,EAAmFzT,WAAnF,EAA2G;IAAvF;IAAwB;IAAuC,+BAAwB,CAb3G;;IACA,sBAA0B,KAA1B;IACA,qBAA2B,EAA3B;IACA,qBAAyB,KAAzB;IACA,aAAmB,EAAnB;IACA,kBAAsB,KAAtB;IAGS,uBAA0B,EAA1B;IACA,kBAAsB,KAAtB;IAEC,oBAAe,IAAIyH,uDAAJ,EAAf;EAEsG;;EAE1GnF,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACyX,UAAL,GAAkB,IAAIF,qDAAJ,CAAc;QAAEG,MAAM,EAAE,IAAIJ,uDAAJ;MAAV,CAAd,CAAlB;MAEA,IAAIK,cAAc,GAAG1X,YAAY,CAACM,OAAb,CAAqB,cAArB,CAArB;;MACA,IAAIoX,cAAJ,EAAoB;QAClB,IAAI7Z,IAAI,SAAS,KAAI,CAACJ,WAAL,CAAiBka,WAAjB,CAA6BD,cAA7B,CAAjB;QACA,KAAI,CAACvG,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CxT,IAAI,CAAC+Z,cAAjD;MACD;;MAED,KAAI,CAACC,UAAL,SAAwB,KAAI,CAACpa,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAAxB;;MAEA,IAAI,KAAI,CAACqL,UAAT,EAAqB;QACnB,IAAI,KAAI,CAAChE,eAAT,EAA0B;UACxB,KAAI,CAACiE,KAAL,SAAmB,KAAI,CAACra,WAAL,CAAiBsa,4BAAjB,CAA8C,KAAI,CAAClE,eAAnD,CAAnB;QACD;MACF,CAJD,MAKK;QACH,KAAI,CAACiE,KAAL,SAAmB,KAAI,CAACra,WAAL,CAAiBua,qCAAjB,EAAnB;MACD;;MAGDlH,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,OAAtC,CAAT,CAAwD/P,IAAxD,EACE;MACAsJ,yCAAG,CAAEvK,KAAD,IAAe;QACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;MACD,CAFE,CAFL,EAKE;MACA/R,4CAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,IAAc,CAAtB,CANR,EAOE;MACAoN,kDAAY,CAAC,EAAD,CARd,EASE;MACAC,0DAAoB,EAVtB,CAWE;MAXF,EAYE7Q,SAZF,CAYasR,IAAD,IAAiB;QAC3B,KAAI,CAACwG,aAAL,GAAqB,KAArB;;QACA,KAAI,CAACC,SAAL,CAAezG,IAAf;MACD,CAfD;MAiBAX,+CAAS,CAAC,KAAI,CAACK,gBAAL,CAAsBC,aAAvB,EAAsC,SAAtC,CAAT,CAA0D/P,IAA1D,EACE;MACAsJ,yCAAG,CAAEvK,KAAD,IAAe;QACjB,OAAOA,KAAK,CAACmR,MAAN,CAAaF,KAApB;MACD,CAFE,CAFL,EAKE/R,4CAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,GAAa,CAArB,CALR,EAMExD,SANF,CAMasR,IAAD,IAAiB;QAC3B,KAAI,CAACI,WAAL;MACD,CARD;IAtCY;EA+Cb;;EAEKqG,SAAS,CAACpG,IAAD,EAAa;IAAA;;IAAA;MAC1B,IAAIA,IAAI,KAAK,EAAb,EAAiB;QACf,MAAI,CAACqG,aAAL,GAAqB,EAArB;MACD;;MAED,MAAI,CAACC,cAAL,GAAsB,IAAtB;;MAEA,IAAI,MAAI,CAACP,UAAL,IAAmB,CAAC,MAAI,CAAChE,eAA7B,EAA8C;QAC5C,MAAI,CAACsE,aAAL,SAA2B,MAAI,CAAC1a,WAAL,CAAiB4a,gBAAjB,CAAkCvG,IAAlC,CAA3B;MACD,CAFD,MAGK;QACH,MAAI,CAACqG,aAAL,GAAqB,MAAI,CAACL,KAAL,CAAWxY,MAAX,CAAmBgZ,GAAD,IACrCA,GAAG,CAACV,cAAJ,CAAmBxD,WAAnB,GAAiCd,QAAjC,CAA0CxB,IAAI,CAACsC,WAAL,EAA1C,CADmB,CAArB;MAGD;;MAED,MAAI,CAACgE,cAAL,GAAsB,KAAtB;IAhB0B;EAiB3B;;EAEKG,UAAU,CAAChV,EAAD,EAAW;IAAA;;IAAA;MACzB,IAAI1F,IAAI,GAAY,IAApB;MACAA,IAAI,GAAG,MAAI,CAACsa,aAAL,CAAmBK,IAAnB,CAAwBvI,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQA,EAArC,CAAP,CAFyB,CAIzB;MACA;MACA;MACA;MACA;MACA;;MAEA,MAAI,CAAC4N,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4CxT,IAAI,CAAC+Z,cAAjD;MACA5X,YAAY,CAACO,OAAb,CAAqB,cAArB,EAAqC1C,IAAI,CAAC0F,EAA1C;;MAEA,MAAI,CAACkV,aAAL,CAAmBlV,EAAnB,EAAuB1F,IAAvB;;MACA,MAAI,CAACsa,aAAL,GAAqB,EAArB;IAfyB;EAgB1B;;EAEKtG,WAAW;IAAA;;IAAA;MACf,MAAI,CAACsG,aAAL,GAAqB,EAArB;MACAnY,YAAY,CAACC,UAAb,CAAwB,cAAxB;;MAEA,MAAI,CAACtC,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAEuG,YAAY,EAAE;QAAhB,CAFf;QAGErG,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAQA,MAAI,CAAC8F,aAAL,GAAqB,EAArB;MACA,MAAI,CAAChH,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;IAbe;EAchB;;EAEDoH,aAAa,CAAClV,EAAD,EAAa1F,IAAb,EAA0B;IAErC,IAAI,KAAK8a,UAAT,EAAqB;MACnB,KAAKhb,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,KAAKhB,cADnB;QAEEiB,WAAW,EAAE;UAAEuG,YAAY,EAAEnV;QAAhB,CAFf;QAGE8O,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;IAOD,CARD,MAQO;MACL,KAAKqG,YAAL,CAAkBxQ,IAAlB,CAAuB;QAAE3E,EAAF;QAAM1F;MAAN,CAAvB;IACD;EACF;;AAnI8B;;;mBAApB0Z,sBAAoB1Y,+DAAAA,CAAAA,oDAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAApB0Y;EAAoB3S;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;;MCfjCjN,4DAAAA;MACEA,wDAAAA;MACAA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C;MAGIA,uDAAAA;MACAA,wDAAAA;MAGFA,0DAAAA;MACAA,wDAAAA;MAKAA,wDAAAA;MAKFA,0DAAAA;;;;;;MAnBQA,uDAAAA;MAAAA,wDAAAA;MAGmBA,uDAAAA;MAAAA,wDAAAA;MAEuEA,uDAAAA;MAAAA,wDAAAA;MAI3FA,uDAAAA;MAAAA,wDAAAA;MAKCA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfV;AAEA;AACA;;;;;;;;;;;;ICSIA,4DAAAA;IAAqEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAsB,CAAtB;IACjEA,uDAAAA;IACFA,0DAAAA;;;;;;;;;;;;;ADJA,MAAOia,mBAAP,CAA0B;EAI9Btb,YAAoBG,MAApB,EACUuT,cADV,EACwC;IADpB;IACV;EAAoC;;EAE9CnR,QAAQ;IACN,IAAIgZ,UAAU,GAAG/Y,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAjB;;IACA,IAAGyY,UAAU,IAAI,IAAjB,EAAsB;MACpB,KAAKC,SAAL,GAAiBH,gEAAS,CAACE,UAAU,GAAC,QAAZ,CAA1B;IACD,CAFD,MAEK;MACH,KAAKC,SAAL,GAAiB,IAAjB;IACD;EAEF;;EACKnH,WAAW;IAAA;;IAAA;MACf7R,YAAY,CAACC,UAAb,CAAwB,SAAxB;;MACA,KAAI,CAACtC,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;QACE4T,UAAU,EAAE,KAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAE8G,OAAO,EAAE;QAAX,CAFf;QAGE5G,mBAAmB,EAAE,OAHvB,CAGgC;;MAHhC,CAFF;;MAOA,KAAI,CAAClB,gBAAL,CAAsBC,aAAtB,CAAoCC,KAApC,GAA4C,EAA5C;MACA,KAAI,CAAC2H,SAAL,GAAiB,IAAjB;IAVe;EAWhB;;EACDE,UAAU,CAAC9Y,KAAD,EAAW;IACrB,IAAImQ,IAAI,GAAGnQ,KAAK,CAAC+Y,WAAN,EAAX;IACAnZ,YAAY,CAACO,OAAb,CAAqB,SAArB,EAA+BgQ,IAAI,CAAC6I,QAAL,EAA/B;IACA,KAAKzb,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;MACE4T,UAAU,EAAE,KAAKhB,cADnB;MAEEiB,WAAW,EAAE;QAAE8G,OAAO,EAAE1I;MAAX,CAFf;MAGE8B,mBAAmB,EAAE,OAHvB,CAGgC;;IAHhC,CAFF;EAQC;;AAvC6B;;;mBAAnByG,qBAAmBja,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA;AAAA;;;QAAnBia;EAAmBlU;EAAAkH;IAAA;;;;;;;;;;;;;;;MCThCjN,4DAAAA,kBAAiC,CAAjC,EAAiC,OAAjC,EAAiC,CAAjC;MACwBA,oDAAAA;MAAQA,0DAAAA;MAC5BA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C,EAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C,EAA6C,CAA7C;MAGIA,wDAAAA;QAAA,OAAiBwN,sBAAjB;MAAmC,CAAnC,EAAoC,eAApC,EAAoC;QAAA;MAAA,CAApC;MADAxN,0DAAAA;MAOJA,wDAAAA;MAGAA,0DAAAA;;;;;;MARIA,uDAAAA;MAAAA,wDAAAA,2BAAuB,UAAvB,EAAuBA,6DAAAA,QAAvB;MAK0FA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;ACVxC;;;;AAQnD,MAAM,eAAe;IAE1B,YAAoB,YAAsB,EAAS,eAAgC;QAA/D,iBAAY,GAAZ,YAAY,CAAU;QAAS,oBAAe,GAAf,eAAe,CAAiB;IAAI,CAAC;IAExF,QAAQ;IACR,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,KAAa;QACnC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,GAAG,GAAG,oGAAoG,CAAC;SAC5G;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YAC3B,GAAG,GAAG,gHAAgH,CAAC;SACxH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kEAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QACrC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3C,CAAC;;8EAjBU,eAAe;6GAAf,eAAe;QCV5B,yEAAQ;QACW,kIAAS,cAAU,SAAS,EAAE,gBAAgB,CAAC,IAAC;QAAC,yEAAc;QAAA,4DAAI;QAClF,oEAAG;QAAY,kIAAS,cAAU,OAAO,EAAE,oBAAoB,CAAC,IAAC;QAAC,6EAAkB;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACD5F;AACA;AACA;;;AASM,MAAO2a,eAAP,CAAsB;EAO1Bhc,YAAmBC,WAAnB,EAA4C;IAAzB;IALnB,cAAS4b,uEAAT;IACA,kBAAaC,2EAAb;IACA,cAASC,uEAAT;EAGiD;;EAE3CxZ,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC0Z,QAAL,SAAsB,KAAI,CAAChc,WAAL,CAAiBic,kBAAjB,EAAtB;IADY;EAEb;;AAXyB;;;mBAAfF,iBAAe3a,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAf2a;EAAe5U;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCZ5BnG,4DAAAA,iBAAgC,CAAhC,EAAgC,KAAhC,EAAgC,CAAhC,EAAgC,CAAhC,EAAgC,IAAhC;MAEQA,oDAAAA;MAAKA,4DAAAA;MAAOA,oDAAAA;MAAYA,0DAAAA;MAE9BA,4DAAAA,cAAyB,CAAzB,EAAyB,QAAzB,EAAyB,CAAzB;MAcUA,wDAAAA;QAAA,OAASwN,wBAAT;MAA6B,CAA7B;MAENxN,4DAAAA;MAAMA,oDAAAA;MAAOA,0DAAAA;;;;MAlBCA,uDAAAA;MAAAA,gEAAAA;;;;;;;;;;;;;;;;;;;;;ACF2D;;;;;ICOvE,4EAAuF;IAA3C,oSAAS,0EAAS,KAAC;IAAwB,uDAAmB;IAAA,4DAAS;;;IAA5B,0DAAmB;IAAnB,qFAAmB;;;;IAC1G,4EAAwF;IAAhD,oSAAS,yEAAQ,KAAC;IAA8B,uDAAe;IAAA,4DAAS;;;IAAxB,0DAAe;IAAf,iFAAe;;;;IAG3G,4EAAkH;IAAtF,oSAAS,wEAAO,KAAC;IACzC,0EAAyB;IAAA,iEAAO;IAAA,4DAAO;;ADLxC,MAAM,mBAAmB;IAe9B,cAAc;IACd;QARS,gBAAW,GAAY,KAAK,CAAC;QAEtC,oBAAoB;QACV,mBAAc,GAAG,IAAI,uDAAY,EAAE,CAAC;QACpC,kBAAa,GAAG,IAAI,uDAAY,EAAE,CAAC;QACnC,iBAAY,GAAG,IAAI,uDAAY,EAAE,CAAC;IAG5B,CAAC;IAEjB,gBAAgB;IAChB,QAAQ;IACR,CAAC;IAED,iBAAiB;IACjB,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB;IAChB,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,eAAe;IACf,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;;sFAnCU,mBAAmB;iHAAnB,mBAAmB;QCPhC,yEAAkF;QAE/C,uDAAW;QAAA,4DAAK;QAE/C,oEAAG;QAAA,uDAAa;QAAA,4DAAI;QAEpB,uEAAuB;QACnB,qHAAmH;QACnH,qHAAgH;QACpH,4DAAI;QAEJ,qHAES;QAEb,4DAAM;;QAfD,mIAA+D;QAEjC,0DAAW;QAAX,0EAAW;QAEvC,0DAAa;QAAb,4EAAa;QAGW,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAe;QAAf,+EAAe;QAGjC,0DAAiB;QAAjB,iFAAiB;;;;;;;;;;;;;;;;;;;;;;ACPM;;;;;;;;ICHpC,sEAAyB;IAEO,0EAAe;IAAA,4DAAS;IACpD,4EAAsD;IAAlB,iSAAS,wEAAO,KAAC;IACnD,0EAAyB;IAAA,iEAAO;IAAA,4DAAO;IAG3C,yEAAwB;IACf,gFAAqB;IAAA,4DAAQ;IACpC,4EAAyF;IAA/D,uTAAa,wFAAqB,IAAP;IAArD,4DAAyF;IAE3F,0EAA0B;IAC+B,kSAAS,4EAAW,KAAC;IAAC,2EAAe;IAAA,4DAAS;IACrG,6EAAkE;IAApB,kSAAS,0EAAS,KAAC;IAAC,gEAAI;IAAA,4DAAS;;;IAJrD,2DAA2B;IAA3B,yFAA2B;;;;IASzD,sEAAwB;IAEQ,0EAAe;IAAA,4DAAS;IACpD,4EAAsD;IAAlB,iSAAS,wEAAO,KAAC;IACnD,0EAAyB;IAAA,iEAAO;IAAA,4DAAO;IAG3C,yEAAwB;IACF,mEAAQ;IAAA,4DAAQ;IACpC,6EAAwF;IAArE,uTAAa,yFAAsB,IAAP;IAA/C,4DAAwF;IAExF,6EAAoB;IAAA,kEAAM;IAAA,4DAAQ;IAClC,gFAA8F;IAAxE,2TAAa,2FAAuB,IAAP;IAA2C,4DAAW;IAE3G,0EAA0B;IAC+B,mSAAS,+EAAa,KAAC;IAAC,2EAAe;IAAA,4DAAS;IACvG,6EAAoE;IAAtB,mSAAS,6EAAW,KAAC;IAAC,gEAAI;IAAA,4DAAS;;;IAP9D,2DAA4B;IAA5B,0FAA4B;IAGzB,0DAA6B;IAA7B,2FAA6B;;ADnBhD,MAAM,mBAAmB;IAK9B,YACS,WAA2B,EAC3B,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAgB;QAC3B,eAAU,GAAV,UAAU,CAAY;QAE/B,gBAAW,GAAG,EAAE,CAAC;IADd,CAAC;IAGJ,QAAQ;IACR,CAAC;IAEO,gBAAgB,CAAC,MAAW;QAClC,IAAI,MAAM,KAAK,+EAAuB,EAAE;YACtC,OAAO,iBAAiB,CAAC;SAC1B;aAAM,IAAI,MAAM,KAAK,0FAAkC,EAAE;YACxD,OAAO,2BAA2B,CAAC;SACpC;aAAM;YACL,OAAO,SAAS,MAAM,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;sFA9CU,mBAAmB;iHAAnB,mBAAmB;QCXhC,gHAeM;QAGN,gHAkBM;;QApCA,iFAAiB;QAkBjB,0DAAgB;QAAhB,gFAAgB;;;;;;;;;;;;;;;;;;;;;;ACjBtB;;;;;;;ICKQA,4DAAAA;IAAyCA,oDAAAA;IAAUA,0DAAAA;;;;ADIrD,MAAO+a,cAAP,CAAqB;EAMzBpc,YAAmBqc,WAAnB,EAA8C;IAA3B;IAJnB,eAAmB,IAAnB;EAIoD;;EAE9C9Z,QAAQ;IAAA;;IAAA;MAEZ,KAAI,CAAC+Z,OAAL,GAAe,IAAf;IAFY;EAGb;;AAXwB;;;mBAAdF,gBAAc/a,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAd+a;EAAchV;EAAAsH;IAAA0E;EAAA;EAAAmJ;EAAAC,WAAAA,iEAAAA;EAAAnV;EAAAC;EAAAC;EAAAC;IAAA;MCX3BnG,4DAAAA,cAA2B,CAA3B,EAA2B,KAA3B,EAA2B,CAA3B,EAA2B,CAA3B,EAA2B,IAA3B,EAA2B,CAA3B;MAEgCA,oDAAAA;MAAWA,0DAAAA;MACnCA,4DAAAA;MAAsBA,wDAAAA;QAAA,OAASwN,uBAAT;MAA4B,CAA5B;MAA8BxN,oDAAAA;MAACA,0DAAAA;MAEzDA,4DAAAA;MACIA,uDAAAA;MACAA,wDAAAA;MACJA,0DAAAA;;;;MAN4BA,uDAAAA;MAAAA,+DAAAA;MAIRA,uDAAAA;MAAAA,wDAAAA;MACVA,uDAAAA;MAAAA,wDAAAA;;;iBDEH8a,8DAAkBA,EAAAM,iEAAAA;EAAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AER7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;;;;;;;;;;;;;ICdIrb,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAoB,CAApB;IACzFA,uDAAAA,gBAA0B,CAA1B,EAA0B,MAA1B,EAA0B,EAA1B,EAA0B,CAA1B,EAA0B,MAA1B,EAA0B,EAA1B;IAGFA,0DAAAA;;;;;IAJqCA,wDAAAA;;;;;;;;;;;;;;IAkC3BA,4DAAAA,cAA4E,CAA5E,EAA4E,GAA5E,EAA4E,CAA5E;IAC4CA,oDAAAA;IAAmBA,0DAAAA;;;;IAD1CA,wDAAAA,qBAAAA,6DAAAA;IAChBA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;;;;;;;;;;;;;;IASTA,4DAAAA,aAAuC,CAAvC,EAAuC,GAAvC,EAAuC,EAAvC;IACmIA,oDAAAA;IAAUA,4DAAAA;IACvIA,uDAAAA;IACFA,0DAAAA;IACFA,4DAAAA,cAAyC,CAAzC,EAAyC,IAAzC,EAAyC,EAAzC,EAAyC,CAAzC,EAAyC,GAAzC,EAAyC,CAAzC;IAEyCA,oDAAAA;IAAaA,0DAAAA;IAEpDA,4DAAAA,cAA0D,EAA1D,EAA0D,GAA1D,EAA0D,CAA1D;IACkCA,oDAAAA;IAASA,0DAAAA;;;;;IAPhCA,uDAAAA;IAAAA,wDAAAA;IAGUA,uDAAAA;IAAAA,wDAAAA,qBAAAA,6DAAAA;IAChBA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;IAEgBA,uDAAAA;IAAAA,wDAAAA,qBAAAA,6DAAAA;IAChBA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;;;;;;;;;;IAcLA,4DAAAA,cAA8E,CAA9E,EAA8E,GAA9E,EAA8E,CAA9E;IACsCA,oDAAAA;IAAYA,0DAAAA;;;;IADTA,wDAAAA,qBAAAA,6DAAAA;IACpCA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;;;;;;;;;;IATTA,4DAAAA,aAAuC,CAAvC,EAAuC,GAAvC,EAAuC,EAAvC;IACmIA,oDAAAA;IAAOA,4DAAAA;IACpIA,uDAAAA;IACFA,0DAAAA;IACFA,4DAAAA,cAAyC,CAAzC,EAAyC,IAAzC,EAAyC,EAAzC,EAAyC,CAAzC,EAAyC,GAAzC,EAAyC,CAAzC;IAEoCA,oDAAAA;IAAWA,0DAAAA;IAE7CA,wDAAAA;IAGFA,0DAAAA;;;;;IATaA,uDAAAA;IAAAA,wDAAAA;IAGUA,uDAAAA;IAAAA,wDAAAA,qBAAAA,6DAAAA;IAChBA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;IAEiBA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;;IAwC1BA,4DAAAA,cAA6J,CAA7J,EAA6J,GAA7J,EAA6J,CAA7J,EAA6J,CAA7J,EAA6J,MAA7J,EAA6J,CAA7J;IAEMA,uDAAAA;IACFA,0DAAAA;IAAOA,oDAAAA;IAAqBA,0DAAAA;;;;;;IAHcA,wDAAAA,qBAAAA,6DAAAA;IACzCA,uDAAAA;IAAAA,wDAAAA,eAAAA,6DAAAA;IACUA,uDAAAA;IAAAA,wDAAAA;IACJA,uDAAAA;IAAAA,+DAAAA;;;;;;IAJbA,4DAAAA;IACEA,wDAAAA;IAKFA,0DAAAA;;;;;IALuIA,uDAAAA;IAAAA,wDAAAA;;;;;;IAPzIA,4DAAAA,aAA2C,CAA3C,EAA2C,GAA3C,EAA2C,EAA3C,EAA2C,CAA3C,EAA2C,MAA3C,EAA2C,CAA3C;IAEMA,uDAAAA;IACFA,0DAAAA;IAAOA,oDAAAA;IAAUA,4DAAAA;IACfA,uDAAAA;IACFA,0DAAAA;IACFA,wDAAAA;IAOFA,0DAAAA;;;;;IAXeA,uDAAAA;IAAAA,wDAAAA;IAEAA,uDAAAA;IAAAA,wDAAAA;IAE6BA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADrF5C,MAAOgc,gBAAP,CAAuB;EA4B3Brd,YAAoBC,WAApB,EAAsDqd,eAAtD,EAAgGnd,MAAhG,EAA+G;IAA3F;IAAkC;IAA0C;IA3BhG,SAAI8C,MAAM,CAACsa,UAAX;IACA,kBAAsB,KAAtB;IACA,kBAAsB,IAAtB,CAyB+G,CAxB/G;;IACA,qBAAgBZ,4EAAhB;IACA,aAAQC,sEAAR;IACA,cAASC,uEAAT;IACA,mBAAcC,4EAAd;IACA,oBAAeC,2EAAf;IACA,oBAAeC,6EAAf;IACA,gBAAWC,uEAAX;IACA,mBAAcC,0EAAd;IACA,kBAAapB,2EAAb;IACA,wBAAmBqB,iFAAnB;IACA,qBAAyB,IAAzB;IAOA,2BAA8C,IAA9C;EAMoH;;EAJpHK,SAAS;IACP,KAAKC,UAAL,GAAkB,CAAC,KAAKA,UAAxB;EACD;;EAIKlb,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACmb,UAAL,GAAkB,KAAI,CAACC,CAAL,GAAS,GAAT,GAAe,IAAf,GAAsB,KAAxC;MACA,KAAI,CAACF,UAAL,GAAkB,KAAI,CAACE,CAAL,GAAS,GAAT,GAAe,IAAf,GAAsB,KAAxC,CAFY,CAIZ;;MACA,KAAI,CAACnI,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B,CALY,CAMZ;;MACA,KAAI,CAAC4O,QAAL,SAAsB,KAAI,CAAC3d,WAAL,CAAiBmB,YAAjB,CAA8B4N,6EAA9B,CAAtB;MAEA,KAAI,CAACzO,WAAL,GAAmB,OAAO,KAAI,CAACN,WAAL,CAAiBK,cAAjB,EAAP,EAA0CC,WAA7D;MACA,KAAI,CAACud,aAAL,GAAqBV,gFAAA,IAA0B,KAA/C;;MACA,KAAI,CAACY,oBAAL;IAXY;EAYb;;EAEDC,QAAQ,CAACrb,KAAD,EAAM;IACZ,KAAK+a,CAAL,GAAS1a,MAAM,CAACsa,UAAhB;IACA,KAAKG,UAAL,GAAkB,KAAKC,CAAL,GAAS,GAAT,GAAe,IAAf,GAAsB,KAAxC;IACA,KAAKF,UAAL,GAAkB,KAAKE,CAAL,GAAS,GAAT,GAAe,IAAf,GAAsB,KAAxC;EACD;;EAEDO,UAAU;IACR,IAAIC,WAAW,GAAG,KAAKhe,MAAL,CAAY6C,GAA9B;IAAkC;IAClC2C,OAAO,CAACC,GAAR,CAAYuY,WAAZ;;IAEA,IAAGA,WAAW,IAAI,uBAAlB,EAA0C;MACxClb,MAAM,CAACmb,QAAP,CAAgBC,MAAhB;IACD;EAEF;;EAEDL,oBAAoB;IAClB,KAAKV,eAAL,CAAqBgB,cAArB,GAAsC3b,SAAtC,CAAgDqR,GAAG,IAAG;MAAG,KAAKuK,mBAAL,GAA2BvK,GAA3B;IAAiC,CAA1F;EACD;;AA9D0B;;;mBAAhBqJ,kBAAgBhc,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,mEAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAAhBgc;EAAgBjW;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCvB7BnG,4DAAAA;MAAwFA,wDAAAA;QAAA,OAAiBwN,oBAAjB;MAAiC,CAAjC,EAAiC,KAAjC,EAAiCxN,6DAAjC;MACtFA,4DAAAA;MACEA,wDAAAA;MAKAA,4DAAAA,cAAkB,CAAlB,EAAkB,GAAlB,EAAkB,CAAlB;MACyBA,uDAAAA;MAAwCA,0DAAAA;MAEjEA,4DAAAA,aAAqB,CAArB,EAAqB,IAArB,EAAqB,CAArB,EAAqB,CAArB,EAAqB,GAArB,EAAqB,CAArB,EAAqB,CAArB,EAAqB,MAArB,EAAqB,CAArB;MAIQA,uDAAAA;MACFA,0DAAAA;MACAA,oDAAAA;MACFA,0DAAAA;MAEFA,4DAAAA,cAAqB,EAArB,EAAqB,GAArB,EAAqB,EAArB,EAAqB,EAArB,EAAqB,MAArB,EAAqB,CAArB;MAEMA,uDAAAA;MACFA,0DAAAA;MAAQA,oDAAAA;MAAUA,4DAAAA;MAChBA,uDAAAA;MACFA,0DAAAA;MAGFA,4DAAAA,eAAyC,EAAzC,EAAyC,IAAzC,EAAyC,CAAzC,EAAyC,EAAzC,EAAyC,GAAzC,EAAyC,EAAzC;MAEqIA,oDAAAA;MAAKA,4DAAAA;MAClIA,uDAAAA;MACFA,0DAAAA;MACFA,4DAAAA;MAIEA,wDAAAA;MAGAA,4DAAAA,eAA0D,EAA1D,EAA0D,GAA1D,EAA0D,CAA1D;MAC4CA,oDAAAA;MAAmBA,0DAAAA;MAMnEA,wDAAAA;MAeAA,wDAAAA;MAaFA,0DAAAA;MAIFA,4DAAAA,cAAqB,EAArB,EAAqB,GAArB,EAAqB,EAArB,EAAqB,EAArB,EAAqB,MAArB,EAAqB,CAArB;MAEMA,uDAAAA;MACFA,0DAAAA;MAAOA,oDAAAA;MAAaA,4DAAAA;MAClBA,uDAAAA;MACFA,0DAAAA;MACFA,4DAAAA,eAAyC,EAAzC,EAAyC,IAAzC,EAAyC,EAAzC,EAAyC,EAAzC,EAAyC,GAAzC,EAAyC,CAAzC;MAE6CA,oDAAAA;MAAaA,0DAAAA;MAExDA,4DAAAA,eAA0D,EAA1D,EAA0D,GAA1D,EAA0D,CAA1D;MAC4CA,oDAAAA;MAAcA,0DAAAA;MAM9DA,4DAAAA,eAA0D,EAA1D,EAA0D,GAA1D,EAA0D,CAA1D,EAA0D,EAA1D,EAA0D,MAA1D,EAA0D,CAA1D;MAEMA,uDAAAA;MACFA,0DAAAA;MAAOA,oDAAAA;MAAOA,0DAAAA;MAIlBA,wDAAAA;MAuCFA,0DAAAA;MACAA,uDAAAA;MACFA,0DAAAA;;;;MA/IgCA,wDAAAA;MAEoFA,uDAAAA;MAAAA,wDAAAA;MAM7GA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MAGkBA,uDAAAA;MAAAA,wDAAAA,qBAAAA,6DAAAA,WAAoC,yBAApC,EAAoCA,6DAAAA,SAApC;MAChBA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MAEUA,uDAAAA;MAAAA,wDAAAA;MAOAA,uDAAAA;MAAAA,wDAAAA;MAEAA,uDAAAA;MAAAA,wDAAAA;MAOIA,uDAAAA;MAAAA,wDAAAA;MAMgDA,uDAAAA;MAAAA,wDAAAA;MAGtCA,uDAAAA;MAAAA,wDAAAA,qBAAAA,6DAAAA;MAChBA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MAMaA,uDAAAA;MAAAA,wDAAAA;MAeAA,uDAAAA;MAAAA,wDAAAA;MAmBXA,uDAAAA;MAAAA,wDAAAA;MAEAA,uDAAAA;MAAAA,wDAAAA;MAGUA,uDAAAA;MAAAA,wDAAAA,qBAAAA,6DAAAA;MAChBA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MAEgBA,uDAAAA;MAAAA,wDAAAA,qBAAAA,6DAAAA;MAChBA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MAMYA,uDAAAA;MAAAA,wDAAAA,qBAAAA,6DAAAA;MAChBA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MACUA,uDAAAA;MAAAA,wDAAAA;MAKOA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;AC9FrB,MAAM,wBAAwB;IAMnC,YAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IACrC,CAAC;IAED,QAAQ;QACN,IAAG,IAAI,CAAC,YAAY,KAAK,SAAS,EAAC;YACjC,IAAI,CAAC,YAAY,GAAE,EAAE,CAAC;SACvB;aAAI;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SAC1E;IAEH,CAAC;;gGAhBU,wBAAwB;sHAAxB,wBAAwB;QCRrC,uEAAM;QAAA,uDAAqC;QAAA,4DAAO;;QAA5C,0DAAqC;QAArC,wGAAqC;;;;;;;;;;;;;;;;;;;ACOpC,MAAM,uBAAuB;IAElC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8FALU,uBAAuB;qHAAvB,uBAAuB;QCPpC,yEAAqE;QACnC,sEAAW;QAAA,4DAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMpD;AAIA;;;;;;;;;;;;;;;ICOgBA,4DAAAA,cAA6E,CAA7E,EAA6E,IAA7E;IACQA,oDAAAA;IAAYA,0DAAAA;IAChBA,4DAAAA;IAAMA,oDAAAA;;IAA+DA,0DAAAA;;;;;IAA/DA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;IAGVA,4DAAAA,cAA8D,CAA9D,EAA8D,IAA9D;IACQA,oDAAAA;IAAKA,0DAAAA;IACTA,4DAAAA;IAAMA,oDAAAA;IAAyCA,0DAAAA;;;;;IAAzCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGVA,4DAAAA,cAAwE,CAAxE,EAAwE,IAAxE;IACQA,oDAAAA;IAAoBA,0DAAAA;IACxBA,4DAAAA;IAAMA,oDAAAA;IAAmDA,0DAAAA;;;;;IAAnDA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGVA,4DAAAA,cAA0E,CAA1E,EAA0E,IAA1E;IACQA,oDAAAA;IAAsBA,0DAAAA;IAC1BA,4DAAAA;IAAMA,oDAAAA;IAAqDA,0DAAAA;;;;;IAArDA,uDAAAA;IAAAA,+DAAAA;;;;;;IAGVA,4DAAAA,cAAkE,CAAlE,EAAkE,IAAlE;IACQA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAMA,oDAAAA;IAA6CA,0DAAAA;;;;;IAA7CA,uDAAAA;IAAAA,+DAAAA;;;;;;IAiBVA,4DAAAA,cAA+F,CAA/F,EAA+F,IAA/F;IACQA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAMA,oDAAAA;IAEAA,0DAAAA;;;;;IAFAA,uDAAAA;IAAAA,+DAAAA;;;;;;IAKVA,4DAAAA,cAAwD,CAAxD,EAAwD,IAAxD;IACQA,oDAAAA;IAAeA,0DAAAA;IACnBA,4DAAAA;IAAMA,oDAAAA;IAAmCA,0DAAAA;;;;;IAAnCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAcdA,uDAAAA;;;;;;;;IAyBgBA,4DAAAA;IAA4DA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,mCAAT;IAA8B,CAA9B;IACxDA,4DAAAA;IACIA,oDAAAA;IACJA,0DAAAA;;;;;;IADIA,uDAAAA;IAAAA,gEAAAA;;;;;;IAHZA,4DAAAA;IACIA,wDAAAA;IAKJA,0DAAAA;;;;;IAL0BA,uDAAAA;IAAAA,wDAAAA;;;;;;IAM1BA,4DAAAA,UAA2C,CAA3C,EAA2C,GAA3C;IACOA,oDAAAA;IAAWA,0DAAAA;;;;;;IApBtBA,4DAAAA,UAA+C,CAA/C,EAA+C,IAA/C,EAA+C,EAA/C,EAA+C,CAA/C,EAA+C,KAA/C,EAA+C,CAA/C,EAA+C,MAA/C,EAA+C,CAA/C,EAA+C,QAA/C;IAG0BA,oDAAAA;IAA4BA,0DAAAA;IAGlDA,4DAAAA,cAAqB,CAArB,EAAqB,KAArB,EAAqB,CAArB,EAAqB,MAArB,EAAqB,CAArB,EAAqB,QAArB;IAEsBA,oDAAAA;;IAAmCA,0DAAAA;IAIzDA,wDAAAA;IAOAA,wDAAAA;IAGJA,0DAAAA;;;;;IAnB0BA,uDAAAA;IAAAA,+DAAAA;IAKAA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IAIjBA,uDAAAA;IAAAA,wDAAAA;IAOAA,uDAAAA;IAAAA,wDAAAA;;;;;;IASrBA,4DAAAA,cAAqD,CAArD,EAAqD,IAArD;IACQA,oDAAAA;IAAmBA,0DAAAA;IACvBA,4DAAAA;IAAMA,oDAAAA;IAAgCA,0DAAAA;;;;;IAAhCA,uDAAAA;IAAAA,+DAAAA;;;;;;;;IA5GlBA,4DAAAA,kBAA2D,CAA3D,EAA2D,KAA3D,EAA2D,CAA3D,EAA2D,CAA3D,EAA2D,KAA3D,EAA2D,CAA3D,EAA2D,CAA3D,EAA2D,KAA3D;IAIgBA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAKAA,wDAAAA;IAMJA,0DAAAA;IAEAA,4DAAAA,WAAK,EAAL,EAAK,KAAL,EAAK,CAAL,EAAK,EAAL,EAAK,IAAL;IAEYA,oDAAAA;IAAsBA,0DAAAA;IAC1BA,4DAAAA;IAAMA,oDAAAA;IAAuDA,0DAAAA;IAGjEA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACQA,oDAAAA;IAA4BA,0DAAAA;IAChCA,4DAAAA;IAAMA,oDAAAA;IAAwCA,0DAAAA;IAGlDA,wDAAAA;IAOAA,wDAAAA;IAKAA,4DAAAA,eAAkB,EAAlB,EAAkB,IAAlB;IACQA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAMA,oDAAAA;IAAkEA,0DAAAA;IAIhFA,uDAAAA;IACJA,0DAAAA;IAEAA,4DAAAA,gBAAkB,EAAlB,EAAkB,IAAlB,EAAkB,EAAlB;IACqBA,oDAAAA;IAAaA,0DAAAA;IAC9BA,wDAAAA;IACAA,4DAAAA;IAA+EA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAE3EA,4DAAAA,cAAO,EAAP,EAAO,IAAP,EAAO,EAAP,EAAO,EAAP,EAAO,IAAP,EAAO,EAAP;IAE0BA,oDAAAA;IAAoBA,0DAAAA;IACtCA,4DAAAA;IAAIA,oDAAAA;IAAiBA,0DAAAA;IACrBA,4DAAAA;IAAIA,oDAAAA;IAAUA,0DAAAA;IAItBA,4DAAAA;IACIA,wDAAAA;IAuBJA,0DAAAA;IAKRA,wDAAAA;IAIJA,0DAAAA;;;;;IA1GkBA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IAWIA,uDAAAA;IAAAA,+DAAAA;IAKAA,uDAAAA;IAAAA,+DAAAA;IAGSA,uDAAAA;IAAAA,wDAAAA;IAObA,uDAAAA;IAAAA,wDAAAA;IAOIA,uDAAAA;IAAAA,+DAAAA;IAIOA,uDAAAA;IAAAA,wDAAAA,4DAAmD,SAAnD,EAAmDod,0BAAnD;IAKfpd,uDAAAA;IAAAA,wDAAAA;IACyEA,uDAAAA;IAAAA,wDAAAA;IAW9CA,uDAAAA;IAAAA,wDAAAA;IA4B/BA,uDAAAA;IAAAA,wDAAAA;;;;;;IAQdA,uDAAAA;;;;;IAAqCA,wDAAAA,mCAA0B,YAA1B,EAA0Bqd,8BAA1B,EAA0B,mBAA1B,EAA0BA,gGAA1B,EAA0B,iBAA1B,EAA0BA,uFAA1B,EAA0B,gCAA1B,EAA0BA,sBAA1B,EAA0B,uBAA1B,EAA0B,KAA1B,EAA0B,iBAA1B,EAA0BA,gBAA1B;;;;AD9G/B,MAAOC,2BAAP,CAAkC;EAoBtC;EACA3e,YACUkP,cADV,EAESkP,QAFT,EAGSQ,mBAHT,EAIUC,SAJV,EAKUC,YALV,EAMU3e,MANV,EAOSkP,eAPT,EAQU0P,aARV,EASU3P,cATV,EASwC;IAR9B;IACD;IACA;IACC;IACA;IACA;IACD;IACC;IACA,qCAA8B,CAxBxC;;IACA,qBAAwB,EAAxB;IACA,sBAA0B,KAA1B;IACA,yBAAyC,EAAzC;IACA,+BAAoC,EAApC;IAEA,iBAAoBoP,qFAApB;IAEA,uBAAsC;MACpCS,iBAAiB,EAAE,EADiB;MAEpCC,wBAAwB,EAAE,EAFU;MAGpCC,mBAAmB,EAAE;IAHe,CAAtC;EAgB6C,CA9BP,CAgCtC;;;EACA5c,QAAQ;IACN;IACA,KAAK6c,eAAL;EACD,CApCqC,CAsCtC;;;EACMA,eAAe;IAAA;;IAAA;MACnB;MACA,KAAI,CAACC,cAAL,GAAsB,KAAI,CAACnQ,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAtB;;MAEA,IAAI;QACF;QACA,KAAI,CAAC2P,YAAL,SAA0B,KAAI,CAACV,mBAAL,CAAyBW,mBAAzB,CAA6C,KAAI,CAACF,cAAlD,CAA1B;QACA,KAAI,CAACjQ,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACF,YAAhC;QACA,KAAI,CAACG,UAAL,SAAwB,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAACJ,YAAL,CAAkBvZ,EAA5D,CAAxB;QACA,KAAI,CAACqJ,cAAL,CAAoBqQ,UAApB,GAAiC,KAAI,CAACA,UAAtC;QACA,KAAI,CAACrQ,cAAL,CAAoByJ,QAApB,GAA+B,KAAI,CAACzJ,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAA/D;;QAEA,KAAI,CAACyG,YAAL,CAAkBK,qBAAlB,CAAwC/P,IAAxC,CAA6C,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAACoW,cAAF,IAAoB/P,CAAC,CAAC+P,cAAtB,GAAuC,CAAC,CAAxC,GAA4C,CAAnG,EAAsGjU,OAAtG,CAA8G8G,CAAC,IAAG;UAChH,IAAIoN,YAAY,GAAa,EAA7B,CADgH,CAGhH;;UACA,IAAIC,YAAY,GAAGrN,CAAC,CAACsN,2BAAF,CAA8Bje,MAA9B,CAAqC8X,CAAC,IAAIA,CAAC,CAACoG,uBAAF,GAA4B,IAAIlQ,IAAJ,CAAS,sBAAT,CAA5B,IAAgE8J,CAAC,CAACqG,UAAF,IAAgB,IAAhF,IAAwFrG,CAAC,CAACsG,OAAF,IAAa,IAA/I,EAChB/S,GADgB,CACZ,UAAU3D,CAAV,EAAW;YAAI,OAAO,kBAAkBA,CAAC,CAACzD,EAApB,GAAyB,GAAzB,GAA+ByD,CAAC,CAAC2W,UAAxC;UAAoD,CADvD,CAAnB;UAEAN,YAAY,CAAC3T,IAAb,CAAkB,GAAG4T,YAArB,EANgH,CAQhH;;UACA,IAAIM,YAAY,GAAG3N,CAAC,CAACsN,2BAAF,CAA8Bje,MAA9B,CAAqC8X,CAAC,IAAIA,CAAC,CAACoG,uBAAF,GAA4B,IAAIlQ,IAAJ,CAAS,sBAAT,CAA5B,IAAgE8J,CAAC,CAACyG,UAAF,IAAgB,IAAhF,IAAwFzG,CAAC,CAACsG,OAAF,IAAa,IAA/I,EAChB/S,GADgB,CACZ,UAAU3D,CAAV,EAAW;YAAI,OAAO,kBAAkBA,CAAC,CAACzD,EAApB,GAAyB,GAAzB,GAA+ByD,CAAC,CAAC8W,UAAxC;UAAoD,CADvD,CAAnB;UAEAT,YAAY,CAAC3T,IAAb,CAAkB,GAAGkU,YAArB;;UAEA,KAAI,CAACG,iBAAL,CAAuBrU,IAAvB,CAA4B;YAAEsU,UAAU,EAAE/N,CAAC,CAAC1M,EAAhB;YAAoB0a,SAAS,EAAEZ,YAA/B;YAA6CD,cAAc,EAAEnN,CAAC,CAACmN,cAA/D;YAA+Ec,aAAa,EAAEjO,CAAC,CAACkO;UAAhG,CAA5B;QACD,CAdD;;QAkBA,KAAI,CAACrB,YAAL,CAAkBK,qBAAlB,CAAwChU,OAAxC,CAAiDiV,GAAD,IAAQ;UACtDA,GAAG,CAACC,+BAAJ,CAAoC1T,GAApC,CAAwCvB,GAAG,IAAI,KAAI,CAACuH,uBAAL,CAA6BjH,IAA7B,CAAkCN,GAAG,CAACsE,QAAJ,GAAe,GAAf,GAAqBtE,GAAG,CAACxB,QAA3D,CAA/C;QACD,CAFD;;QAIA,IAAI0W,kBAAkB,GAA6B;UACjDC,MAAM,EAAE,IADyC;UAEjD/a,KAAK,EAAE,KAAI,CAACsZ,YAAL,CAAkB0B,mBAAlB,CAAsCC,IAFI;UAGjD7G,cAAc,EAAE,KAAI,CAACkF,YAAL,CAAkB0B,mBAAlB,CAAsCC;QAHL,CAAnD;QAMA,IAAI/B,wBAAJ;;QAEA,KAAI,CAACI,YAAL,CAAkBJ,wBAAlB,CAA2CvT,OAA3C,CAAmDuV,eAAe,IAAG;UACnE,IAAIC,uBAAuB,GAA6B;YACtDJ,MAAM,EAAE,IAD8C;YAEtD/a,KAAK,EAAEkb,eAF+C;YAGtD9G,cAAc,EAAE8G;UAHsC,CAAxD;;UAMA,KAAI,CAACE,eAAL,CAAqBlC,wBAArB,CAA8ChT,IAA9C,CAAmDiV,uBAAnD;QACD,CARD;;QAUA,KAAI,CAACC,eAAL,CAAqBjC,mBAArB,CAAyCjT,IAAzC,CAA8C4U,kBAA9C;;QAEA,IAAI,KAAI,CAACxB,YAAL,CAAkB0B,mBAAlB,CAAsCC,IAAtC,IAA8C,KAAI,CAAC3B,YAAL,CAAkB+B,qBAAlB,CAAwCJ,IAA1F,EAAgG;UAC9F,IAAIH,kBAAkB,GAA6B;YACjDC,MAAM,EAAE,IADyC;YAEjD/a,KAAK,EAAE,KAAI,CAACsZ,YAAL,CAAkB+B,qBAAlB,CAAwCJ,IAFE;YAGjD7G,cAAc,EAAE,KAAI,CAACkF,YAAL,CAAkB+B,qBAAlB,CAAwCJ;UAHP,CAAnD;;UAMA,KAAI,CAACG,eAAL,CAAqBjC,mBAArB,CAAyCjT,IAAzC,CAA8C4U,kBAA9C;QACD;MACF,CA3DD,CA4DA,OAAOpb,KAAP,EAAc;QACZ,IAAIA,KAAK,CAACL,MAAN,KAAiB,GAArB,EAA0B;UACxB;UACA,KAAI,CAAClF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;YAAEwgB,kBAAkB,EAAE;UAAtB,CAA/B;QACD;MACF,CArEkB,CAuEnB;;;MACA,KAAI,CAACxC,YAAL,CAAkByC,QAAlB,CAA2B,KAAI,CAACjC,YAAL,CAAkB1K,UAAlB,GAA+B,aAA1D;IAxEmB;EAyEpB,CAhHqC,CAkHtC;;;EACA4M,QAAQ,CAACxe,GAAD,EAAY;IAClB;IACA,OAAO,KAAK6b,SAAL,CAAe4C,sBAAf,CAAsCze,GAAtC,CAAP;EACD;;EAEK0e,eAAe,CAACtQ,IAAD,EAAa;IAAA;;IAAA;MAChC,MAAI,CAACuQ,cAAL,GAAsB,IAAtB;;MACA,IAAI;QACF,IAAIpY,IAAI,SAAS,MAAI,CAAC8F,eAAL,CAAqBuS,uBAArB,CAA6CxQ,IAA7C,CAAjB;MACD,CAFD,CAEE,OAAOmI,CAAP,EAAU;QACV,MAAI,CAACoI,cAAL,GAAsB,KAAtB;;QACA,MAAI,CAAC5C,aAAL,CAAmBrZ,KAAnB,CAAyB,kDAAzB;MACD;;MACD,MAAM6L,SAAS,GAAG,MAAI,CAACC,aAAL,CAAmBjI,IAAnB,CAAlB;;MACA,IAAIkI,OAAO,GAAG,MAAI,CAACpC,eAAL,CAAqBqC,gBAArB,CAAsCN,IAAtC,EAA4C,MAA5C,CAAd;;MACA,IAAIO,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACL,SAAD,CAAT,EAAsBE,OAAtB,EAA+B;QAAE1H,IAAI,EAAE;MAAR,CAA/B,CAAX;MACAgF,8CAAA,CAAiB4C,IAAjB;MACA,MAAI,CAACgQ,cAAL,GAAsB,KAAtB;IAZgC;EAajC;;EAEDnQ,aAAa,CAACM,OAAD,EAAQ;IACnB,MAAMC,UAAU,GAAG9O,MAAM,CAAC+O,IAAP,CAAYF,OAAZ,CAAnB;IACA,MAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAU,CAAC5L,MAA3B,CAApB;IACA,MAAMgM,SAAS,GAAG,IAAIC,UAAJ,CAAeH,WAAf,CAAlB;;IACA,KAAK,IAAI7D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2D,UAAU,CAAC5L,MAA/B,EAAuCiI,CAAC,EAAxC,EAA4C;MAC1C+D,SAAS,CAAC/D,CAAD,CAAT,GAAe2D,UAAU,CAACM,UAAX,CAAsBjE,CAAtB,CAAf;IACD;;IACD,MAAMvE,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACqI,SAAD,CAAT,EAAsB;MAAEpI,IAAI,EAAE;IAAR,CAAtB,CAAb;IACA,OAAOF,IAAP;EACD;;AAhJqC;;;mBAA3B8U,6BAA2Btd,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,mGAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,8EAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAA3Bsd;EAA2BvX;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCjBxCnG,4DAAAA,kBAA4B,CAA5B,EAA4B,QAA5B,EAA4B,CAA5B;MAGiCA,wDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MACzBxN,oDAAAA;MACJA,0DAAAA;MAGAA,4DAAAA;MAAIA,oDAAAA;MAA4BA,0DAAAA;MAKpCA,wDAAAA;MAkHAA,wDAAAA;;;;MAvHQA,uDAAAA;MAAAA,+DAAAA;MAK+BA,uDAAAA;MAAAA,wDAAAA;MAkHpBA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5HnB;AACA;AAIA;AACA;;;;;;;;;;;;;;;;;;;;;;ICA6BA,4DAAAA;IAEzBA,oDAAAA;IACFA,0DAAAA;;;;;IAHkIA,wDAAAA,qCAAmC,aAAnC,EAAmCod,wBAAAA,6DAAAA,gKAAnC;;;;;;IAOpIpd,uDAAAA;;;;IAAkDA,wDAAAA;;;;;;IAW1CA,4DAAAA;IAA8CA,oDAAAA;IAACA,0DAAAA;;;;;;;;;;IAJrDA,4DAAAA,aAA8G,CAA9G,EAA8G,KAA9G,EAA8G,EAA9G,EAA8G,CAA9G,EAA8G,IAA9G;IAGMA,oDAAAA;IACAA,wDAAAA;IACAA,oDAAAA;;IACFA,0DAAAA;IACAA,4DAAAA;IAAIA,oDAAAA;;IAAkDA,0DAAAA;IACtDA,4DAAAA;IACEA,oDAAAA;IACFA,0DAAAA;IAGFA,4DAAAA,gBAAyB,EAAzB,EAAyB,GAAzB;;IAEIA,oDAAAA;;IACFA,0DAAAA;;;;;;IAhBuDA,wDAAAA,eAAAA,6DAAAA;IAGrDA,uDAAAA;IAAAA,gEAAAA;IACOA,uDAAAA;IAAAA,wDAAAA;IACPA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;IAEEA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IAEFA,uDAAAA;IAAAA,gEAAAA;IAKCA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IACDA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IAhBRA,4DAAAA;IACEA,wDAAAA;IAmBFA,0DAAAA;;;;;IAnB8BA,uDAAAA;IAAAA,wDAAAA;;;;;;IAuCpBA,4DAAAA;IAAoCA,oDAAAA;;IAAwCA,0DAAAA;;;;;IAAxCA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;IACpCA,4DAAAA;IAAqCA,oDAAAA;IAAOA,0DAAAA;;;;IAAPA,uDAAAA;IAAAA,+DAAAA;;;;;;;;;;IAJvCA,4DAAAA,cAAiF,CAAjF,EAAiF,IAAjF,EAAiF,EAAjF;IAC8BA,oDAAAA;IAAqBA,0DAAAA;IACjDA,4DAAAA;IAAIA,oDAAAA;IAAqCA,0DAAAA;IACzCA,wDAAAA;IACAA,wDAAAA;IACAA,4DAAAA;IAAIA,oDAAAA;IAA2DA,0DAAAA;IAC/DA,4DAAAA;IAAIA,oDAAAA;;IAAgEA,0DAAAA;IACpEA,4DAAAA;;IAAkEA,oDAAAA;;IAAmDA,0DAAAA;;;;;IAPhFA,wDAAAA,eAAAA,6DAAAA;IACTA,uDAAAA;IAAAA,+DAAAA;IACxBA,uDAAAA;IAAAA,+DAAAA;IACCA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IACDA,uDAAAA;IAAAA,+DAAAA;IACAA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACAA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IAA8DA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IArB5EA,4DAAAA,mBAA8D,CAA9D,EAA8D,KAA9D,EAA8D,EAA9D,EAA8D,CAA9D,EAA8D,OAA9D,EAA8D,EAA9D,EAA8D,CAA9D,EAA8D,OAA9D,EAA8D,CAA9D,EAA8D,IAA9D,EAA8D,EAA9D,EAA8D,CAA9D,EAA8D,IAA9D;IAKcA,oDAAAA;IAAMA,0DAAAA;IACVA,4DAAAA;IAAIA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAIA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAIA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAIA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAIA,oDAAAA;IAAMA,0DAAAA;IAGdA,4DAAAA;IACEA,wDAAAA;IAUFA,0DAAAA;;;;;IAVuBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAe7BA,4DAAAA;IAAgEA,oDAAAA;IAA0BA,0DAAAA;;;;;;IAItFA,4DAAAA;IAAmCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAC9CA,4DAAAA;IAAoCA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAF/CA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACzFA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAFSA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIXA,4DAAAA,WAAgD,CAAhD,EAAgD,KAAhD,EAAgD,EAAhD,EAAgD,CAAhD,EAAgD,MAAhD,EAAgD,EAAhD;IAE0BA,oDAAAA;IAAUA,0DAAAA;;;;ADrE9B,MAAO2gB,yBAAP,CAAgC;EA4BpC;EACAhiB,YACSoe,QADT,EAEUQ,mBAFV,EAGU3e,WAHV,EAIUiP,cAJV,EAKU4P,YALV,EAMUmD,qBANV,EAMsD;IAL7C;IACC;IACA;IACA;IACA;IACA,mDAA4C,CAjCtD;;IACA,qBAA0C,EAA1C,CAgCsD,CA3BtD;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB,CAyB6C,CAvBtD;;IACS,qBAAyB,IAAzB;IACA,kBAAsB,KAAtB;IACA,sBAA0B,KAA1B;IACA,qBAA4B,IAA5B,CAmB6C,CAlBtD;;IACA,4BAAgC,KAAhC;IACA,uBAA2B,KAA3B;IAMA,YAAOH,oEAAP;IACA,cAASD,sEAAT;IACA,eAAgD,CAAC;MAAEK,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAD,EAAwC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAxC,EAA4G;MAAED,IAAI,EAAE,MAAR;MAAgBC,QAAQ,EAAE;IAA1B,CAA5G,EAAsJ;MAAED,IAAI,EAAE,SAAR;MAAmBC,QAAQ,EAAE;IAA7B,CAAtJ,EAAiM;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAjM,CAAhD;EASK,CApC+B,CAsCpC;;;EACM5f,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAACiT,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,8BAA3B,EAHY,CAIZ;;;MACA,KAAI,CAACrS,cAAL,CAAoBmG,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP;UAAA,OAAkB,KAAI,CAAC8M,iBAAL,CAAuB9M,MAAvB,CAAlB;QAAA,CAA5C;;QAAA;UAAA;QAAA;MAAA;;MACA,KAAI,CAAC+M,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;;MAEA,IAAI,KAAI,CAACiN,yBAAT,EAAoC;QAClC,IAAIC,WAAW,GAAG9f,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAlB;QACA,IAAIE,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWH,WAAX,CAAlB;QACA,IAAIA,WAAJ,EAAiB,KAAI,CAACI,sBAAL,CAA4BH,WAA5B,EAHiB,CAIlC;MACD;IAbW;EAcb;;EAEKI,QAAQ;IAAA;;IAAA;MACZ,IAAI,CAAC,MAAI,CAACC,oBAAV,EAAgC;QAC9B,MAAI,CAAC7X,IAAL;QACA,MAAM,MAAI,CAACqX,iBAAL,CAAuB,IAAvB,EAA6B,IAA7B,CAAN;MACD;IAJW;EAMb,CA7DmC,CA+DpC;;;EACMA,iBAAiB,CAAC9M,MAAD,EAAeqN,QAAf,EAAiC;IAAA;;IAAA;MAEtD,IAAIrN,MAAJ,EAAY;QACV,MAAI,CAACA,MAAL,GAAcA,MAAd;MACD,CAFD,MAGK;QACHA,MAAM,GAAG,MAAI,CAACA,MAAd;MACD;;MAED,IAAIuN,QAAJ,CATsD,CAWtD;;MACA,MAAI,CAACD,oBAAL,GAA4B,IAA5B;;MAEA,IAAItN,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkC2F,MAAM,CAACwN,GAAP,CAAW,UAAX,CAAtC,EAA8D;QAC5D,MAAI,CAACC,aAAL,SAA2B,MAAI,CAACd,qBAAL,CAA2B3L,oBAA3B,CAAgDhB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,CAAhD,CAA3B;MACD;;MACD,IAAImH,IAAI,GAAIxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkCnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAA9C;MACA,IAAI8R,UAAU,GAAGU,MAAM,EAAE3F,GAAR,CAAY,YAAZ,CAAjB;MACA,IAAIuL,YAAY,GAAG5F,MAAM,EAAE3F,GAAR,CAAY,cAAZ,CAAnB;MACA,IAAIqT,UAAU,GAAGxgB,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAjB;MACA,IAAIuC,MAAM,GAAG6R,+DAAW,CAAC8L,UAAD,CAAxB;MACA,IAAIvH,OAAO,GAAGjZ,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAd;;MACA,IAAIoY,YAAJ,EAAkB;QAChB,IAAIgG,eAAe,GAAG,OAAO,MAAI,CAACjhB,WAAL,CAAiBka,WAAjB,CAA6Be,YAA7B,CAAP,EAAmDd,cAAzE;MACD;;MAGD,IAAI,CAACuI,QAAL,EAAe;QACb,MAAI,CAAC3D,aAAL,GAAqB,EAArB;QACA,MAAI,CAACjU,IAAL,GAAY,CAAZ;MACD;;MAED,IAAI,MAAI,CAACyK,eAAT,EAA0B;QACxB;QACAqN,QAAQ,SAAS,MAAI,CAACjE,mBAAL,CAAyBqE,uCAAzB,CACfrO,UADe,EAEfvP,MAFe,EAGf6V,YAHe,EAIfgG,eAJe,EAKftJ,QAAQ,CAAC6D,OAAD,CALO,EAMf,IANe,EAOf,IAPe,EAQf,MAAI,CAAC1Q,IARU,EASf,MAAI,CAACK,QATU,CAAjB;MAWD,CAbD,MAcK;QACH,IAAI,CAACkK,MAAM,CAACwN,GAAP,CAAW,iBAAX,CAAL,EAAoC;UAClC;UACA,IAAII,gBAAgB,GAAa,EAAjC;UACAL,QAAQ,SAAS,MAAI,CAACjE,mBAAL,CAAyBuE,yBAAzB,CACfD,gBADe,EAEftO,UAFe,EAGfvP,MAHe,EAIf6V,YAJe,EAKfgG,eALe,EAMftJ,QAAQ,CAAC6D,OAAD,CANO,EAOf,IAPe,EAQf,IARe,EASf,MAAI,CAAC1Q,IATU,EAUf,MAAI,CAACK,QAVU,CAAjB;QAYD,CAfD,MAgBK;UACH;UACA,IAAI0L,IAAI,GAAGxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,IAAiC2F,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,CAAjC,GAAkEnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAA7E;UACA,IAAIogB,gBAAgB,GAAa,EAAjC;;UACA,IAAI,CAAC,MAAI,CAACtO,UAAN,IAAoBkC,IAAxB,EAA8B;YAC5BoM,gBAAgB,CAAChX,IAAjB,CAAsB4K,IAAtB;UACD;;UACD+L,QAAQ,SAAS,MAAI,CAACjE,mBAAL,CAAyBuE,yBAAzB,CACfD,gBADe,EAEftO,UAFe,EAGfvP,MAHe,EAIf6V,YAJe,EAKfgG,eALe,EAMftJ,QAAQ,CAAC6D,OAAD,CANO,EAOf,IAPe,EAQf,IARe,EASf,MAAI,CAAC1Q,IATU,EAUf,MAAI,CAACK,QAVU,CAAjB;QAYD;MACF;;MAED,IAAIyX,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA3B,EAAqC;QACnC,MAAI,CAACgY,eAAL,GAAuB,IAAvB;MACD,CAFD,MAEO;QACL,MAAI,CAACA,eAAL,GAAuB,KAAvB;MACD;;MAED,IAAIC,YAAY,GAAGR,QAAQ,CAAC1V,GAAT,CAAamS,YAAY,IAAG;QAC7C,IAAIgE,mBAAmB,GAAGhE,YAA1B,CAD6C,CAG7C;QACA;QACA;;QAEA,OAAOgE,mBAAP;MACD,CARkB,CAAnB;MAUA,MAAI,CAACtE,aAAL,GAAqB,MAAI,CAACA,aAAL,CAAmBuE,MAAnB,CAA0BF,YAA1B,CAArB;;MAEA,IAAI,MAAI,CAACrE,aAAL,CAAmB7Y,MAAnB,IAA6B,CAAjC,EAAoC;QAClCsD,QAAQ,CAAC+Z,cAAT,CAAwB,wBAAxB,GAAmDC,SAAnD,CAA6DC,GAA7D,CAAiE,QAAjE;MACD,CAFD,MAGK;QACHja,QAAQ,CAAC+Z,cAAT,CAAwB,wBAAxB,GAAmDC,SAAnD,CAA6DE,MAA7D,CAAoE,QAApE;MACD,CA7GqD,CA+GtD;;;MACA,MAAI,CAACf,oBAAL,GAA4B,KAA5B;IAhHsD;EAiHvD;;EAEDF,sBAAsB,CAAC7O,KAAD,EAAe;IACnC,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;EAEDgQ,OAAO,CAAChQ,KAAD,EAAgBiQ,YAAhB,EAAsCC,YAAtC,EAA0D;IAC/D,IAAI,CAAClQ,KAAD,IAAU,CAACiQ,YAAX,IAA2B,CAACC,YAAhC,EAA8C;MAC5C,OAAOlQ,KAAP;IACD;;IAED,OAAOA,KAAK,CAACgQ,OAAN,CAAcC,YAAd,EAA4BC,YAA5B,CAAP;EACD;;EAEDC,uBAAuB,CAAC1E,YAAD,EAAqC;IAC1D,IAAI2E,OAAO,GAAG,IAAInU,IAAJ,CAASiS,2CAAA,CAAMzC,YAAY,CAACK,qBAAb,CAAmCxS,GAAnC,CAAuCsF,CAAC,IAAIA,CAAC,CAACkO,oBAA9C,CAAN,CAAT,CAAd;IACA,OAAOsD,OAAP;EACD;;AAvMmC;;;mBAAzBjC,2BAAyB3gB,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,mGAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,2GAAAA;AAAA;;;QAAzB2gB;EAAyB5a;EAAAsH;IAAA3D;IAAAK;IAAA+Y;IAAAC;IAAAtQ;IAAAiP;EAAA;EAAA1b;EAAAC;EAAAC;EAAAC;IAAA;MCjBtCnG,4DAAAA,cAA2B,CAA3B,EAA2B,OAA3B,EAA2B,CAA3B;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAEFA,4DAAAA,kBAA4B,CAA5B,EAA4B,QAA5B,EAA4B,CAA5B;MAC+BA,wDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MAA0BxN,oDAAAA;MAAIA,0DAAAA;MAC3DA,4DAAAA;MAAIA,oDAAAA;MAAiBA,0DAAAA;MAAMA,wDAAAA;MAK7BA,0DAAAA;MAEAA,wDAAAA;MAMAA,wDAAAA;MAuBAA,wDAAAA;MA6BAA,wDAAAA;MAEAA,4DAAAA;MACEA,wDAAAA;MAIFA,0DAAAA;MAEAA,wDAAAA;;;;MAlFaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAKyBA,uDAAAA;MAAAA,wDAAAA;MAOTA,uDAAAA;MAAAA,wDAAAA;MAMvBA,uDAAAA;MAAAA,wDAAAA;MAuBIA,uDAAAA;MAAAA,wDAAAA;MA6BJA,uDAAAA;MAAAA,wDAAAA;MAGgDA,uDAAAA;MAAAA,wDAAAA;MAMhDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFN;AACA;AAIA;AACA;AAIA;AAEA;;;;;;;;;;;;;;;ICEMA,6DAAAA;IAAwFA,qDAAAA;IAAqCA,2DAAAA;;;;;IAArCA,wDAAAA;IAAAA,gEAAAA;;;;;;IAA8CA,6DAAAA;IAAqCA,qDAAAA;IAA2BA,2DAAAA;;;;;;IACtMA,6DAAAA;IAAyFA,qDAAAA;IAChFA,2DAAAA;;;;;;IAcHA,6DAAAA;IAA6BA,qDAAAA;IAAUA,2DAAAA;;;;;;IACvCA,6DAAAA;IAA4BA,qDAAAA;IAAmBA,2DAAAA;;;;;IAAnBA,wDAAAA;IAAAA,gEAAAA;;;;;;IAG9BA,6DAAAA,eAAkE,CAAlE,EAAkE,IAAlE;IACMA,qDAAAA;IAAcA,2DAAAA;IAClBA,6DAAAA;IAAyBA,qDAAAA;IAAoCA,2DAAAA;;;;;IAApCA,wDAAAA;IAAAA,gEAAAA;;;;;;IAcrBA,6DAAAA;IAA2FA,qDAAAA;IAAgBA,2DAAAA;;;;;IAA1EA,yDAAAA;IAA0DA,wDAAAA;IAAAA,gEAAAA;;;;;;IAC3FA,6DAAAA;IAAiCA,qDAAAA;IAAoCA,2DAAAA;;;;;;;;IAwBjFA,6DAAAA,eAAiH,CAAjH,EAAiH,KAAjH,EAAiH,EAAjH,EAAiH,CAAjH,EAAiH,QAAjH,EAAiH,EAAjH;IAEyHA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,gCAAT;IAA+B,CAA/B;IACnHA,qDAAAA;IACFA,2DAAAA;;;;;IAFqCA,wDAAAA;IAAAA,yDAAAA;IACnCA,wDAAAA;IAAAA,iEAAAA;;;;;;;;;;;;IAlFVA,6DAAAA,WAAkB,CAAlB,EAAkB,SAAlB,EAAkB,CAAlB,EAAkB,CAAlB,EAAkB,QAAlB,EAAkB,CAAlB;IAIiCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,yBAAT;IAAwB,CAAxB;IAA0BA,qDAAAA;IAAIA,2DAAAA;IAK3DA,6DAAAA;IAA+NA,qDAAAA;IACtJA,2DAAAA;IACzEA,6DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;IACKA,qDAAAA;IAA6CA,2DAAAA;IAIpDA,6DAAAA,kBAAsC,EAAtC,EAAsC,KAAtC,EAAsC,CAAtC;IACsCA,yDAAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,cAAT;IAA0B,CAA1B;IAClCA,yDAAAA;IAAsIA,yDAAAA;IACtIA,yDAAAA;IAEAA,6DAAAA;IAA0BA,wDAAAA;IAA6EA,2DAAAA;IAGzGA,6DAAAA;IAA+CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA;IAC7CA,6DAAAA,gBAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB,EAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB,EAAuB,EAAvB,EAAuB,IAAvB;IAIUA,qDAAAA;IAAiBA,2DAAAA;IACrBA,6DAAAA,aAAM,EAAN,EAAM,QAAN;IAAcA,qDAAAA;IAAoBA,2DAAAA;IAGpCA,6DAAAA;IACEA,yDAAAA;IACAA,yDAAAA;IACFA,2DAAAA;IAEAA,yDAAAA;IAIFA,2DAAAA;IAGAA,6DAAAA,gBAAyB,EAAzB,EAAyB,KAAzB,EAAyB,EAAzB,EAAyB,EAAzB,EAAyB,KAAzB,EAAyB,EAAzB,EAAyB,EAAzB,EAAyB,KAAzB,EAAyB,EAAzB,EAAyB,EAAzB,EAAyB,IAAzB;IAIYA,qDAAAA;IAAMA,2DAAAA;IACVA,6DAAAA;;IAA8CA,qDAAAA;IAAYA,2DAAAA;IAE5DA,6DAAAA,gBAAuB,EAAvB,EAAuB,IAAvB;IACMA,qDAAAA;IAAeA,2DAAAA;IACnBA,yDAAAA;IACAA,yDAAAA;IACFA,2DAAAA;IAEFA,6DAAAA,gBAA4B,EAA5B,EAA4B,KAA5B,EAA4B,EAA5B,EAA4B,EAA5B,EAA4B,IAA5B;IAEQA,qDAAAA;IAAQA,2DAAAA;IACZA,6DAAAA;IAAMA,qDAAAA;IAAsBA,2DAAAA;IAE9BA,6DAAAA,gBAAuB,EAAvB,EAAuB,IAAvB;IACMA,qDAAAA;IAAaA,2DAAAA;IACjBA,6DAAAA;IAAMA,qDAAAA;IAA2BA,2DAAAA;IAQ3CA,6DAAAA;IACEA,wDAAAA;IACFA,2DAAAA;IAIFA,yDAAAA;IAOFA,2DAAAA;;;;;IA7EMA,wDAAAA;IAAAA,yDAAAA;IAA2NA,wDAAAA;IAAAA,iEAAAA;IAG1NA,wDAAAA;IAAAA,gEAAAA,0CAAAA,8DAAAA;IAK2DA,wDAAAA;IAAAA,0DAAAA;IACrDA,wDAAAA;IAAAA,yDAAAA;IAAiJA,wDAAAA;IAAAA,yDAAAA;IACjJA,wDAAAA;IAAAA,yDAAAA;IAE0BA,wDAAAA;IAAAA,yDAAAA;IAGUA,wDAAAA;IAAAA,yDAAAA;IAKnCA,wDAAAA;IAAAA,gEAAAA;IACUA,wDAAAA;IAAAA,gEAAAA;IAIPA,wDAAAA;IAAAA,yDAAAA;IACAA,wDAAAA;IAAAA,yDAAAA;IAGHA,wDAAAA;IAAAA,yDAAAA;IAYMA,wDAAAA;IAAAA,qEAAAA,YAAAA,0DAAAA;IAAwCA,wDAAAA;IAAAA,gEAAAA;IAIvCA,wDAAAA;IAAAA,yDAAAA;IACAA,wDAAAA;IAAAA,yDAAAA;IAMDA,wDAAAA;IAAAA,gEAAAA;IAIAA,wDAAAA;IAAAA,gEAAAA;IASOA,wDAAAA;IAAAA,yDAAAA,oFAA+C,oBAA/C,EAA+Cod,yBAA/C,EAA+C,SAA/C,EAA+CA,yBAA/C;IAKnBpd,wDAAAA;IAAAA,yDAAAA;;;;;;IAWVA,6DAAAA,eAAsD,CAAtD,EAAsD,KAAtD,EAAsD,EAAtD,EAAsD,CAAtD,EAAsD,MAAtD,EAAsD,EAAtD;IAE0BA,qDAAAA;IAAUA,2DAAAA;;;;ADpE9B,MAAOujB,0BAAP,CAAiC;EA4BrC5kB,YACUkP,cADV,EAES2V,kBAFT,EAGSzG,QAHT,EAIUne,WAJV,EAKU6e,YALV,EAMS1H,aANT,EAOUhI,cAPV,EAQU0V,QARV,EAQ4B;IAPlB;IACD;IACA;IACC;IACA;IACD;IACC;IACA;IAnCV,gBAAW,IAAIhV,IAAJ,EAAX;IAGA,mBAA+B,EAA/B;IAKA,0BAAsC,EAAtC,CA2B4B,CA1B5B;;IACA,eAAUuU,uEAAV;IACA,eAAUC,uEAAV,CAwB4B,CApB5B;;IACA,mBAAuB,KAAvB;IACA,yBAA6B,IAA7B;IAEA,qBAAgB3H,6EAAhB;IACA,mBAAc8H,2EAAd;IACA,WAAM,KAAN;IACA,gBAAyB,EAAzB;EAcK,CArCgC,CAuCrC;;;EACMliB,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAACwiB,WAAL,GAAmB,IAAnB,CAFY,CAIZ;;MACA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd,CALY,CAMZ;;MACA,KAAI,CAAC6F,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAACM,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MAEA,KAAI,CAACwQ,IAAL,GAAY,KAAI,CAACqF,kBAAL,CAAwBG,iBAApC;MACA,KAAI,CAAC3f,MAAL,GAAc,KAAI,CAAC+R,aAAL,CAAmB6N,qBAAnB,CAAyC,KAAI,CAACzF,IAAL,CAAUna,MAAV,CAAiBwO,KAA1D,EAAiE,IAAjE,CAAd;MAEA,KAAI,CAACqR,iBAAL,SAA+B,KAAI,CAAC9N,aAAL,CAAmB8N,iBAAnB,CAAqC,KAAI,CAAC1F,IAA1C,CAA/B;MAEA,KAAI,CAACtJ,OAAL,GAAe,KAAI,CAACsJ,IAAL,CAAU2F,SAAzB;MACA,KAAI,CAACtM,QAAL,GAAgB,KAAI,CAACzJ,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAAhC,EAA0C/W,MAA1C,CAAiD2Q,CAAC,IAAIA,CAAC,CAAC2S,SAAF,IAAe,KAArE,CAAhB;MACA,KAAI,CAAC5S,kBAAL,GAA0B,KAAI,CAAC6S,qBAAL,CAA2B,KAAI,CAACxM,QAAhC,CAA1B;MAEA,KAAI,CAACyM,+BAAL,GAAuC,KAAI,CAAClW,cAAL,CAAoBmW,kBAApB,CAAuC5iB,SAAvC,CAAkDuO,SAAD,IAAc;QAAG,KAAI,CAACsU,2BAAL,CAAiCtU,SAAjC;MAA6C,CAA/G,CAAvC;MACA,KAAI,CAACuU,uCAAL,GAA+C,KAAI,CAACrW,cAAL,CAAoBsW,yBAApB,CAA8C/iB,SAA9C,CAAyDgjB,UAAD,IAAe;QAAG,KAAI,CAACC,qBAAL,CAA2BD,UAA3B;MAAwC,CAAlH,CAA/C,CApBY,CAsBZ;;MACA,KAAI,CAACZ,WAAL,GAAmB,KAAnB,CAvBY,CAyBZ;;MACA,KAAI,CAACjG,YAAL,CAAkByC,QAAlB,CAA2B,KAAI,CAAC/B,IAAL,CAAUpM,KAAV,GAAkB,aAA7C;IA1BY;EA2Bb,CAnEoC,CAqErC;;;EACMyS,oBAAoB;IAAA;;IAAA;MACxB;MACA,IAAIC,YAAY,GAAG,MAAI,CAACtG,IAAxB;;MACA,IAAI,CAACsG,YAAY,CAACjS,KAAb,IAAsB,KAAtB,IAA+BiS,YAAY,CAACjS,KAAb,IAAsB,IAAtD,KAAiE,MAAI,CAAC2B,eAA1E,EAA2F;QACzFsQ,YAAY,CAACjS,KAAb,GAAqB,IAArB;;QAEA,UAAU,MAAI,CAACgR,kBAAL,CAAwBkB,uBAAxB,CAAgDD,YAAhD,CAAV,EAAyE;UACvE,MAAI,CAACtG,IAAL,CAAU3L,KAAV,GAAkB,IAAlB;UACA,IAAImS,UAAU,GAAkB;YAC9BxW,MAAM,EAAE,MAAI,CAACA,MADiB;YAE9ByW,OAAO,EAAE,0CAFqB;YAG9BC,WAAW,EAAE,MAAI,CAAChQ,OAHY;YAI9BtB,UAAU,EAAE,MAAI,CAAC4K,IAAL,CAAUpM,KAJQ;YAK9B+S,iBAAiB,EAAE,MAAI,CAAC3G,IAAL,CAAUxI,aAAV,CAAwBpJ,WALb;YAM9BwY,OAAO,EAAE,MAAI,CAAC5G,IAAL,CAAU4G,OANW;YAO9BC,KAAK,EAAE,IAPuB;YAQ9BhO,IAAI,EAAE,IARwB;YAS9B+M,SAAS,EAAE,KATmB;YAU9BkB,QAAQ,EAAE,KAVoB;YAW9BC,UAAU,EAAE,IAXkB;YAY9BC,WAAW,EAAEjC,uEAZiB;YAa9BmC,qBAAqB,EAAEhC,sGAbO;YAc9BkC,gBAAgB,EAAEjC,qGAdY;YAe9BmC,kBAAkB,EAACtC,0EAAsBuC;UAfX,CAAhC;UAkBA,MAAM,MAAI,CAAC3X,cAAL,CAAoB4X,UAApB,CAA+BhB,UAA/B,CAAN;QAED;MACF,CA1BD,MA2BK,IAAIF,YAAY,CAACjS,KAAb,IAAsB,IAAtB,IAA8B,MAAI,CAACvE,cAAvC,EAAuD;QAC1DwW,YAAY,CAACjS,KAAb,GAAqB,KAArB;QACA,MAAI,CAAC2L,IAAL,CAAU3L,KAAV,GAAkB,KAAlB;QACA,MAAM,MAAI,CAACgR,kBAAL,CAAwBkB,uBAAxB,CAAgDD,YAAhD,CAAN;MACD;IAlCuB;EAmCzB;;EAEDmB,aAAa;IACX,IAAI,KAAKzH,IAAL,CAAU3L,KAAd,EAAqB;MACnB,IAAI,KAAK2B,eAAT,EAA0B;QACxB,OAAO,UAAP;MACD,CAFD,MAGK;QACH,OAAO,qBAAP;MACD;IACF;;IAED,OAAO,kBAAP;EACD,CAtHoC,CAwHrC;;;EACM0R,MAAM;IAAA;;IAAA;MACV,IAAIC,YAAY,GAAG,MAAI,CAAC3H,IAAxB;MACA2H,YAAY,CAACtT,KAAb,GAAqB,KAArB;;MAEA,UAAU,MAAI,CAACgR,kBAAL,CAAwBkB,uBAAxB,CAAgDoB,YAAhD,CAAV,EAAyE;QACvE,MAAI,CAAC3H,IAAL,CAAU3L,KAAV,GAAkB,KAAlB;MACD;IANS;EAOX;;EAEDwR,qBAAqB,CAACxM,QAAD,EAAuB;IAC1C,IAAIrN,WAAW,GAAGqN,QAAQ,EAAE1L,GAAV,CAAcsF,CAAC,IAAIA,CAAC,CAACjH,WAArB,EAAkC4b,IAAlC,EAAlB;IACA,IAAIC,iBAAiB,GAAG7b,WAAW,EAAEoE,IAAb,CAAkB,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAACuG,QAAF,GAAaF,CAAC,CAACE,QAAf,GAA0B,CAAC,CAA3B,GAA+B,CAA3D,CAAxB;IACA,OAAOsX,iBAAP;EACD;;EAEDC,UAAU,CAACC,WAAD,EAA4B;IACpC,OAAOA,WAAW,CAACC,WAAZ,IAA2BtgB,SAA3B,IAAwCqgB,WAAW,CAACC,WAAZ,CAAwB7L,WAAxB,MAAyC,CAAjF,GAAqF,GAArF,GAA2F,KAAKmJ,QAAL,CAAc2C,SAAd,CAAwBF,WAAW,CAACC,WAApC,CAAlG;EACD;;EAEDE,eAAe,CAACH,WAAD,EAA4B;IACzC,OAAOA,WAAW,CAACI,YAAZ,IAA4BzgB,SAA5B,IAAyCqgB,WAAW,CAACI,YAAZ,CAAyBhM,WAAzB,MAA0C,CAAnF,GAAuF,kBAAvF,GAA4G,KAAKmJ,QAAL,CAAc2C,SAAd,CAAwBF,WAAW,CAACI,YAApC,CAAnH;EACD;;EAEDhV,UAAU,CAACiV,QAAD,EAAe;IACvB,IAAI7U,IAAI,GAAG6U,QAAQ,CAACjM,WAAT,EAAX;;IACA,IAAI5I,IAAI,KAAK,CAAb,EAAgB;MACd,OAAO,GAAP;IACD;;IACD,OAAOA,IAAP;EACD;;EAED8U,WAAW,CAACrI,IAAD,EAAqB;IAC9B,IAAIA,IAAI,CAACsI,QAAL,CAAcrO,UAAd,CAAyB,IAAzB,CAAJ,EAAoC;MAClC,MAAMsO,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWjD,IAAI,CAACwI,QAAhB,CAAf;MACA,MAAMC,iBAAiB,GAAGF,MAAM,CAACG,iBAAjC;;MAEA,IAAID,iBAAiB,CAAC9hB,MAAlB,GAA2B,CAA/B,EAAkC;QAChC,MAAMgiB,aAAa,GAAGrY,IAAI,CAAC2S,KAAL,CAAWwF,iBAAiB,CAAC,CAAD,CAAjB,EAAsBG,aAAjC,CAAtB;;QAEA,IAAI,CAACC,KAAK,CAACF,aAAD,CAAV,EAA2B;UACzB,OAAO,KAAKxV,UAAL,CAAgB,IAAI7C,IAAJ,CAASqY,aAAT,CAAhB,CAAP;QACD;;QACD,OAAO,EAAP;MAED,CARD,MASK;QACH,OAAO,EAAP;MACD;IACF;EAEF;;EAED3C,2BAA2B,CAACtU,SAAD,EAAkB;IAC3C,IAAI4H,gBAAgB,GAAG,KAAKD,QAAL,CAAc/W,MAAd,CAAqB2Q,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQmL,SAAlC,CAAvB;IACA,IAAI1F,WAAW,GAAG,KAAK6Z,qBAAL,CAA2BvM,gBAA3B,CAAlB;IACA,KAAKtG,kBAAL,GAA0BhH,WAA1B;EACD;;EAEDoa,qBAAqB,CAACD,UAAD,EAA4B;IAC/C,KAAKnT,kBAAL,CAAwBtG,IAAxB,CAA6B,GAAGyZ,UAAhC;EACD;;EAED1e,WAAW;IACT,KAAKqe,+BAAL,CAAqCrM,WAArC;IACA,KAAKwM,uCAAL,CAA6CxM,WAA7C;EACD;;AA1LoC;;;mBAA1B2L,4BAA0BvjB,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAAAA,6DAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA;AAAA;;;QAA1BujB;EAA0Bxd;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCxBvCnG,yDAAAA;MA0FAA,yDAAAA;;;;MA1FMA,yDAAAA;MA0FoBA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxF1B;AAIA;AAIA;;;;;;;;;;;;;;;;;;;;;ICRuBA,4DAAAA;IACnBA,oDAAAA;IACFA,0DAAAA;;;;;IAFgGA,wDAAAA,qCAA0B,aAA1B,EAA0Bod,wBAAAA,6DAAAA,qGAA1B;;;;;;IAalGpd,uDAAAA;;;;;;IAGEA,4DAAAA,aAA4F,CAA5F,EAA4F,KAA5F,EAA4F,EAA5F,EAA4F,CAA5F,EAA4F,IAA5F;IAGMA,oDAAAA;IAA0EA,0DAAAA;IAC5EA,4DAAAA;IAAIA,oDAAAA;IAAmBA,0DAAAA;IACvBA,4DAAAA;IACEA,oDAAAA;IACFA,0DAAAA;IACAA,4DAAAA;IAAIA,oDAAAA;IAAgCA,0DAAAA;IACpCA,4DAAAA;IAAIA,oDAAAA;IAAgBA,0DAAAA;IAEtBA,4DAAAA,gBAAyB,EAAzB,EAAyB,GAAzB;IACkCA,oDAAAA;IAAqCA,0DAAAA;IACrEA,4DAAAA;;IACEA,oDAAAA;IACFA,0DAAAA;;;;;;IAfuCA,oEAAAA;IAEnCA,uDAAAA;IAAAA,wDAAAA;IACFA,uDAAAA;IAAAA,gEAAAA;IACEA,uDAAAA;IAAAA,+DAAAA;IAEFA,uDAAAA;IAAAA,gEAAAA;IAEEA,uDAAAA;IAAAA,gEAAAA;IACAA,uDAAAA;IAAAA,+DAAAA;IAGDA,uDAAAA;IAAAA,wDAAAA;IAA6BA,uDAAAA;IAAAA,+DAAAA;IAC7BA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IACDA,uDAAAA;IAAAA,gEAAAA;;;;;;IAfRA,4DAAAA;IACEA,wDAAAA;IAkBFA,0DAAAA;;;;;IAlBsBA,uDAAAA;IAAAA,wDAAAA;;;;;;IA2BGA,uDAAAA;;;;;IAA6EA,wDAAAA;;;;;;;;;;;;;IAD5FA,4DAAAA;IACEA,oDAAAA;IAAaA,wDAAAA;IACjBA,0DAAAA;;;;;;IAFmCA,wDAAAA,YAAAA,6DAAAA,2CAA2C,UAA3C,EAA2ConB,iBAA3C;IAAyFpnB,yDAAAA;IACxHA,uDAAAA;IAAAA,gEAAAA;IAAuBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAYzBA,4DAAAA;IAA4CA,oDAAAA;IAAyBA,0DAAAA;;;;;;IAAzBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAN9CA,4DAAAA,cAAgF,CAAhF,EAAgF,IAAhF;IAEIA,oDAAAA;IAA0EA,0DAAAA;IAC5EA,4DAAAA;IACEA,oDAAAA;IACFA,0DAAAA;IACAA,wDAAAA;IACAA,4DAAAA;IAAIA,oDAAAA;IAAqBA,0DAAAA;IACzBA,4DAAAA;IAAIA,oDAAAA;IAAgBA,0DAAAA;IACpBA,4DAAAA,WAAI,EAAJ,EAAI,MAAJ;;IAAwGA,oDAAAA;IACrCA,0DAAAA;IACnEA,4DAAAA,WAAI,EAAJ,EAAI,MAAJ;IACqCA,oDAAAA;IAAsCA,0DAAAA;;;;;;IAZ9CA,oEAAAA;IACzBA,uDAAAA;IAAAA,wDAAAA;IACFA,uDAAAA;IAAAA,gEAAAA;IAEAA,uDAAAA;IAAAA,gEAAAA;IAEGA,uDAAAA;IAAAA,wDAAAA;IACDA,uDAAAA;IAAAA,+DAAAA;IACAA,uDAAAA;IAAAA,+DAAAA;IACMA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IAA8FA,uDAAAA;IAAAA,+DAAAA;IAGhGA,uDAAAA;IAAAA,wDAAAA;IAA6BA,uDAAAA;IAAAA,+DAAAA;;;;;;;;;;;;;IAxB/CA,4DAAAA,mBAA4D,CAA5D,EAA4D,KAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,CAA5D,EAA4D,IAA5D,EAA4D,EAA5D;IAKUA,wDAAAA;IAGAA,4DAAAA;IAA8EA,oDAAAA;IAAWA,0DAAAA;IAG7FA,4DAAAA;IACEA,wDAAAA;IAeFA,0DAAAA;;;;;IAtByBA,uDAAAA;IAAAA,wDAAAA;IAGjBA,uDAAAA;IAAAA,wDAAAA,YAAAA,6DAAAA;IAIeA,uDAAAA;IAAAA,wDAAAA;;;;;;IAoB7BA,4DAAAA;IAAuDA,oDAAAA;IAA+BA,0DAAAA;;;;;;IAIlFA,4DAAAA;IAAiCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAC5CA,4DAAAA;IAAkCA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAF7CA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACzFA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAFSA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIXA,4DAAAA,WAA8C,CAA9C,EAA8C,KAA9C,EAA8C,EAA9C,EAA8C,CAA9C,EAA8C,MAA9C,EAA8C,EAA9C;IAE0BA,oDAAAA;IAAUA,0DAAAA;;;;ADjE9B,MAAOqnB,wBAAP,CAA+B;EAiCnC;EACA1oB,YACUkP,cADV,EAEU2V,kBAFV,EAGSzG,QAHT,EAIUne,WAJV,EAKSmX,aALT,EAMU0N,QANV,EAM4B;IALlB;IACA;IACD;IACC;IACD;IACC,yBAAkB,CAtC5B;;IACA,0BAA8B,KAA9B;IACA,gBAAW,IAAIhV,IAAJ,EAAX,CAoC4B,CA/B5B;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACA,qBAAyB,KAAzB;IACA,kBAAsB,KAAtB;IAEA,oBAAuB,IAAvB;IAEA,eAAgD,EAAhD,CAuBmB,CAtB5B;;IACA,aAA0B,EAA1B;IAES,sBAA0B,KAA1B;IACA,uBAA0B,EAA1B;IACA,uBAAoC,EAApC;IAGT,uBAA2B,KAA3B;IACA,gBAAoB,KAApB;IAGA,uBAA0B,EAA1B;IACA,cAAS0Y,qEAAT;IAUE,IAAIG,QAAQ,GAAGnG,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,yBAArB,CAAX,CAAf;;IACA,IAAI6lB,QAAQ,IAAI,IAAhB,EAAsB;MACpBA,QAAQ,GAAG,KAAX;IACD;;IACD,KAAKC,aAAL,CAAmBD,QAAnB;IACA,KAAKxD,SAAL,GAAiB,KAAKjP,OAAtB;EACD;;EAEK3T,QAAQ;IAAA;;IAAA;MACZ,IAAI,KAAI,CAAC4iB,SAAL,IAAkB,KAAI,CAACA,SAAL,IAAkB,KAAI,CAACjP,OAA7C,EAAsD;QACpD,KAAI,CAACA,OAAL,GAAe,KAAI,CAACiP,SAApB;MACD;;MAED,MAAM,KAAI,CAAC0D,cAAL,EAAN;MACA,KAAI,CAACC,eAAL,SAA6B,KAAI,CAAC1R,aAAL,CAAmB2R,gCAAnB,CAAoD,KAAI,CAAC7S,OAAzD,CAA7B;IANY;EAOb;;EAED8S,cAAc,CAACC,MAAD,EAAgB;IAC5B,KAAKL,aAAL,CAAmBK,MAAnB;IACA,KAAKC,WAAL,CAAiBD,MAAjB;IAEA,KAAK9D,SAAL,GAAiB,KAAKjP,OAAtB;IACA,KAAKxK,KAAL,GAAa,EAAb;IAEA,KAAKnJ,QAAL;EACD;;EAEDqmB,aAAa,CAACK,MAAD,EAAgB;IAC3B,KAAKN,QAAL,GAAgBM,MAAhB;;IACA,IAAIA,MAAJ,EAAY;MACV,KAAK/S,OAAL,GAAe,aAAf;MACA,KAAKlI,OAAL,GAAe,CAAC;QAAEkU,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAD,EAAwC;QAAED,IAAI,EAAE,gBAAR;QAA0BC,QAAQ,EAAE;MAApC,CAAxC,EAA4G;QAAED,IAAI,EAAE,UAAR;QAAoBC,QAAQ,EAAE;MAA9B,CAA5G,EAA2J;QAAED,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAA3J,CAAf;IACD,CAHD,MAGO;MACL,KAAKjM,OAAL,GAAe,UAAf;MACA,KAAKlI,OAAL,GAAe,CAAC;QAAEkU,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAD,EAAwC;QAAED,IAAI,EAAE,gBAAR;QAA0BC,QAAQ,EAAE;MAApC,CAAxC,EAA4G;QAAED,IAAI,EAAE,eAAR;QAAyBC,QAAQ,EAAE;MAAnC,CAA5G,EAAiK;QAAED,IAAI,EAAE,UAAR;QAAoBC,QAAQ,EAAE;MAA9B,CAAjK,EAAgN;QAAED,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAhN,CAAf;IACD;;IAED3f,YAAY,CAACO,OAAb,CAAqB,yBAArB,EAAgDyf,IAAI,CAACoB,SAAL,CAAeqF,MAAf,CAAhD;EACD;;EAEDC,WAAW,CAACD,MAAD,EAAgB;IACzB,IAAIA,MAAJ,EAAY;MACV,KAAK7V,KAAL,GAAa,qBAAb;IACD,CAFD,MAEO;MACL,KAAKA,KAAL,GAAa,WAAb;IACD;EACF;;EAEKyV,cAAc;IAAA;;IAAA;MAClB,MAAI,CAACrT,eAAL,SAA6B,MAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,MAAI,CAACE,cAAL,CAAoBmG,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP;UAAA,aAAwB,MAAI,CAAC6T,SAAL,CAAe7T,MAAf,CAAxB;QAAA,CAA5C;;QAAA;UAAA;QAAA;MAAA;IAFkB;EAGnB;;EAEKqN,QAAQ;IAAA;;IAAA;MACZ,IAAI,CAAC,MAAI,CAACyG,kBAAV,EAA8B;QAC5B,MAAI,CAACre,IAAL;QACA,MAAM,MAAI,CAACoe,SAAL,CAAe,IAAf,EAAqB,IAArB,CAAN;MACD;IAJW;EAKb;;EAEDzB,eAAe,CAACH,WAAD,EAA4B;IACzC,OAAOA,WAAW,CAACI,YAAZ,IAA4BzgB,SAA5B,IAAyCqgB,WAAW,CAACI,YAAZ,CAAyBhM,WAAzB,MAA0C,CAAnF,GAAuF,kBAAvF,GAA4G,KAAKmJ,QAAL,CAAc2C,SAAd,CAAwBF,WAAW,CAACI,YAApC,CAAnH;EACD;;EAEDL,UAAU,CAACC,WAAD,EAA4B;IACpC,OAAOA,WAAW,CAACC,WAAZ,IAA2BtgB,SAA3B,IAAwCqgB,WAAW,CAACC,WAAZ,CAAwB7L,WAAxB,MAAyC,CAAjF,GAAqF,GAArF,GAA2F,KAAKmJ,QAAL,CAAc2C,SAAd,CAAwBF,WAAW,CAACC,WAApC,CAAlG;EACD;;EAEK2B,SAAS,CAAC7T,MAAD,EAAeqN,QAAf,EAAiC;IAAA;;IAAA;MAC9C,IAAIrN,MAAJ,EAAY;QACV,MAAI,CAACA,MAAL,GAAcA,MAAd;MACD,CAFD,MAGK;QACHA,MAAM,GAAG,MAAI,CAACA,MAAd;MACD;;MAED,IAAI,CAACqN,QAAL,EAAe;QACb,MAAI,CAACjX,KAAL,GAAa,EAAb;QACA,MAAI,CAACX,IAAL,GAAY,CAAZ;MACD,CAX6C,CAa9C;;;MACA,MAAI,CAACqe,kBAAL,GAA0B,IAA1B;MAEA,IAAIvG,QAAQ,GAAqB,EAAjC;;MAEA,IAAI,MAAI,CAAC3M,OAAT,EAAkB;QAChB,IAAIY,IAAI,GAAIxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkCnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAA9C;QACA,IAAIiS,QAAQ,GAAGO,MAAM,EAAE3F,GAAR,CAAY,UAAZ,CAAf;QACA,IAAIiF,UAAU,GAAGU,MAAM,EAAE3F,GAAR,CAAY,YAAZ,CAAjB;QACA,IAAIuL,YAAY,GAAG5F,MAAM,EAAE3F,GAAR,CAAY,cAAZ,CAAnB;QAEA,IAAI+H,aAAa,GAAGlV,YAAY,CAACM,OAAb,CAAqB,QAArB,CAApB;QACA,IAAIuC,MAAM,GAAgBqS,aAAa,IAAI,MAAjB,GAA0B,IAA1B,GAAiCE,QAAQ,CAACF,aAAD,CAAnE;QACA,IAAI2R,cAAc,GAAG7mB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAArB;QACA,IAAIwmB,eAAe,GAAoB,EAAvC;QAEAA,eAAe,CAACC,gBAAhB,GAAmCzS,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsB,CAACA,IAAD,CAAzD;QACAwS,eAAe,CAACE,QAAhB,GAA2BzU,QAA3B;QACAuU,eAAe,CAACG,UAAhB,GAA6B7U,UAA7B;QACA0U,eAAe,CAACI,YAAhB,GAA+BxO,YAA/B;QACAoO,eAAe,CAACK,MAAhB,GAAyBtkB,MAAzB;QACAikB,eAAe,CAACM,SAAhB,GAA4B,MAAI,CAAC1T,OAAjC;QACAoT,eAAe,CAACO,WAAhB,GAA8BjS,QAAQ,CAACyR,cAAD,CAAtC,CAjBgB,CAmBhB;;QACA,IAAIS,YAAY,GAAG,IAAIvB,kEAAJ,EAAnB;QACAuB,YAAY,CAACC,UAAb,GAA0B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAAyBA,GAAG,CAAC5kB,MAAlD,CAA1B;QACAykB,YAAY,CAACI,SAAb,GAAyB5B,uEAAzB;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0B4d,YAA1B,EAvBgB,CAyBhB;;;QACA,IAAIO,aAAa,GAAG,IAAI9B,kEAAJ,EAApB;QACA8B,aAAa,CAACN,UAAd,GAA2B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAAyBA,GAAG,CAACzC,WAAlD,CAA3B;QACA6C,aAAa,CAACH,SAAd,GAA0B5B,wEAA1B;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0Bme,aAA1B,EA7BgB,CA+BhB;;;QACA,IAAIE,YAAY,GAAG,IAAIhC,kEAAJ,EAAnB;QACAgC,YAAY,CAACR,UAAb,GAA0B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAAyBA,GAAG,CAAClV,QAAlD,CAA1B;QACAwV,YAAY,CAACL,SAAb,GAAyB5B,uEAAzB;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0Bqe,YAA1B;;QAEA,IAAI,MAAI,CAAC/U,eAAT,EAA0B;UACxBqN,QAAQ,SAAS,MAAI,CAACgC,kBAAL,CAAwB2F,iBAAxB,CAA0ClB,eAA1C,EAA2D,MAAI,CAACc,eAAhE,EAAiF,MAAI,CAACrf,IAAtF,EAA4F,MAAI,CAACK,QAAjG,CAAjB;QACD,CAFD,MAEO;UACL,IAAI0L,IAAI,IAAI,IAAZ,EAAkB;YAChBwS,eAAe,CAACC,gBAAhB,GAAmC,EAAnC;UACD;;UAED1G,QAAQ,SAAS,MAAI,CAACgC,kBAAL,CAAwB4F,QAAxB,CAAiCnB,eAAjC,EAAkD,MAAI,CAACc,eAAvD,EAAwE,MAAI,CAACrf,IAA7E,EAAmF,MAAI,CAACK,QAAxF,CAAjB;QACD;;QAED,IAAIyX,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA3B,EAAqC;UACnC,MAAI,CAACgY,eAAL,GAAuB,IAAvB;QACD,CAFD,MAEO;UACL,MAAI,CAACA,eAAL,GAAuB,KAAvB;QACD;;QAED,IAAIG,MAAM,GAAG,MAAI,CAAC7X,KAAL,CAAW6X,MAAX,CAAkBV,QAAlB,CAAb;;QACA,MAAI,CAACnX,KAAL,GAAa6X,MAAb;MACD;;MAED,MAAI,CAAC6G,eAAL,GAAuB,EAAvB;MACA,MAAI,CAAChB,kBAAL,GAA0B,KAA1B;IA5E8C;EA6E/C;;EAEDzW,UAAU,CAACiV,QAAD,EAAe;IACvB,IAAI7U,IAAI,GAAG6U,QAAQ,CAACjM,WAAT,EAAX;;IACA,IAAI5I,IAAI,KAAK,CAAb,EAAgB;MACd,OAAO,GAAP;IACD;;IACD,OAAOA,IAAP;EACD;;EAED8U,WAAW,CAACrI,IAAD,EAAqB;IAC9B,IAAIA,IAAI,CAACsI,QAAL,CAAcrO,UAAd,CAAyB,IAAzB,CAAJ,EAAoC;MAClC,MAAMsO,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWjD,IAAI,CAACwI,QAAhB,CAAf;MACA,MAAMC,iBAAiB,GAAGF,MAAM,CAACG,iBAAjC;;MAEA,IAAID,iBAAiB,CAAC9hB,MAAlB,GAA2B,CAA/B,EAAkC;QAChC,MAAMgiB,aAAa,GAAGrY,IAAI,CAAC2S,KAAL,CAAWwF,iBAAiB,CAAC,CAAD,CAAjB,EAAsBG,aAAjC,CAAtB;;QAEA,IAAI,CAACC,KAAK,CAACF,aAAD,CAAV,EAA2B;UACzB,OAAO,KAAKxV,UAAL,CAAgB,IAAI7C,IAAJ,CAASqY,aAAT,CAAhB,CAAP;QACD;;QACD,OAAO,EAAP;MAED,CARD,MASK;QACH,OAAO,EAAP;MACD;IACF;EACF;;EAED6B,eAAe,CAAIU,gBAAJ,EAAqC;IAClD,MAAMC,KAAK,GAAGD,gBAAgB,CAAC9O,QAAjB,GAA4B+O,KAA5B,CAAkC,mBAAlC,CAAd;IACA,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;EACD;;AA3NkC;;;mBAAxBjC,0BAAwBrnB,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,kGAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA;AAAA;;;QAAxBqnB;EAAwBthB;EAAAsH;IAAAwH;IAAA9C;IAAArI;IAAAK;IAAA+Y;IAAAC;IAAAwG;IAAAC;IAAA7c;IAAAkN;IAAApH;IAAAuC;IAAA+T;EAAA;EAAA/iB;EAAAC;EAAAC;EAAAC;IAAA;MCjBrCnG,4DAAAA,kBAAiC,CAAjC,EAAiC,QAAjC,EAAiC,CAAjC;MAC+BA,wDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MAA0BxN,oDAAAA;MAAIA,0DAAAA;MAC3DA,4DAAAA;MAAIA,oDAAAA;MAAWA,0DAAAA;MAAMA,wDAAAA;MAGrBA,4DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;MACKA,oDAAAA;MAAmBA,0DAAAA;MAExBA,4DAAAA,gBAA8B,EAA9B,EAA8B,MAA9B;MACQA,oDAAAA;MAAEA,0DAAAA;MACRA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,iCAAT;MAAuC,CAAvC,EAAwC,eAAxC,EAAwC;QAAA;MAAA,CAAxC;MAAvBxN,0DAAAA;MACAA,uDAAAA;MACAA,4DAAAA;MAAMA,oDAAAA;MAAEA,0DAAAA;MAGZA,wDAAAA;MAEAA,wDAAAA;MAsBAA,wDAAAA;MAgCAA,wDAAAA;MAEAA,4DAAAA;MACEA,wDAAAA;MAIFA,0DAAAA;MAEAA,wDAAAA;;;;MA9EMA,uDAAAA;MAAAA,+DAAAA;MAA0BA,uDAAAA;MAAAA,wDAAAA;MAIzBA,uDAAAA;MAAAA,+DAAAA;MAI6DA,uDAAAA;MAAAA,wDAAAA;MAKvCA,uDAAAA;MAAAA,wDAAAA;MAEJA,uDAAAA;MAAAA,wDAAAA;MAsBfA,uDAAAA;MAAAA,wDAAAA;MAgCJA,uDAAAA;MAAAA,wDAAAA;MAGgDA,uDAAAA;MAAAA,wDAAAA;MAMhDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFN;AACA;AACA;AACA;AACA;AAIA;AAKA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;ICZMA,qEAAAA;IACEA,4DAAAA,eAA0C,CAA1C,EAA0C,MAA1C,EAA0C,EAA1C;IAC4BA,oDAAAA;IAAOA,0DAAAA;IACjCA,4DAAAA;IAAMA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAT;IAAqB,CAArB;IACJA,uDAAAA;IACFA,0DAAAA;IAEJA,mEAAAA;;;;;;IAL8BA,uDAAAA;IAAAA,+DAAAA;IAEfA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IAOnBA,4DAAAA,eAAoD,CAApD,EAAoD,OAApD,EAAoD,EAApD,EAAoD,EAApD;IAC+DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,GAAmB,OAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OAAkCA,yDAAAA,0CAAlC;IAAwE,CAA3F,EAAmB,OAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OAAmFA,yDAAAA,0CAAnF;IAAyH,CAA5I,EAAmB,eAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OACrCA,yDAAAA,6CADqC;IACG,CADtB,EAAmB,YAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OACmBA,yDAAAA,qCADnB;IAC6C,CADhE;IAA7DA,0DAAAA;;;;;IAA6DA,uDAAAA;IAAAA,wDAAAA,0BAAmB,cAAnB,EAAmBqd,aAAnB;;;;;;;;IAY3Drd,4DAAAA;IAAoDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAT;IAAqB,CAArB;IAAuBA,oDAAAA;IAAMA,0DAAAA;;;;;;;;;;;;;;IACjFA,4DAAAA,eAAgE,CAAhE,EAAgE,OAAhE,EAAgE,EAAhE;IAC8CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAA5CA,0DAAAA;IACAA,4DAAAA,iBAA6B,CAA7B,EAA6B,GAA7B;IAAgCA,oDAAAA;IAAiBA,0DAAAA;;;;;IADLA,uDAAAA;IAAAA,wDAAAA,2CAAoC,gBAApC,EAAoCA,6DAAAA,QAApC,EAAoC,SAApC,EAAoC,IAApC;;;;;;;;IAG9CA,4DAAAA,eAAgF,CAAhF,EAAgF,OAAhF,EAAgF,EAAhF;IACoEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAAlEA,0DAAAA;IACAA,4DAAAA,iBAAsD,CAAtD,EAAsD,GAAtD;IAAyDA,oDAAAA;IAA0BA,0DAAAA;;;;;IADjBA,uDAAAA;IAAAA,wDAAAA,uCAAgC,gBAAhC,EAAgCA,6DAAAA,QAAhC;;;;;;;;IAItEA,4DAAAA;IAA+KA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAT;IAAyB,CAAzB;IAA2BA,oDAAAA;IAAmBA,0DAAAA;;;;;;IAI7NA,4DAAAA;IAAwBA,oDAAAA;IAAiBA,0DAAAA;;;;;;;;IACzCA,4DAAAA;IAAgEA,oDAAAA;IAC9DA,4DAAAA;IAAyGA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAT;IAAsB,CAAtB;IACvGA,uDAAAA;IACFA,0DAAAA;;;;;;IAH8DA,uDAAAA;IAAAA,gEAAAA;;;;;;IAOlEA,4DAAAA;IAAmDA,oDAAAA;IAA0BA,0DAAAA;;;;;;IAC7EA,4DAAAA;IAA4CA,oDAAAA;IACrCA,0DAAAA;;;;;;;;;;;AD5BH,MAAO2pB,sBAAP,CAA6B;EAgDjChrB,YAAmBqP,eAAnB,EAA6DD,cAA7D,EAAqGF,cAArG,EAA6IjP,WAA7I,EAAqK;IAAlJ;IAA0C;IAAwC;IAAwC;IAzCpI,6BAAiC,KAAjC;IACA,6BAAiC,KAAjC;IACA,sBAA0B,KAA1B,CAuC4J,CArCrK;;IACU,oBAA6C,IAAIyH,uDAAJ,EAA7C;IAIV,iBAAY,KAAZ;IACA,wBAAmB,KAAnB;IACA,mBAA+B,EAA/B;IACA,sBAAiB,QAAjB;IACA,aAAiB,KAAjB;IACA,YAAe,EAAf;IACA,mBAAc,EAAd;IAKA,kBAAqB,EAArB;IAEA,mBAAwB,EAAxB;IAEA,iBAAsB,EAAtB;IACA,qBAAgBoH,+EAAhB;IACA,cAAiB,KAAKI,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAjB;IAIA,8BAAkC,IAAlC;IACA,0BAA8B,KAA9B;IACA,iBAAoB,EAApB;IACA,cAAkB,KAAlB;IAeA,cAAS,IAAI9N,0CAAJ,EAAT;IACA,cAAS,IAAIA,0CAAJ,EAAT;;IAoBA,cAAuDopB,KAAD,IAA8B;MAClF,MAAMC,cAAc,GAAGD,KAAK,CAACpnB,IAAN,CAAW0P,6DAAY,CAAC,GAAD,CAAvB,EAA8BC,qEAAoB,EAAlD,CAAvB;MACA,MAAM2X,sBAAsB,GAAG,KAAKC,MAAL,CAAYvnB,IAAZ,CAAiB/B,uDAAM,CAAC,MAAM,CAAC,KAAKyB,QAAL,CAAc8nB,WAAd,EAAR,CAAvB,CAA/B;MACA,MAAMC,WAAW,GAAG,KAAKC,MAAzB;MAEA,IAAIC,YAAY,GAAG,CAAC,GAAG,IAAIC,GAAJ,CAAQ,KAAKC,OAAb,CAAJ,CAAnB;MAEA,OAAOX,4CAAK,CAACG,cAAD,EAAiBI,WAAjB,EAA8BH,sBAA9B,CAAL,CAA2DtnB,IAA3D,CACLsJ,oDAAG,CAAEmH,IAAD,IAAS;QACX,MAAMqE,YAAY,GAAIrE,IAAI,KAAK,EAAT,GAAckX,YAAd,GAA6BA,YAAY,CAAC1pB,MAAb,CAAqB6pB,CAAD,IAAOA,CAAC,CAAC/U,WAAF,GAAgBgV,OAAhB,CAAwBtX,IAAI,CAACsC,WAAL,EAAxB,IAA8C,CAAC,CAA1E,CAAnD;QACA4U,YAAY,GAAG7S,YAAf,CAFW,CAGX;;QACA,IAAIrE,IAAI,KAAK,EAAT,IAAeA,IAAI,CAACnO,MAAL,KAAgB,CAAnC,EAAsC;UACpC,KAAK5C,QAAL,CAAcsoB,YAAd;QACD;;QACD,OAAOlT,YAAY,CAACmT,KAAb,CAAmB,CAAnB,EAAsB,EAAtB,CAAP;MACD,CARE,CADE,CAAP;IAWD,CAlBD;;IA3BE,KAAKC,YAAL,GAAoB,IAAIjS,sDAAJ,CAAc;MAChCkS,UAAU,EAAE,IAAInS,wDAAJ,CAAgB,EAAhB;IADoB,CAAd,CAApB;EAGD;;EAMKtX,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC0pB,iBAAL,GAAyB,KAAI,CAAC7c,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAAhC,CAAyC1L,GAAzC,CAA6C,CAAC;QAAEkL;MAAF,CAAD,KAAcA,IAA3D,EAAiE+O,IAAjE,GAAwEja,GAAxE,CAA4E,CAAC;QAAEqM;MAAF,CAAD,KAAiBA,OAA7F,CAAzB;MACA,KAAI,CAAC0S,4BAAL,GAAoC,KAAI,CAAC9c,cAAL,CAAoB+c,uBAApB,CAA4CxpB,SAA5C,CAAuD0V,IAAD,IAAU,KAAI,CAAC+T,mBAAL,CAAyB/T,IAAzB,CAAhE,CAApC;MACA,KAAI,CAACgU,2BAAL,GAAmC,KAAI,CAACjd,cAAL,CAAoBkd,sBAApB,CAA2C3pB,SAA3C,CAAsD0V,IAAD,IAAU,KAAI,CAACkU,iBAAL,CAAuBlU,IAAvB,CAA/D,CAAnC;MACA,KAAI,CAACmU,uBAAL,GAA+B,KAAI,CAACpd,cAAL,CAAoBqd,gBAApB,CAAqC9pB,SAArC,CAAgDwW,OAAD,IAAa,KAAI,CAACuT,WAAL,CAAiBvT,OAAjB,CAA5D,CAA/B;MAEA,KAAI,CAACwT,WAAL,GAAmB,KAAI,CAACvd,cAAL,CAAoBud,WAApB,EAAiCxf,GAAjC,CAAqC,CAAC;QAAEqM;MAAF,CAAD,KAAiBA,OAAtD,CAAnB;MACA,KAAI,CAACkS,OAAL,GAAe,KAAI,CAACO,iBAAL,EAAwB1I,MAAxB,CAA+B,KAAI,CAACoJ,WAApC,CAAf;;MAEA,KAAI,CAACZ,YAAL,CAAkBa,YAAlB,CAA+BjqB,SAA/B,CAAyC8P,CAAC,IAAG;QAAG,KAAI,CAACoa,KAAL,GAAa,KAAI,CAACC,OAAL,EAAb;MAA6B,CAA7E;;MAEA,KAAI,CAACC,QAAL,GAAgB,KAAI,CAAC3d,cAAL,CAAoBoQ,IAApC;MAEA,KAAI,CAAChK,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAACM,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,KAAI,CAACge,sBAAL,GAA8B,IAA9B;IAfY;EAgBb;;EAsBDT,iBAAiB,CAACU,iBAAD,EAAqC;IACpD,IAAIA,iBAAiB,IAAI/lB,SAAzB,EAAoC;MAClC,KAAKgmB,WAAL,CAAiBhhB,IAAjB,CAAsB+gB,iBAAiB,CAACzT,OAAxC;MACA,IAAI2T,gBAAgB,GAAGF,iBAAiB,CAACG,OAAlB,CAA0BvJ,OAA1B,CAAkC,SAAlC,EAA6C,IAA7C,CAAvB;MACA,KAAKwJ,uBAAL,CAA6BF,gBAA7B,EAA+C,IAA/C;IACD;;IAAA;EACF;;EAEDf,mBAAmB,CAAC9W,MAAD,EAA4B;IAC7CA,MAAM,CAAC3J,OAAP,CAAe2hB,KAAK,IAAG;MACrB,IAAI,CAAC,KAAKJ,WAAL,CAAiBpX,QAAjB,CAA0BwX,KAAK,CAAC9T,OAAhC,CAAL,EAA+C;QAC7C,KAAK0T,WAAL,CAAiBhhB,IAAjB,CAAsBohB,KAAK,CAAC9T,OAA5B;MACD;IACF,CAJD;IAMA,IAAI+T,gBAAgB,GAAGjY,MAAM,CAACnI,GAAP,CAAWsF,CAAC,IAAIA,CAAC,CAAC2a,OAAlB,EAA2BI,IAA3B,CAAgC,IAAhC,CAAvB;IACA,KAAKH,uBAAL,CAA6BE,gBAA7B,EAA+C,KAA/C;EACD;;EAEOF,uBAAuB,CAACI,WAAD,EAAsBC,aAAtB,EAA4C;IACzE;IACA,IAAIC,WAAW,GAAG,KAAKA,WAAvB;;IACA,IAAIA,WAAJ,EAAiB;MACf,IAAID,aAAJ,EAAmB;QACjB,IAAID,WAAW,CAAC/T,IAAZ,GAAmBvT,MAAnB,GAA4B,CAAhC,EAAmC;UACjC,IAAIynB,cAAc,GAAG,6BAArB;UACAH,WAAW,GAAGA,WAAW,CAAC5J,OAAZ,CAAoB,MAApB,EAA4B,IAA5B,CAAd;UACA4J,WAAW,GAAG,OAAOG,cAAc,KAAKH,WAAW,EAAnD;UAEAE,WAAW,CAACA,WAAZ,CAAwBE,UAAxB,CAAmCJ,WAAW,CAACtnB,MAA/C,EAAuDsnB,WAAvD;UACA,IAAIK,UAAU,GAAGH,WAAW,CAACA,WAAZ,CAAwBI,OAAxB,GAAkCnC,OAAlC,CAA0CgC,cAA1C,CAAjB;UACAD,WAAW,CAACA,WAAZ,CAAwBK,UAAxB,CAAmCF,UAAnC,EAA+CF,cAAc,CAACznB,MAA9D,EAAsE,MAAtE,EAA8E,IAA9E;UACAwnB,WAAW,CAACA,WAAZ,CAAwBM,YAAxB,CAAqC,CAArC,EAAwC,CAAxC;UAEA,KAAKf,WAAL,CAAiBhhB,IAAjB,CAAsB,yBAAtB;QACD;MACF,CAbD,MAcK;QACHyhB,WAAW,CAACA,WAAZ,CAAwBE,UAAxB,CAAmCJ,WAAW,CAACtnB,MAA/C,EAAuDsnB,WAAvD;MACD;;MAED,KAAKS,mBAAL,CAAyBP,WAAzB;IACD;EACF;;EAEOO,mBAAmB,CAACP,WAAD,EAAkC;IAC3D,MAAMQ,aAAa,GAAGR,WAAW,CAACS,UAAZ,EAAwBxa,aAA9C;;IACA,IAAIua,aAAJ,EAAmB;MACjBA,aAAa,CAACE,cAAd,CAA6B;QAAEC,QAAQ,EAAE,QAAZ;QAAsBC,KAAK,EAAE;MAA7B,CAA7B;IACD,CAFD,MAEO;MACL5oB,OAAO,CAACD,KAAR,CAAc,0DAAd;IACD;EACF;;EAEqC8oB,UAAU,CAAC5rB,KAAD,EAAW;IACzD,KAAK6rB,aAAL,GAAqB,UAArB;IACA7rB,KAAK,CAAC8rB,cAAN;EACD;;EAEsCC,WAAW,CAAC/rB,KAAD,EAAW;IAC3D,KAAK6rB,aAAL,GAAqB,UAArB;IACA7rB,KAAK,CAAC8rB,cAAN;EACD;;EAEoCE,SAAS,CAAChsB,KAAD,EAAW;IACvD,KAAK6rB,aAAL,GAAqB,UAArB;IACA7rB,KAAK,CAAC8rB,cAAN;EACD;;EAEsCG,WAAW,CAACjsB,KAAD,EAAW;IAC3D,KAAK6rB,aAAL,GAAqB,UAArB;IACA7rB,KAAK,CAAC8rB,cAAN;EACD;;EAEiCI,MAAM,CAAClsB,KAAD,EAAW;IACjD,KAAK6rB,aAAL,GAAqB,UAArB;IACA7rB,KAAK,CAAC8rB,cAAN;IACA9rB,KAAK,CAACmsB,eAAN;;IACA,IAAInsB,KAAK,CAACosB,YAAN,CAAmB3I,KAAvB,EAA8B;MAC5B,IAAIA,KAAK,GAAWzjB,KAAK,CAACosB,YAAN,CAAmB3I,KAAvC;MACA,KAAK4I,YAAL,CAAkB;QAAEC,UAAU,EAAE,IAAd;QAAoB9B,OAAO,EAAE,EAA7B;QAAiC/G,KAAK,EAAEA;MAAxC,CAAlB;IACD;EACF;;EAED4I,YAAY,CAACE,QAAD,EAAmE;IAC7E,IAAIC,SAAS,GAAG,CAAhB;;IACA,IAAID,QAAQ,CAACD,UAAb,EAAyB;MACvB;MACA,KAAK,IAAI9gB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+gB,QAAQ,CAAC9I,KAAT,CAAelgB,MAAnC,EAA2CiI,CAAC,EAA5C,EAAgD;QAC9C;QACAghB,SAAS,IAAID,QAAQ,CAAC9I,KAAT,CAAejY,CAAf,EAAkBihB,IAA/B;QAEA,MAAMC,eAAe,GAAGC,kBAAkB,CAACJ,QAAQ,CAAC9I,KAAT,CAAejY,CAAf,EAAkB4C,IAAnB,CAA1C;QACA,MAAMwe,aAAa,GAAGF,eAAe,CAAChf,KAAhB,CAAsB,GAAtB,CAAtB;QACA,MAAMmf,SAAS,GAAGD,aAAa,CAACjf,GAAd,EAAlB;QACA,MAAMmf,eAAe,GAAGF,aAAa,CAAChC,IAAd,CAAmB,GAAnB,EAAwB3J,OAAxB,CAAgC,gBAAhC,EAAkD,GAAlD,CAAxB;QACA,MAAM8L,WAAW,GAAGD,eAAe,GAAG,GAAlB,GAAwBD,SAA5C;QAEA,KAAKjkB,WAAL,CAAiBU,IAAjB,CAAsB;UAAEvL,IAAI,EAAE,IAAImJ,IAAJ,CAAS,CAACqlB,QAAQ,CAAC9I,KAAT,CAAejY,CAAf,CAAD,CAAT,CAAR;UAAuChE,QAAQ,EAAEulB;QAAjD,CAAtB;;QAEA,IAAIP,SAAS,IAAI,KAAKQ,cAAtB,EAAsC;UACpC,KAAKC,UAAL,CAAgB,KAAKrkB,WAAL,CAAiBrF,MAAjB,GAA0B,CAA1C;UACAipB,SAAS,IAAID,QAAQ,CAAC9I,KAAT,CAAejY,CAAf,EAAkBihB,IAA/B;UACA,KAAKS,cAAL;QACD;MACF;;MACD,KAAKjD,KAAL,GAAa,KAAKC,OAAL,EAAb;IACD,CArBD,MAqBO;MACLnnB,OAAO,CAACD,KAAR,CAAcypB,QAAQ,CAAC/B,OAAvB;IACD;EACF;;EAED0C,cAAc;IACZ,KAAKC,SAAL,GAAiB,IAAjB;IACA1sB,UAAU,CAAC,MAAK;MACd,KAAK0sB,SAAL,GAAiB,KAAjB;IACD,CAFS,EAEP,IAFO,CAAV;EAGD;;EAEDF,UAAU,CAACna,KAAD,EAAc;IACtB;IACA,KAAKlK,WAAL,CAAiBwkB,MAAjB,CAAwBta,KAAxB,EAA+B,CAA/B;IACA,KAAKmX,KAAL,GAAa,KAAKC,OAAL,EAAb;IAA4B;EAC7B;;EAEDmD,aAAa;IACX,IAAG,KAAKlD,QAAR,EAAiB;MACf,IAAIrG,qBAAqB,GAAG,KAAKqG,QAAL,CAAc5H,SAAd,IAA2B3G,0FAA3B,GAA2DkG,mFAA3D,GAA6FA,mFAAzH;IACD;;IAGD,IAAG,CAAC,KAAKsI,sBAAT,EACA;MACEtG,qBAAqB,GAAGhC,gFAAxB;IACD;;IAED,IAAI2L,eAAe,GAAG,KAAKtE,YAAL,CAAkBlY,KAAlB,CAAwBmY,UAA9C;IACA,IAAIsE,gBAAgB,GAAGD,eAAe,CAACva,QAAhB,CAAyB,YAAzB,IAAyC,KAAK1G,cAAL,CAAoBmhB,mBAApB,CAAwCF,eAAxC,CAAzC,GAAoGA,eAA3H;;IAEA,IAAG,KAAKG,cAAR,EAAuB;MACrB,IAAGje,OAAO,CAAC,sFAAD,CAAV,EAAmG;QACjG,IAAIke,cAAc,GAAmB;UAEnCxK,OAAO,EAAEqK,gBAF0B;UAInC9kB,WAAW,EAAE,KAAKA,WAJiB;UAKnC0hB,WAAW,EAAE,KAAKA,WALiB;UAMnC1G,WAAW,EAAEjC,qEANsB;UAOnCmC,qBAAqB,EAAEhC,mFAPY;UAQnCkC,gBAAgB,EAAEjC,qGARiB;UASnCmC,kBAAkB,EAAGtC,0EATc;UAUnCoM,MAAM,EAAE,KAAKA,MAVsB;UAWnCC,gBAAgB,EAAE,KAAK7D,sBAXY;UAYnC9b,SAAS,EAAE,KAAKA;QAZmB,CAArC;;QAeA,IAAG,KAAK4f,qBAAL,IAA8B,KAAKN,cAAtC,EAAqD;UACnD,KAAKxD,sBAAL,GAA+B,KAAK+D,kBAApC;UACAN,cAAc,CAAC/J,qBAAf,GAAwChC,mFAAxC;;UACA,IAAG,KAAKsI,sBAAL,IAA+B,IAAlC,EAAuC;YACrCyD,cAAc,CAAC3J,kBAAf,GAAoCtC,0EAApC;UACD,CAFD,MAEK;YACHiM,cAAc,CAAC3J,kBAAf,GAAoCtC,8EAApC;UACD;QACF;;QAED,KAAKyM,YAAL,CAAkBvmB,IAAlB,CAAuB+lB,cAAvB;MACD;IACF,CA7BD,MA6BK;MACH,IAAIA,cAAc,GAAmB;QACnCxK,OAAO,EAAEqK,gBAD0B;QAEnC9kB,WAAW,EAAE,KAAKA,WAFiB;QAGnC0hB,WAAW,EAAE,KAAKA,WAHiB;QAInC1G,WAAW,EAAEjC,qEAJsB;QAKnCmC,qBAAqB,EAAEA,qBALY;QAMnCE,gBAAgB,EAAEjC,qGANiB;QAOnCmC,kBAAkB,EAAGtC,0EAPc;QAQnCoM,MAAM,EAAE,KAAKA,MARsB;QASnCC,gBAAgB,EAAE,KAAK7D,sBATY;QAUnC9b,SAAS,EAAE,KAAKA;MAVmB,CAArC;;MAaA,IAAG,KAAK4f,qBAAR,EAA8B;QAC5B,KAAK9D,sBAAL,GAA+B,KAAK+D,kBAApC;QACAN,cAAc,CAAC/J,qBAAf,GAAwChC,mFAAxC;;QACA,IAAG,KAAKsI,sBAAL,IAA+B,IAAlC,EAAuC;UACrCyD,cAAc,CAAC3J,kBAAf,GAAoCtC,0EAApC;QACD,CAFD,MAEK;UACHiM,cAAc,CAAC3J,kBAAf,GAAoCtC,8EAApC;QACD;MACF;;MAED,KAAKyM,YAAL,CAAkBvmB,IAAlB,CAAuB+lB,cAAvB;IACD;;IACC,KAAKjlB,WAAL,GAAmB,EAAnB;IACA,KAAKugB,YAAL,CAAkBmF,KAAlB;IACA,KAAKhE,WAAL,GAAmB,EAAnB;IACA,KAAKL,KAAL,GAAa,KAAb;IACA,KAAK+D,MAAL,GAAc,KAAd;IACA,KAAK5D,sBAAL,GAA8B,IAA9B;EAEH;;EAED1U,MAAM,CAAC1V,KAAD,EAAyCyW,GAAzC,EAAoD;IACxD,IAAI,CAAC,KAAK7D,eAAV,EAA2B;MACzB,IAAI,KAAK0X,WAAL,CAAiBlS,IAAjB,CAAsBvI,CAAC,IAAIA,CAAC,IAAI4G,GAAhC,KAAwC,IAA5C,EAAkD;QAChD,KAAK6T,WAAL,CAAiBhhB,IAAjB,CAAsBmN,GAAtB;MACD;IACF;;IAEDzW,KAAK,CAAC8rB,cAAN;IACArV,GAAG,GAAG,EAAN;IACA,KAAK8X,KAAL,GAAa,EAAb;EACD;;EAEDC,SAAS,CAAC1b,KAAD,EAAc;IACrB,KAAKwX,WAAL,CAAiB8C,MAAjB,CAAwBta,KAAxB,EAA+B,CAA/B;EACD,CAzTgC,CA2TjC;EACA;EACA;EACA;;;EAEM2b,cAAc;IAAA;;IAAA;MAClB,IAAI;QACF,IAAIC,YAAY,SAAS,MAAI,CAACjiB,eAAL,CAAqBkiB,kBAArB,CAAwC,MAAI,CAACxE,QAAL,CAAc7Z,kBAAd,CAAiC,CAAjC,CAAxC,EAA6E,CAAC,MAAI,CAAC6Z,QAAL,CAAc1W,eAAf,CAA7E,CAAzB;;QACA,MAAI,CAAC7K,WAAL,CAAiBU,IAAjB,CAAsB;UAAEvL,IAAI,EAAE,IAAImJ,IAAJ,CAAS,CAACwnB,YAAY,CAAC3wB,IAAd,CAAT,CAAR;UAAuCyJ,QAAQ,EAAEknB,YAAY,CAAClnB;QAA9D,CAAtB;;QACA,MAAI,CAACyiB,KAAL,GAAa2E,OAAO,CAAE,MAAI,CAAChmB,WAAL,CAAiBrF,MAAjB,GAA0B,CAA1B,IAA+B,MAAI,CAAC8N,IAAL,IAAa,EAA7C,IAAoD,MAAI,CAACwd,WAAL,CAAiB5E,KAAtE,CAApB;MACD,CAJD,CAIE,OAAOtT,CAAP,EAAU;QACV,MAAI,CAACmY,gBAAL,GAAwB,IAAxB;QACAruB,UAAU,CAAC,MAAK;UACd,MAAI,CAACquB,gBAAL,GAAwB,KAAxB;QACD,CAFS,EAEP,IAFO,CAAV;MAGD;IAViB;EAYnB;;EAED5E,OAAO;IACL,OAAO0E,OAAO,CAAC,CAAC,KAAKhmB,WAAL,CAAiBrF,MAAjB,GAA0B,CAA1B,IAA+B,EAAE,KAAK4lB,YAAL,CAAkBlY,KAAlB,CAAwBmY,UAAxB,IAAsC,IAAtC,IAA8C,KAAKD,YAAL,CAAkBlY,KAAlB,CAAwBmY,UAAxB,IAAsC,EAAtF,CAAhC,KAA8H,KAAKD,YAAL,CAAkBc,KAAjJ,CAAd;EACD;;EAED5lB,WAAW;IACT,KAAKolB,2BAAL,CAAiCpT,WAAjC;IACA,KAAKiT,4BAAL,CAAkCjT,WAAlC;IACA,KAAKuT,uBAAL,CAA6BvT,WAA7B;EACD;;EAEDyT,WAAW,CAACvT,OAAD,EAAoB;IAC7B,KAAKjI,SAAL,GAAiBiI,OAAO,CAACpT,EAAzB;IACA,KAAK6qB,MAAL,GAAc,IAAd;IACA,IAAIe,kBAAkB,GAAG,EAAzB;;IAEA,IAAIxY,OAAO,CAAC8M,OAAR,EAAiBvM,IAAjB,GAAwBvT,MAAxB,GAAiC,CAArC,EAAwC;MACtC,IAAIyrB,KAAK,GAAGzY,OAAO,CAAC8M,OAAR,CAAgB3V,KAAhB,CAAsB,IAAtB,CAAZ;;MACA,KAAK,IAAIlC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwjB,KAAK,CAACzrB,MAA1B,EAAkCiI,CAAC,EAAnC,EAAuC;QACrC,IAAIyjB,QAAQ,GAAG,KAAKC,eAAL,CAAqBF,KAAK,CAACxjB,CAAD,CAA1B,CAAf;;QAEA,IAAIwjB,KAAK,CAACxjB,CAAD,CAAL,CAASsL,IAAT,GAAgBvT,MAAhB,GAAyB,CAA7B,EAAgC;UAC9B,IAAI,CAACyrB,KAAK,CAACxjB,CAAD,CAAL,CAASqL,UAAT,CAAoB,WAApB,CAAL,EAAuC;YACrC,IAAIrL,CAAC,IAAIwjB,KAAK,CAACzrB,MAAN,GAAe,CAAxB,EAA2B;cACzBwrB,kBAAkB,IAAIE,QAAtB;YACD,CAFD,MAGK;cACHF,kBAAkB,IAAIE,QAAQ,GAAG,IAAjC;YACD;UACF;QACF;MACF;IACF;;IAED,KAAKxE,uBAAL,CAA6BsE,kBAA7B,EAAiD,KAAjD;EACD;;EAEDI,UAAU;IACR,KAAK7gB,SAAL,GAAiB,IAAjB;IACA,KAAK0f,MAAL,GAAc,KAAd;IACA,KAAKjD,WAAL,CAAiBA,WAAjB,CAA6BqE,UAA7B,CAAwC,CAAxC,EAA2C,KAAKrE,WAAL,CAAiBA,WAAjB,CAA6BsE,SAA7B,EAA3C;EACD;;EAEDH,eAAe,CAACI,IAAD,EAAa;IAC1B,MAAMC,GAAG,GAAG1oB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;IACAyoB,GAAG,CAACC,SAAJ,GAAgBF,IAAhB;IAEA,OAAO,KAAKG,WAAL,CAAiBF,GAAjB,CAAP;EACD;;EAEDE,WAAW,CAACC,IAAD,EAAW;IACpB,IAAIre,IAAI,GAAG,EAAX;;IAEA,IAAIqe,IAAI,CAACC,QAAL,KAAkBC,IAAI,CAACC,SAA3B,EAAsC;MACpCxe,IAAI,IAAIqe,IAAI,CAACI,WAAb;IACD,CAFD,MAEO,IAAIJ,IAAI,CAACC,QAAL,KAAkBC,IAAI,CAACG,YAAvB,IAAuCL,IAAI,YAAYM,OAA3D,EAAoE;MACzE,IAAIN,IAAI,CAAC9Y,OAAL,KAAiB,IAArB,EAA2B;QACzBvF,IAAI,IAAI,IAAR;MACD,CAFD,MAEO,IAAIqe,IAAI,CAAC9Y,OAAL,KAAiB,IAArB,EAA2B;QAChCvF,IAAI,IAAI,SAASqe,IAAI,CAACI,WAAL,CAAiBhZ,IAAjB,EAAjB;MACD,CAFM,MAEA;QACL,KAAK,IAAItL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkkB,IAAI,CAACO,UAAL,CAAgB1sB,MAApC,EAA4CiI,CAAC,EAA7C,EAAiD;UAC/C6F,IAAI,IAAI,KAAKoe,WAAL,CAAiBC,IAAI,CAACO,UAAL,CAAgBzkB,CAAhB,CAAjB,CAAR;QACD;MACF;IACF;;IAED,OAAO6F,IAAP;EACD;;AAjZgC;;;mBAAtB+W,wBAAsB3pB,+DAAAA,CAAAA,8EAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAtB2pB;EAAsB5jB;EAAAkH;IAAA;;;;;;;;;;;;;;;;;eAAtBO;MAAkB;QAAA,OAAlBA,uBAAkB;MAAC;QAAA,OAAnBA,qBAAmB;MAAF;QAAA,OAAjBA,uBAAiB;MAAE;QAAA,OAAnBA,kBAAmB;MAAL;;;;;;;;;;;;;;;;MCvB3BxN,4DAAAA,cAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC;MAGMA,wDAAAA;MAQFA,0DAAAA;MAGFA,wDAAAA;MAIFA,0DAAAA;MAEAA,4DAAAA;MAAiCA,wDAAAA;QAAA,OAAYwN,mBAAZ;MAA2B,CAA3B;MAC/BxN,uDAAAA,cAAwD,CAAxD,EAAwD,cAAxD,EAAwD,CAAxD,EAAwD,CAAxD;MAEAA,4DAAAA,cAAkC,EAAlC,EAAkC,wBAAlC,EAAkC,EAAlC;MAC0BA,wDAAAA;QAAA,OAAgBwN,wBAAhB;MAAoC,CAApC;MAAmExN,0DAAAA;MAC3FA,4DAAAA;MAAkEA,oDAAAA;MAAIA,0DAAAA;MACtEA,4DAAAA;MACEA,wDAAAA;MACAA,wDAAAA;MAIAA,wDAAAA;MAIFA,0DAAAA;MACAA,wDAAAA;MACFA,0DAAAA;MAEAA,4DAAAA;MACEA,wDAAAA;MACAA,wDAAAA;MAKFA,0DAAAA;MAEAA,wDAAAA;MACAA,wDAAAA;MAEFA,0DAAAA;;;;MAjDoCA,uDAAAA;MAAAA,wDAAAA;MAWXA,uDAAAA;MAAAA,wDAAAA;MAMnBA,uDAAAA;MAAAA,wDAAAA;MACkBA,uDAAAA;MAAAA,mEAAAA;MACUA,uDAAAA;MAAAA,wDAAAA,WAAAA,6DAAAA;MAEgCA,uDAAAA;MAAAA,wDAAAA;MACtDA,uDAAAA;MAAAA,wDAAAA;MAEGA,uDAAAA;MAAAA,wDAAAA;MACHA,uDAAAA;MAAAA,wDAAAA;MAIAA,uDAAAA;MAAAA,wDAAAA;MAKkEA,uDAAAA;MAAAA,wDAAAA;MAItEA,uDAAAA;MAAAA,wDAAAA;MAC6BA,uDAAAA;MAAAA,wDAAAA;MAORA,uDAAAA;MAAAA,wDAAAA;MACAA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnD7B;AACA;AACA;AACA;AACA;AAEA;AAIA;AAEA;AAEA;;;;;;;;;;;;;;;;;;;ICFeA,4DAAAA;IAAiFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAT;IAAuB,CAAvB;IAA0BA,oDAAAA;IAA4CA,0DAAAA;;;;;IAA5CA,uDAAAA;IAAAA,gEAAAA;;;;;;;;IAU9GA,4DAAAA,eAA6D,CAA7D,EAA6D,MAA7D,EAA6D,EAA7D;IACsGA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,sCAAT;IAAiC,CAAjC;IAChGA,oDAAAA;IACHA,0DAAAA;IACAA,4DAAAA;IAAMA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,wDAAT;IAA2B,CAA3B;IACHA,uDAAAA;IACHA,0DAAAA;;;;;;IAJGA,uDAAAA;IAAAA,gEAAAA;IAGSA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IARrBA,4DAAAA,eAAiE,CAAjE,EAAiE,IAAjE,EAAiE,EAAjE;IAC+CA,oDAAAA;IAAIA,0DAAAA;IAChDA,4DAAAA;IACGA,wDAAAA;IAQHA,0DAAAA;IACAA,4DAAAA,eAAkB,CAAlB,EAAkB,KAAlB,EAAkB,EAAlB,EAAkB,CAAlB,EAAkB,OAAlB,EAAkB,EAAlB,EAAkB,EAAlB;IAEuGA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,GAAmB,OAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OAAkCA,yDAAAA,0CAAlC;IAAwE,CAA3F,EAAmB,OAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OACxGA,yDAAAA,0CADwG;IAClE,CAD+C,EAAmB,eAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OACKA,yDAAAA,6CADL;IAC6C,CADhE,EAAmB,YAAnB,EAAmB;MAAAA,2DAAAA;MAAA;MAAA,OAC6DA,yDAAAA,qCAD7D;IACuF,CAD1G;IAAjGA,0DAAAA;;;;;IAX0CA,uDAAAA;IAAAA,wDAAAA;IAWuDA,uDAAAA;IAAAA,wDAAAA,0BAAmB,cAAnB,EAAmBiyB,aAAnB,EAAmB,WAAnB,EAAmBA,gBAAnB;;;;;;;;IAQ1GjyB,4DAAAA;IAAmEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAT;IAAuB,CAAvB;IAAyBA,oDAAAA;IAAKA,0DAAAA;;;;;;;;IACjGA,4DAAAA;IAAyDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAT;IAAwB,CAAxB;IAA0BA,oDAAAA;IAAMA,0DAAAA;;;;;;;;IACzFA,4DAAAA;IAAsDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAT;IAAuB,CAAvB;IAAyBA,oDAAAA;IAAIA,0DAAAA;;;;;;;;IAGhFA,4DAAAA;IAAuDA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,6CAAT;IAAwC,CAAxC;IACpDA,oDAAAA;IACHA,0DAAAA;;;;;;IADGA,uDAAAA;IAAAA,gEAAAA;;;;;;;;;;;;;;IAGNA,4DAAAA,eAAmE,CAAnE,EAAmE,OAAnE,EAAmE,EAAnE;IACOA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,mEAAT;IAA0D,CAA1D,EAA2D,eAA3D,EAA2D;MAAAA,2DAAAA;MAAA;MAAA;IAAA,CAA3D;IAAPA,0DAAAA;IACAA,4DAAAA,iBAAyD,CAAzD,EAAyD,GAAzD;IAA4DA,oDAAAA;IAA0BA,0DAAAA;;;;;IAD2CA,uDAAAA;IAAAA,wDAAAA,2CAAoC,gBAApC,EAAoCA,6DAAAA,QAApC;;;;AD3BjI,MAAOkyB,oBAAP,CAA2B;EA8C/BvzB,YAAoB6e,SAApB,EAAqDzP,cAArD,EAA6FokB,mBAA7F,EAA8InkB,eAA9I,EAAwLH,cAAxL,EAAgOjP,WAAhO,EAAkQwzB,QAAlQ,EAAqR;IAAjQ;IAAiC;IAAwC;IAAiD;IAA0C;IAAwC;IAAkC;IA3CzP,6BAAiC,KAAjC;IAGA,6BAAiC,KAAjC;IACC,wBAAmB,IAAI/rB,uDAAJ,EAAnB;IAKV,mBAA4B,EAA5B;IACA,cAAiB,EAAjB;IACA,iBAAYsrB,wEAAZ;IACA,mBAAcC,0EAAd;IACA,iBAAYC,wEAAZ;IACA,cAASrW,qEAAT;IACA,eAAUkW,sEAAV;IACA,iBAAsB,EAAtB,CA2BqR,CA1BrR;;IACA,mBAA+B,EAA/B;IACA,qBAAgBjkB,8EAAhB;IAKA,cAAiB,KAAKI,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAjB;IACA,iBAAoB,GAApB;IACA,iBAAqB,IAArB;IACA,cAAS,IAAI9N,0CAAJ,EAAT;IACA,cAAS,IAAIA,0CAAJ,EAAT;IAKA,gBAAoB,KAApB;IACA,mBAAuB,KAAvB;IACA,oBAAwB,KAAxB;IAGA,+BAAkC,OAAlC;IACA,kBAAa,KAAb;IACA,kBAAa,KAAb;IACA,8BAAyB,KAAzB;;IAiEA,cAA8CopB,KAAD,IAA8B;MACzE,MAAMC,cAAc,GAAGD,KAAK,CAACpnB,IAAN,CAAW0P,mDAAY,CAAC,GAAD,CAAvB,EAA8BC,2DAAoB,EAAlD,CAAvB;MACA,MAAM2X,sBAAsB,GAAG,KAAKC,MAAL,CAAYvnB,IAAZ,CAAiB/B,6CAAM,CAAC,MAAM,CAAC,KAAKyB,QAAL,EAAe8nB,WAAf,EAAR,CAAvB,CAA/B;MACA,MAAMC,WAAW,GAAG,KAAKC,MAAzB;MAEA,OAAOR,4CAAK,CAACG,cAAD,EAAiBI,WAAjB,EAA8BH,sBAA9B,CAAL,CAA2DtnB,IAA3D,CACLsJ,0CAAG,CAAEmH,IAAD,IACF,CAACA,IAAI,KAAK,EAAT,GAAc,KAAKoX,OAAnB,GAA6B,KAAKA,OAAL,CAAa5pB,MAAb,CAAqB6pB,CAAD,IAAOA,CAAC,CAAC/U,WAAF,GAAgBgV,OAAhB,CAAwBtX,IAAI,CAACsC,WAAL,EAAxB,IAA8C,CAAC,CAA1E,CAA9B,EAA4GkV,KAA5G,CAAkH,CAAlH,EAAqH,EAArH,CADC,CADE,CAAP;IAKD,CAVD;EA/D0R;;EAEpRvpB,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACiJ,WAAL,GAAmB,KAAI,CAAC2N,OAAL,EAAc3N,WAAjC;MACA,KAAI,CAAC8D,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,KAAI,CAACwG,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MAEA,IAAI,KAAI,CAACwG,eAAT,EAA0B;QACxB;QACA,KAAI,CAACke,SAAL,GAAiB,KAAjB,CAFwB,CAGxB;;QACA,KAAI,CAACC,SAAL,GAAiB,CAAjB;MACD,CALD,MAMK;QACH,KAAI,CAACA,SAAL,GAAiB,GAAjB;QACA,KAAI,CAACD,SAAL,GAAiB,IAAjB;MACD;;MAED,IAAIrzB,IAAI,SAAU,KAAI,CAACJ,WAAL,CAAiBK,cAAjB,EAAlB;MAEA,KAAI,CAACszB,WAAL,GAAmB,KAAI,CAACza,OAAL,CAAaqN,WAAb,IAA4BjC,yEAA5B,IAAqD,KAAI,CAACpL,OAAL,CAAa2a,MAAb,IAAuBzzB,IAAI,CAAC0F,EAApG;MACA,KAAI,CAACguB,YAAL,GAAoB,KAAI,CAAC5a,OAAL,CAAa2a,MAAb,IAAuBzzB,IAAI,CAAC0F,EAA5B,IAAkC,KAAI,CAACuJ,cAA3D;MAEA,KAAI,CAAC4d,WAAL,GAAmB,KAAI,CAAC9d,cAAL,CAAoByJ,QAApB,CAA6B/W,MAA7B,CAAoC2Q,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQ,KAAI,CAACoT,OAAL,CAAapT,EAA9D,EAAkEoH,GAAlE,CAAsEsF,CAAC,IAAIA,CAAC,CAAC4F,IAA7E,EAAmF+O,IAAnF,EAAnB;MAEA,IAAI4M,cAAc,GAAG,KAAI,CAAC5kB,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAAhC,CAAyC1L,GAAzC,CAA6CsF,CAAC,IAAIA,CAAC,CAAC4F,IAApD,EAA0D+O,IAA1D,EAArB;MACA,KAAI,CAAC6E,iBAAL,GAAyB,CAAC,GAAG,IAAIR,GAAJ,CAAQuI,cAAc,EAAE7mB,GAAhB,CAAoB,CAAC;QAAEqM;MAAF,CAAD,KAAiBA,OAArC,CAAR,CAAJ,CAAzB;MACA,KAAI,CAACmT,WAAL,GAAmB,KAAI,CAACvd,cAAL,CAAoBud,WAApB,EAAiCxf,GAAjC,CAAqC,CAAC;QAAEqM;MAAF,CAAD,KAAiBA,OAAtD,CAAnB;MACA,KAAI,CAACkS,OAAL,GAAe,CAAC,GAAG,IAAID,GAAJ,CAAQ,KAAI,CAACQ,iBAAL,EAAwB1I,MAAxB,CAA+B,KAAI,CAACoJ,WAApC,EAAiDpJ,MAAjD,CAAwD,KAAI,CAAC0Q,cAA7D,CAAR,CAAJ,CAAf;;MAEA,IAAG,KAAI,CAACnD,qBAAR,EAA8B;QAC5B,IAAIoD,YAAY,SAAU,KAAI,CAACV,mBAAL,CAAyBW,0BAAzB,CAAoD,KAAI,CAAChb,OAAL,CAAapT,EAAjE,CAA1B;;QAEA,IAAGmuB,YAAY,IAAI,IAAnB,EAAwB;UACtB,KAAI,CAAClH,sBAAL,GAA8BkH,YAAY,CAAC7uB,MAAb,IAAwBmf,8EAAtD;QACD;MAEF;;MAGD,KAAI,CAAC4P,sBAAL;;MAEA,KAAI,CAACC,SAAL,GAxCY,CAyCZ;;;MAEA,KAAI,CAAC7e,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;IA3CY;EA4Cb;;EAEDslB,eAAe;IACb,KAAKC,UAAL,CAAgB3gB,aAAhB,CAA8BnD,KAA9B,CAAoC+jB,SAApC,GAAgD,KAAKC,uBAArD;IAEApxB,UAAU,CAAC,MAAK;MACd,MAAMkxB,UAAU,GAAG,KAAKA,UAAL,CAAgB3gB,aAAnC;MACA,MAAM8gB,eAAe,GAAGH,UAAU,CAACI,YAAnC;MACA,IAAIC,gBAAgB,GAAGhd,QAAQ,CAAC,KAAK6c,uBAAL,CAA6B5Q,OAA7B,CAAqC,IAArC,EAA2C,EAA3C,CAAD,CAA/B;;MAEA,IAAI6Q,eAAe,GAAGE,gBAAtB,EAAwC;QACtC,KAAKC,UAAL,GAAkB,IAAlB;MACD;IAEF,CATS,EASP,CATO,CAAV;EAUD;;EAcDR,SAAS;IACP,KAAKS,MAAL,GAAc,KAAK3b,OAAL,CAAa4b,SAAb,CAAuB,CAAvB,IAA4B,KAAK5b,OAAL,CAAa6b,QAAb,CAAsB,CAAtB,CAA1C;EACD;;EAEDC,eAAe,CAAClrB,IAAD,EAAa;IAC1B,QAAQA,IAAR;MACE,KAAK,MAAL;QACE,OAAO,KAAKipB,SAAZ;;MACF,KAAK,MAAL;QACE,OAAO,KAAKC,WAAZ;;MACF,KAAK,MAAL;QACE,OAAO,KAAKC,SAAZ;;MACF;QACE,OAAO,KAAKrW,MAAZ;IARJ;EAUD;;EAED2E,QAAQ,CAACxe,GAAD,EAAY;IAClB;IACA,OAAO,KAAK6b,SAAL,CAAe4C,sBAAf,CAAsCze,GAAtC,CAAP;EACD;;EAEKkyB,wBAAwB;IAAA;;IAAA;MAC5B,IAAIC,KAAK,SAAS,MAAI,CAAC3B,mBAAL,CAAyBW,0BAAzB,CAAoD,MAAI,CAAChb,OAAL,CAAapT,EAAjE,CAAlB;;MACA,IAAGovB,KAAK,IAAI,IAAZ,EAAiB;QACf,IAAI9vB,MAAM,GAAGmf,0EAAb;;QACA,IAAG,MAAI,CAACwI,sBAAL,IAA+B,KAAlC,EAAwC;UACtC3nB,MAAM,GAAGmf,8EAAT;QACD;;QACD,MAAM,MAAI,CAACgP,mBAAL,CAAyB4B,wBAAzB,CAAkD,MAAI,CAACC,YAAvD,EAAqEhwB,MAArE,CAAN;MACD;IAR2B;EAS7B;;EAEDiwB,YAAY;IACV,IAAIC,SAAS,GAAG,KAAKrI,WAAL,CAAiB/f,GAAjB,CAAqBsF,CAAC,IAAIA,CAAC,CAAC+G,OAA5B,CAAhB;IACA+b,SAAS,GAAGA,SAAS,CAACzzB,MAAV,CAAiB2Q,CAAC,IAAIA,CAAC,IAAI,2BAA3B,CAAZ;IACA8iB,SAAS,CAACrpB,IAAV,CAAe,qBAAf;IAEA,IAAIspB,iBAAiB,GAAwBD,SAAS,CAACpoB,GAAV,CAAcsF,CAAC,IAAG;MAAG,OAAO;QAAE+G,OAAO,EAAE/G,CAAX;QAAc2a,OAAO,EAAE;MAAvB,CAAP;IAAoC,CAAzD,CAA7C;IACA,KAAKhe,cAAL,CAAoBqmB,uBAApB,CAA4ChwB,IAA5C,CAAiD+vB,iBAAjD;EACD,CAjK8B,CAmK/B;EACA;EACA;EACA;EACA;;;EAEMpE,SAAS,CAACrrB,EAAD,EAAW;IAAA;;IAAA;MACxB,IAAI2P,KAAK,GAAG,MAAI,CAACwX,WAAL,CAAiBwI,SAAjB,CAA2BjjB,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQA,EAAxC,CAAZ;;MACA,MAAI,CAACmnB,WAAL,CAAiB8C,MAAjB,CAAwBta,KAAxB,EAA+B,CAA/B;;MACA,MAAM,MAAI,CAACtG,cAAL,CAAoBumB,iBAApB,CAAsC5vB,EAAtC,EAA0C,MAAI,CAACsvB,YAA/C,EAA6D,MAAI,CAAClc,OAAL,CAAapT,EAA1E,EAA8EY,IAA9E,EAAN;IAHwB;EAIzB;;EAEK2R,MAAM,CAACsd,MAAD,EAA0Cvc,GAA1C,EAAqD;IAAA;;IAAA;MAC/D,IAAI,MAAI,CAAC6T,WAAL,CAAiBlS,IAAjB,CAAsBvI,CAAC,IAAIA,CAAC,CAAC+G,OAAF,IAAaH,GAAxC,KAAgD,IAAhD,IAAwDA,GAAG,IAAI,IAAnE,EAAyE;QACvE,IAAInI,SAAS,GAAG,MAAI,CAACiI,OAAL,CAAapT,EAA7B;QACA,IAAI8vB,MAAM,SAAS,MAAI,CAACzmB,cAAL,CAAoB0mB,aAApB,CAAkC,CAACzc,GAAD,CAAlC,EAAyC,MAAI,CAACgc,YAA9C,EAA4DnkB,SAA5D,CAAnB;QACA,MAAI,CAACgc,WAAL,GAAmB,MAAI,CAACA,WAAL,CAAiB3J,MAAjB,CAAwBsS,MAAxB,CAAnB;QACAD,MAAM,CAAClH,cAAP;MACD;;MAED,MAAI,CAACyC,KAAL,GAAa,EAAb;IAR+D;EAShE,CAxL8B,CA0L/B;;;EACMlgB,mBAAmB,CAAC1H,IAAD,EAAiB;IAAA;;IAAA;MACxC;MACA,IAAIY,QAAQ,GAAG,iDAAgD,MAAI,CAACiF,cAAL,CAAoB0B,YAApB,CAAiC,MAAI,CAACqI,OAAL,EAAcpT,EAA/C,EAAmD,MAAI,CAACsvB,YAAxD,EAAsE9rB,IAAI,CAACxD,EAA3E,CAAhD,CAAf,CAFwC,CAGxC;;MACA,IAAIyD,CAAC,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAR;MACAF,CAAC,CAACgH,YAAF,CAAe,MAAf,EAAuBrG,QAAvB;MACAX,CAAC,CAACgH,YAAF,CAAe,UAAf,EAA2BjH,IAAI,CAACyH,IAAhC;MACAxH,CAAC,CAACiH,KAAF,CAAQC,OAAR,GAAkB,MAAlB;MACAjH,QAAQ,CAACE,IAAT,CAAcC,WAAd,CAA0BJ,CAA1B;MACAA,CAAC,CAACa,KAAF;MACAZ,QAAQ,CAACE,IAAT,CAAcgH,WAAd,CAA0BnH,CAA1B;IAVwC;EAWzC;;EAEDusB,WAAW,CAAC1c,GAAD,EAAY;IACrB;IACA,KAAK2c,gBAAL,CAAsBtrB,IAAtB,CAA2B2O,GAA3B;EACD;;EAED4c,YAAY;IACV,KAAKxY,UAAL,GAAkB,CAAC,KAAKA,UAAxB;;IACA,IAAI,CAAC,KAAKA,UAAV,EAAsB;MACpB,KAAK8W,UAAL,CAAgB3gB,aAAhB,CAA8BnD,KAA9B,CAAoC+jB,SAApC,GAAgD,KAAKC,uBAArD;IACD,CAFD,MAGK;MACH,KAAKF,UAAL,CAAgB3gB,aAAhB,CAA8BnD,KAA9B,CAAoC+jB,SAApC,GAAgD,MAAhD;IACD;EACF;;EAEDJ,sBAAsB;IACpB,IAAI,KAAKjb,OAAL,EAAc8M,OAAd,IAAyB,IAAzB,IAAiC,KAAK9M,OAAL,EAAc8M,OAAd,EAAuB9f,MAAvB,GAAgC,CAArE,EAAwE;MACtE,IAAI8f,OAAO,GAAG,KAAK9M,OAAL,CAAa8M,OAAb,CAAqBvM,IAArB,EAAd;;MAEA,IAAIuM,OAAO,CAACnQ,QAAR,CAAiB,YAAjB,CAAJ,EAAoC;QAChCmQ,OAAO,GAAG,KAAK7W,cAAL,CAAoBmhB,mBAApB,CAAwCtK,OAAxC,CAAV;MACH;;MAED,IAAI,CAAC,KAAK9M,OAAL,CAAaoN,UAAlB,EAA8B;QAC5B,IAAI2P,WAAW,GAAG,KAAKC,kBAAL,CAAwBlQ,OAAxB,CAAlB;QACA,KAAKmQ,aAAL,GAAqB,KAAKvX,SAAL,CAAewX,uBAAf,CAAuCH,WAAvC,CAArB;MACD,CAHD,MAIK;QACH,KAAKE,aAAL,GAAqB,KAAKvX,SAAL,CAAewX,uBAAf,CAAuCpQ,OAAvC,CAArB;MACD;IACF;EACF;;EAEDqQ,qBAAqB,CAACC,YAAD,EAAsB;IACzC,KAAKC,QAAL,GAAgBD,YAAhB;EACD,CA3O8B,CA6O/B;;;EACME,aAAa;IAAA;;IAAA;MACjB,MAAM,MAAI,CAACrnB,cAAL,CAAoBqnB,aAApB,CAAkC,MAAI,CAACjnB,MAAvC,EAA+C,MAAI,CAAC2J,OAAL,CAAapT,EAA5D,CAAN;IADiB;EAElB;;EAEK2wB,YAAY;IAAA;;IAAA;MAChB,MAAI,CAACtnB,cAAL,CAAoBqd,gBAApB,CAAqChnB,IAArC,CAA0C,MAAI,CAAC0T,OAA/C;IADgB;EAEjB;;EAEDgd,kBAAkB,CAACliB,IAAD,EAAa;IAC7B;IACA,MAAM0iB,MAAM,GAAG,IAAIC,SAAJ,EAAf,CAF6B,CAG7B;;IACA,MAAMC,GAAG,GAAGF,MAAM,CAACG,eAAP,CAAuB7iB,IAAvB,EAA6B,WAA7B,CAAZ,CAJ6B,CAM7B;;IACA,MAAM8iB,iBAAiB,GAAGF,GAAG,CAACG,gBAAJ,CAAqB,GAArB,CAA1B;IACA,MAAMC,YAAY,GAAGJ,GAAG,CAACK,aAAJ,CAAkB,GAAlB,CAArB;IACA,MAAMC,WAAW,GAAGN,GAAG,CAACK,aAAJ,CAAkB,IAAlB,CAApB,CAT6B,CAW7B;;IACA,IAAIhF,IAAI,GAAG,EAAX,CAZ6B,CAc7B;;IACA6E,iBAAiB,CAACprB,OAAlB,CAA2ByrB,CAAD,IAAM;MAC9B,MAAMC,aAAa,GAAGD,CAAC,CAAC1E,WAAF,EAAehZ,IAAf,EAAtB;;MACA,IAAI2d,aAAJ,EAAmB;QACjBnF,IAAI,IAAI,MAAMmF,aAAa,QAA3B,CADiB,CACoB;MACtC;IACF,CALD;;IAOA,IAAInF,IAAI,CAACxY,IAAL,GAAYvT,MAAZ,IAAsB,CAA1B,EAA6B;MAC3B,IAAI8N,IAAI,CAACyF,IAAL,GAAYvT,MAAZ,GAAqB,CAAzB,EACE+rB,IAAI,GAAG,MAAMje,IAAI,QAAjB,CADF,KAEK;QACHie,IAAI,GAAG,WAAP;MACD;IACF,CA5B4B,CA8B7B;;;IACA,IAAI+E,YAAJ,EAAkB;MAChB/E,IAAI,GAAGA,IAAI,CAACrO,OAAL,CAAa,UAAb,EAAyB,SAASoT,YAAY,CAACvE,WAAb,EAA0BhZ,IAA1B,EAAgC,YAAlE,CAAP;IACD,CAjC4B,CAmC7B;;;IACA,IAAIyd,WAAJ,EAAiB;MACfjF,IAAI,IAAI,QAAR;MACA,MAAMxmB,KAAK,GAAGyrB,WAAW,CAACH,gBAAZ,CAA6B,IAA7B,CAAd,CAFe,CAIf;;MACAtrB,KAAK,CAACC,OAAN,CAAeyB,IAAD,IAAS;QACrB,MAAMwkB,KAAK,GAAGxkB,IAAI,CAACslB,WAAL,EAAkBhZ,IAAlB,GAAyBpJ,KAAzB,CAA+B,IAA/B,EAAqCnD,GAArC,CAAyCmqB,IAAI,IAAIA,IAAI,CAAC5d,IAAL,EAAjD,EAA8D5X,MAA9D,CAAqE0vB,OAArE,KAAiF,EAA/F;QACA,IAAI+F,QAAQ,GAAG,IAAf,CAFqB,CAEA;QAErB;;QACA3F,KAAK,CAACjmB,OAAN,CAAc2rB,IAAI,IAAG;UACnB,IAAIA,IAAI,CAAC7d,UAAL,CAAgB,GAAhB,CAAJ,EAA0B;YACxB,IAAI,CAAC8d,QAAL,EAAe;cACbrF,IAAI,IAAI,SAAR,CADa,CACM;;cACnBqF,QAAQ,GAAG,IAAX,CAFa,CAEI;YAClB;;YACDrF,IAAI,IAAI,OAAOoF,IAAI,CAACE,SAAL,CAAe,CAAf,EAAkB9d,IAAlB,EAAwB,SAAvC,CALwB,CAK0B;UACnD,CAND,MAMO,IAAI4d,IAAI,CAAC7d,UAAL,CAAgB,GAAhB,CAAJ,EAA0B;YAC/B,IAAI8d,QAAJ,EAAc;cACZrF,IAAI,IAAI,QAAR,CADY,CACM;;cAClBqF,QAAQ,GAAG,KAAX,CAFY,CAEM;YACnB;;YACDrF,IAAI,IAAI,OAAOoF,IAAI,CAACE,SAAL,CAAe,CAAf,EAAkB9d,IAAlB,EAAwB,SAAvC,CAL+B,CAKmB;UACnD,CANM,MAMA;YACL;YACA;YACA,IAAI6d,QAAJ,EAAc;cACZrF,IAAI,IAAI,OAAOoF,IAAI,SAAnB,CADY,CACkB;YAC/B;UACF;QACF,CApBD;;QAsBA,IAAI,CAACC,QAAL,EAAe;UACbrF,IAAI,IAAI,SAAR,CADa,CACM;QACpB;MACF,CA9BD;MA+BAA,IAAI,IAAI,SAAR;IACD;;IAED,OAAOA,IAAP;EACD;;AAlU8B;;;mBAApBqB,sBAAoBlyB,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,sFAAAA,GAAAA,+DAAAA,CAAAA,8EAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAApBkyB;EAAoBnsB;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCxBjCjN,4DAAAA,cAA+H,CAA/H,EAA+H,KAA/H,EAA+H,CAA/H,EAA+H,CAA/H,EAA+H,KAA/H,EAA+H,CAA/H,EAA+H,CAA/H,EAA+H,KAA/H,EAA+H,CAA/H,EAA+H,CAA/H,EAA+H,KAA/H,EAA+H,CAA/H,EAA+H,CAA/H,EAA+H,KAA/H,EAA+H,CAA/H;MAMkBA,oDAAAA;MACHA,0DAAAA;MAEHA,4DAAAA,cAA8B,CAA9B,EAA8B,IAA9B,EAA8B,CAA9B;MACyBA,oDAAAA;;MAAkFA,0DAAAA;MACxGA,uDAAAA;MACAA,wDAAAA;MACHA,0DAAAA;MAGNA,uDAAAA;MAGAA,wDAAAA;MAoBHA,0DAAAA;MACAA,4DAAAA;MACGA,wDAAAA;MACAA,wDAAAA;MACAA,wDAAAA;MAEAA,4DAAAA;MACGA,wDAAAA;MAGHA,0DAAAA;MACAA,wDAAAA;MAIHA,0DAAAA;;;;MAhDeA,uDAAAA;MAAAA,gEAAAA;MAImBA,uDAAAA;MAAAA,gEAAAA,uHAAAA,yDAAAA;MACLA,uDAAAA;MAAAA,wDAAAA,iCAAAA,4DAAAA;MACRA,uDAAAA;MAAAA,wDAAAA;MAOkBA,uDAAAA;MAAAA,wDAAAA;MAsBEA,uDAAAA;MAAAA,wDAAAA;MACDA,uDAAAA;MAAAA,wDAAAA;MACFA,uDAAAA;MAAAA,wDAAAA;MAGOA,uDAAAA;MAAAA,wDAAAA;MAIvBA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDzB;AAGA;AACA;AACA;AAEA;AAKA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;ICXQA,6DAAAA;IAA8EA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAgBA,0DAAAA,8BAAhB;IAAqC,CAArC;IAA4DA,2DAAAA;;;;;IAAhGA,yDAAAA;;;;;;;;IAI9BA,6DAAAA;IAA8CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,uEAAT;IAAkE,CAAlE;IAC1CA,6DAAAA;IAA0BA,qDAAAA;IAA0CA,2DAAAA;IACpEA,6DAAAA;IAAOA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,qDAAT;IAAgD,CAAhD;IACHA,wDAAAA;IACJA,2DAAAA;;;;;;IAH0BA,wDAAAA;IAAAA,gEAAAA;IAEbA,wDAAAA;IAAAA,yDAAAA;;;;;;IAJrBA,sEAAAA;IACIA,yDAAAA;IAMJA,oEAAAA;;;;;IANUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAHlBA,6DAAAA,eAA8F,CAA9F,EAA8F,KAA9F,EAA8F,EAA9F;IAEQA,yDAAAA;IAQJA,2DAAAA;;;;;IARoDA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAc5CA,6DAAAA;IAA8CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,uEAAT;IAAkE,CAAlE;IAC1CA,6DAAAA;IAA0BA,qDAAAA;IAA0CA,2DAAAA;IACpEA,6DAAAA;IAAOA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,qDAAT;IAAgD,CAAhD;IACHA,wDAAAA;IACJA,2DAAAA;;;;;;IAH0BA,wDAAAA;IAAAA,gEAAAA;IAEbA,wDAAAA;IAAAA,yDAAAA;;;;;;IAJrBA,sEAAAA;IACIA,yDAAAA;IAMJA,oEAAAA;;;;;IANUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAHlBA,6DAAAA,eAAmG,CAAnG,EAAmG,KAAnG,EAAmG,EAAnG;IAEQA,yDAAAA;IAQJA,2DAAAA;;;;;IARoDA,wDAAAA;IAAAA,yDAAAA;;;;;;IAUxDA,6DAAAA,eAAoI,CAApI,EAAoI,MAApI,EAAoI,CAApI,EAAoI,GAApI;IAEWA,qDAAAA;IAA4BA,2DAAAA;;;;;;IAQvCA,6DAAAA,eAAyC,CAAzC,EAAyC,KAAzC,EAAyC,EAAzC,EAAyC,CAAzC,EAAyC,MAAzC,EAAyC,EAAzC;IAE8BA,qDAAAA;IAAUA,2DAAAA;;;;;;IAGxCA,6DAAAA;IAA8DA,qDAAAA;;IAAgDA,2DAAAA;;;;;IAAhDA,wDAAAA;IAAAA,iEAAAA,kBAAAA,0DAAAA;;;;;;;;IAUlEA,6DAAAA,mBAAoF,CAApF,EAAoF,KAApF,EAAoF,EAApF,EAAoF,CAApF,EAAoF,KAApF,EAAoF,EAApF,EAAoF,CAApF,EAAoF,KAApF,EAAoF,EAApF,EAAoF,CAApF,EAAoF,gBAApF,EAAoF,EAApF,EAAoF,EAApF;IAIoGA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAgCA,0DAAAA,mCAAhC;IAAyD,CAAzD;IAAsGA,2DAAAA;;;;;IAAtIA,wDAAAA;IAAAA,yDAAAA,0EAA+B,aAA/B,EAA+Bw2B,iCAA/B;;;;;;;;IAQhEx2B,6DAAAA,UAA6C,CAA7C,EAA6C,kBAA7C,EAA6C,EAA7C;IAC2JA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAoBA,0DAAAA,mCAApB;IAA6C,CAA7C;IACjEA,2DAAAA;;;;;;IADpEA,wDAAAA;IAAAA,yDAAAA,yBAAmB,QAAnB,EAAmBy2B,aAAnB,EAAmB,cAAnB,EAAmBA,uDAAnB,EAAmB,uBAAnB,EAAmBA,4BAAnB,EAAmB,gBAAnB,EAAmBA,qBAAnB,EAAmB,uBAAnB,EAAmBA,4BAAnB;;;;AD7CxB,MAAOC,oBAAP,CAA2B;EA2D/B/3B,YAAoBoP,cAApB,EAA4DnP,WAA5D,EACUiP,cADV,EACkDC,yBADlD,EACsG;IADlF;IAAwC;IAClD;IAAwC;IAzDzC,gCAAmC,EAAnC;IAOA,uBAA0B,EAA1B;IACA,sCAAqD;MAC5D8P,iBAAiB,EAAE,EADyC;MAE5DC,wBAAwB,EAAE,EAFkC;MAG5DC,mBAAmB,EAAE;IAHuC,CAArD;IAKA,yBAA4B,KAA5B;IAEA,6BAAiC,IAAjC;IACA,6BAAiC,KAAjC;IAEC,sBAAiB,IAAIzX,wDAAJ,EAAjB;IACA,mBAAc,IAAIA,wDAAJ,EAAd;IACV,wBAAiD,IAAI7F,0CAAJ,EAAjD;IACA,mBAA+B,IAAIA,0CAAJ,EAA/B;IACA,2BAAqC,IAAIA,0CAAJ,EAArC;IAIA,gBAAW,IAAIiO,IAAJ,EAAX;IAEA,gBAAsB,EAAtB;IACA,iBAAoB,CAApB;IACA,kBAAa6nB,4EAAb;IACA,qBAAgB7oB,+EAAhB;IAKA,iBAAsB,EAAtB;IACA,mBAAsB,EAAtB;IAEA,wBAA8B,EAA9B;IACA,mCAAuC,KAAvC;IACA,eAAmB,KAAnB;IACA,qBAAwB,EAAxB;IAIA,uBAAsC;MACpCmQ,iBAAiB,EAAE,EADiB;MAEpCC,wBAAwB,EAAE,EAFU;MAGpCC,mBAAmB,EAAE;IAHe,CAAtC;EAW2G;;EAErG5c,QAAQ;IAAA;;IAAA;MAEZ,KAAI,CAAC4iB,SAAL,GAAiB,KAAI,CAAC/V,cAAL,CAAoBoQ,IAApB,EAA0B2F,SAA3C;;MACA,IAAI,KAAI,CAAC6S,eAAL,IAAwB,EAAxB,KAA+B,KAAI,CAAC7S,SAAL,IAAkB,EAAlB,IAAwB,KAAI,CAACA,SAAL,IAAkB,IAAzE,CAAJ,EAAoF;QAClF,KAAI,CAACA,SAAL,GAAiB,KAAI,CAAC6S,eAAtB;MACD;;MACD,IAAG,CAAC,KAAI,CAACxoB,MAAT,EAAgB;QACd,KAAI,CAACA,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACD;;MAED,KAAI,CAAC8P,UAAL,GAAkB,KAAI,CAACrQ,cAAL,CAAoBqQ,UAAtC;MACA,KAAI,CAAC5G,QAAL,GAAiB,KAAI,CAACzJ,cAAL,CAAoByJ,QAApB,CAA6B/W,MAA7B,CAAoC2Q,CAAC,IAAE,CAACA,CAAC,CAAC2S,SAA1C,CAAjB;MACA,KAAI,CAACtM,gBAAL,GAAwB,KAAI,CAACD,QAA7B;MAEA,KAAI,CAACof,8BAAL,GAAsC,KAAI,CAAC7oB,cAAL,CAAoB8oB,wBAApB,CAA6Cv1B,SAA7C,CAAwDw1B,WAAD,IAAgB;QAC3G,KAAI,CAAC/W,eAAL,GAAuB+W,WAAvB;MACD,CAFqC,CAAtC;;MAIA,KAAI,CAACC,aAAL;IAlBY;EAmBb,CAjF8B,CAmF/B;;;EACMA,aAAa;IAAA;;IAAA;MACjB,IAAI;QACF,IAAI,MAAI,CAACC,wBAAL,CAA8B3e,IAA9B,OAAyC,EAA7C,EAAiD;UAC/C,MAAI,CAAC0H,eAAL,SAA6B,MAAI,CAAChS,cAAL,CAAoBkpB,6BAApB,CAAkD,MAAI,CAAC9oB,MAAvD,EAC3B,MAAI,CAAC+oB,8BAAL,CAAoCtZ,iBADT,EAE3B,MAAI,CAACsZ,8BAAL,CAAoCpZ,mBAFT,EAG3B,MAAI,CAACoZ,8BAAL,CAAoCrZ,wBAHT,CAA7B;QAKD,CAND,MAOK;UACH,MAAI,CAACkC,eAAL,SAA6B,MAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,MAAI,CAAChpB,MAA3D,CAA7B;QAED;MACF,CAZD,CAaA,OAAO9J,KAAP,EAAc;QACZC,OAAO,CAACC,GAAR,CAAYF,KAAZ;MACD;IAhBgB;EAiBlB,CArG8B,CAuG/B;;;EACMshB,UAAU,CAACmI,QAAD,EAAyB;IAAA;;IAAA;MACvC,MAAI,CAAC3Z,eAAL,SAA6B,MAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,MAAI,CAAC4O,QAAL,SAAsB,MAAI,CAAC3d,WAAL,CAAiBmB,YAAjB,CAA8B4N,6EAA9B,CAAtB;MACA,MAAI,CAACypB,cAAL,SAA4B,MAAI,CAACx4B,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,IAAIwQ,IAAI,GAAG,MAAI,CAACpQ,cAAL,CAAoBoQ,IAA/B;;MAEA,IAAI2P,QAAQ,CAACyB,MAAb,EAAqB;QACnB,IAAI8H,cAAc,GAAmB;UACnCC,MAAM,EAAE,MAAI,CAACnpB,MADsB;UAEnCopB,SAAS,EAAEzJ,QAAQ,CAACje,SAFe;UAGnC2nB,OAAO,EAAE1J,QAAQ,CAAClJ,OAHiB;UAInC6S,gBAAgB,EAAE3J,QAAQ,CAAC0B,gBAJQ;UAKnCkI,SAAS,EAAE,MAAI,CAACC,SALmB;UAMnCC,WAAW,EAAE,MAAI,CAAC9T,SANiB;UAOnCsE,UAAU,EAAE,MAAI,CAAC7U,UAPkB;UAQnCskB,iBAAiB,EAAE1Z,IAAI,CAAC2G,iBARW;UASnCgT,wBAAwB,EAAE3Z,IAAI,CAAC6Y,wBATI;UAUnCe,OAAO,EAAE,MAAI,CAAChT,OAVqB;UAWnCiT,KAAK,EAAE7Z,IAAI,CAACpM;QAXuB,CAArC;QAcA,MAAM,MAAI,CAAChE,cAAL,CAAoBsd,WAApB,CAAgCgM,cAAhC,CAAN;MACD,CAhBD,MAgBO;QACL,IAAIY,aAAa,GAAkB;UACjC9pB,MAAM,EAAE,MAAI,CAACA,MADoB;UAEjCyW,OAAO,EAAEkJ,QAAQ,CAAClJ,OAFe;UAGjC5N,IAAI,EAAE8W,QAAQ,CAACjC,WAHkB;UAIjCmL,wBAAwB,EAAE,MAAI,CAACA,wBAJE;UAKjCnS,WAAW,EAAE,MAAI,CAACf,SALe;UAMjCvQ,UAAU,EAAE,MAAI,CAACA,UANgB;UAOjCuR,iBAAiB,EAAE,MAAI,CAACA,iBAPS;UAQjCE,KAAK,EAAE8I,QAAQ,CAAC3jB,WARiB;UASjC4a,OAAO,EAAE,MAAI,CAACA,OATmB;UAUjC4S,SAAS,EAAE,MAAI,CAACA,SAViB;UAWjCxS,WAAW,EAAE2I,QAAQ,CAAC3I,WAXW;UAYjCpB,SAAS,EAAE,KAZsB;UAajCkB,QAAQ,EAAE,KAbuB;UAcjCC,UAAU,EAAE,IAdqB;UAejCG,qBAAqB,EAAEyI,QAAQ,CAACzI,qBAfC;UAgBjCE,gBAAgB,EAAEuI,QAAQ,CAACvI,gBAhBM;UAiBjCE,kBAAkB,EAAEqI,QAAQ,CAACrI;QAjBI,CAAnC;;QAoBA,IAAG,MAAI,CAACyS,iBAAR,EAA0B;UACxB,MAAI,CAACC,WAAL,CAAiB9uB,IAAjB,CAAsB,IAAtB;QACD;;QACD,IAAIyO,OAAO,SAAS,MAAI,CAAC/J,cAAL,CAAoB4X,UAApB,CAA+BsS,aAA/B,EAA8C3yB,IAA9C,EAApB;;QAEA,IAAIwS,OAAJ,EAAa;UACX,MAAI,CAACL,gBAAL,GAAwB,MAAI,CAAC1J,cAAL,CAAoB0J,gBAApB,CAAqClJ,IAArC,CAA0C,CAACpG,CAAD,EAAIqG,CAAJ,KAChE,IAAIC,IAAJ,CAASD,CAAC,CAACmJ,WAAX,EAAwBhJ,OAAxB,KAAoC,IAAIF,IAAJ,CAAStG,CAAC,CAACwP,WAAX,EAAwBhJ,OAAxB,EADd,CAAxB;QAGD;;QAED,IAAImJ,OAAO,IAAIjS,SAAX,IAAwB,EAAE,MAAI,CAACie,SAAL,IAAkB3G,qFAAlB,IAA8C,MAAI,CAAC2G,SAAL,IAAkB3G,oFAAhE,IAA2F,MAAI,CAAC2G,SAAL,IAAkB3G,qFAA/G,CAA5B,EAAsK;UACpK,IAAI,CAAC,MAAI,CAAChJ,eAAL,IAAwB,MAAI,CAACoI,QAA9B,KAA2C,MAAI,CAACvY,MAAL,IAAe6R,oEAA9D,EAAgF;YAC9E,MAAM,MAAI,CAAC9G,OAAL,CAAaupB,gBAAb,CAA8B,MAAI,CAACnqB,MAAnC,EAA2C0H,0EAA3C,CAAN;UACD;;UAED,IAAI,MAAI,CAACuhB,cAAL,IAAuB,MAAI,CAACpzB,MAAL,IAAe6R,0EAA1C,EAAkE;YAChE,MAAM,MAAI,CAAC9G,OAAL,CAAaupB,gBAAb,CAA8B,MAAI,CAACnqB,MAAnC,EAA2C0H,oEAA3C,CAAN;UACD;QACF;MACF;IA/DsC;EAgExC,CAxK8B,CA0K/B;;;EAEM0iB,gBAAgB;IAAA;;IAAA;MACpB,MAAI,CAACtd,OAAL,GAAe,IAAf;MACA,MAAMud,oBAAoB,GAAG,EAA7B;MACA,MAAMC,SAAS,GAA2E,EAA1F;;MAEA,KAAK,MAAM3gB,OAAX,IAAsB,MAAI,CAACN,QAA3B,EAAqC;QACnC,IAAIM,OAAO,CAAC8M,OAAR,EAAiBvM,IAAjB,GAAwBvT,MAAxB,GAAiC,CAArC,EAAwC;QAExC,MAAM4zB,aAAa,GAAG,SAAS5gB,OAAO,CAAC4b,SAAS,IAAI5b,OAAO,CAAC6b,QAAQ,KAAK7b,OAAO,CAACH,WAAR,CAAoBghB,YAApB,EAAkC,WAA3G,CAHmC,CAInC;;QACA,MAAM;UAAE/lB,IAAF;UAAQgmB;QAAR,UAAyB,MAAI,CAACC,yBAAL,CAA+B/gB,OAAO,CAAC8M,OAAvC,CAA/B;QACA4T,oBAAoB,CAAC3tB,IAArB,CAA0B6tB,aAAa,GAAG9lB,IAA1C;;QAEA,IAAIkF,OAAO,CAAC3N,WAAR,IAAuB2N,OAAO,CAAC3N,WAAR,CAAoBrF,MAApB,GAA6B,CAAxD,EAA2D;UACzD0zB,oBAAoB,CAAC3tB,IAArB,CAA0B,yBAA1B;;UACA,KAAK,MAAMyZ,UAAX,IAAyBxM,OAAO,CAAC3N,WAAjC,EAA8C;YAC1CquB,oBAAoB,CAAC3tB,IAArB,CAA0B,KAAKyZ,UAAU,CAAC3U,IAAI,EAA9C;UACH;;UACD6oB,oBAAoB,CAAC3tB,IAArB,CAA0B,IAA1B;QACD;;QACD4tB,SAAS,CAAC5tB,IAAV,CAAe,GAAG+tB,MAAlB;MACD;;MAED,MAAM,MAAI,CAACE,WAAL,CACJN,oBAAoB,CAACrM,IAArB,CAA0B,MAA1B,CADI,EAEJsM,SAFI,EAGJ,GAAG,MAAI,CAAC1qB,cAAL,CAAoBoQ,IAApB,CAAyBpM,KAAK,MAAM,MAAI,CAAChE,cAAL,CAAoBoQ,IAApB,CAAyBxI,aAAzB,EAAwCpJ,WAAW,MAHtF,CAAN;MAMA,MAAI,CAAC0O,OAAL,GAAe,KAAf;IA7BoB;EA8BrB;;EAEK4d,yBAAyB,CAAChI,IAAD,EAAa;IAAA;;IAAA;MAC1C,MAAMC,GAAG,GAAG1oB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;MACAyoB,GAAG,CAACC,SAAJ,GAAgBF,IAAhB;MAEA,MAAM+H,MAAM,GAA2E,EAAvF;MACA,MAAMhmB,IAAI,SAAS,MAAI,CAACmmB,qBAAL,CAA2BjI,GAA3B,EAAgC8H,MAAhC,CAAnB;MAEA,OAAO;QAAEhmB,IAAF;QAAQgmB;MAAR,CAAP;IAP0C;EAQ3C;;EAEKG,qBAAqB,CAAC9H,IAAD,EAAa2H,MAAb,EAA6FI,KAAK,GAAG,CAArG,EAAwGC,QAAQ,GAAG,GAAnH,EAAsH;IAAA;;IAAA;MAC/I,IAAID,KAAK,GAAGC,QAAZ,EAAsB;QACpB30B,OAAO,CAAC40B,IAAR,CAAa,0EAAb;QACA,OAAO,EAAP;MACD;;MAED,IAAItmB,IAAI,GAAG,EAAX;;MAEA,IAAIqe,IAAI,CAACC,QAAL,KAAkBC,IAAI,CAACC,SAA3B,EAAsC;QACpCxe,IAAI,IAAIqe,IAAI,CAACI,WAAL,IAAoB,EAA5B;MACD,CAFD,MAGK,IAAIJ,IAAI,CAACC,QAAL,KAAkBC,IAAI,CAACG,YAAvB,IAAuCL,IAAI,YAAYM,OAA3D,EAAoE;QACvE,IAAIN,IAAI,CAAC9Y,OAAL,KAAiB,IAArB,EAA2B;UACzB,MAAMghB,IAAI,GAAGlI,IAAI,CAACmI,eAAL,EAAsB/H,WAAtB,EAAmChZ,IAAnC,EAAb;UACA,MAAMjU,IAAI,GAAG6sB,IAAI,CAACoI,WAAL,EAAkBhI,WAAlB,EAA+BhZ,IAA/B,EAAb;;UAEA,IAAK8gB,IAAI,IAAIA,IAAI,CAACr0B,MAAL,GAAc,CAAvB,IAA8BV,IAAI,IAAIA,IAAI,CAACU,MAAL,GAAc,CAAxD,EAA4D;YAC1D8N,IAAI,IAAI,IAAR;UACD;QACF,CAPD,MAQK,IAAIqe,IAAI,CAAC9Y,OAAL,KAAiB,GAArB,EAA0B;UAC7BvF,IAAI,IAAI,cAAc,MAAI,CAAC0mB,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAApC,EAA2CC,QAA3C,CAAd,IAAsE,IAA9E;QACD,CAFI,MAGA,IAAIhI,IAAI,CAAC9Y,OAAL,KAAiB,IAAjB,IAAyB8Y,IAAI,CAAC9Y,OAAL,KAAiB,IAA9C,EAAoD;UACvDvF,IAAI,IAAI,cAAa,MAAI,CAAC0mB,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAAK,GAAG,CAA5C,EAA+CC,QAA/C,CAAb,CAAR;QACD,CAFI,MAGA,IAAIhI,IAAI,CAAC9Y,OAAL,KAAiB,IAArB,EAA2B;UAE9B,IAAIohB,MAAM,SAAS,MAAI,CAACD,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAAK,GAAG,CAA5C,EAA+CC,QAA/C,CAAnB,CAF8B,CAI9B;;UACA,IAAIO,WAAW,GAAG,CAAlB;UACA,IAAIC,cAAc,GAAGxI,IAAI,CAACyI,YAAL,CAAkB,OAAlB,CAArB;;UAEA,IAAID,cAAc,IAAIA,cAAc,CAAChlB,QAAf,CAAwB,aAAxB,CAAtB,EAA8D;YAC1D,IAAIklB,WAAW,GAAGF,cAAc,CAACnQ,KAAf,CAAqB,wBAArB,CAAlB;;YACA,IAAIqQ,WAAJ,EAAiB;cACbH,WAAW,GAAGjjB,QAAQ,CAACojB,WAAW,CAAC,CAAD,CAAZ,EAAiB,EAAjB,CAAR,GAA+B,EAA7C,CADa,CACoC;YACpD;UACJ,CAb6B,CAe9B;;;UACA,IAAIC,UAAU,GAAG3I,IAAI,CAAC4I,aAAL,EAAoB1hB,OAApB,KAAgC,IAAhC,GACX,GAAGnL,KAAK,CAAC8sB,IAAN,CAAW7I,IAAI,CAAC4I,aAAL,CAAmBE,QAA9B,EAAwCxP,OAAxC,CAAgD0G,IAAhD,IAAwD,CAAC,GADjD,CACsD;UADtD,EAEX,GAFN,CAhB8B,CAoB9B;;UACA,IAAI+I,aAAa,GAAG,IAAIC,MAAJ,CAAWT,WAAW,GAAG,CAAzB,CAApB;UAEA5mB,IAAI,IAAI,KAAKonB,aAAa,GAAGJ,UAAU,IAAIL,MAAM,EAAjD;QAED,CAzBI,MA0BA,IAAItI,IAAI,CAAC9Y,OAAL,KAAiB,MAArB,EAA6B;UAChC,IAAI+hB,QAAQ,SAAS,MAAI,CAACZ,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAApC,EAA2CC,QAA3C,CAArB;UACArmB,IAAI,IAAI,SAASsnB,QAAQ,SAAzB;QACD,CAHI,MAIA,IAAIjJ,IAAI,CAAC9Y,OAAL,KAAiB,MAArB,EAA6B;UAChC,MAAM/I,KAAK,GAAG6hB,IAAI,CAACyI,YAAL,CAAkB,OAAlB,CAAd;UACA,IAAIS,QAAQ,SAAS,MAAI,CAACb,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAApC,EAA2CC,QAA3C,CAArB;;UAEA,IAAI7pB,KAAJ,EAAW;YACP,IAAIgrB,UAAU,GAAGhrB,KAAK,CAACka,KAAN,CAAY,kBAAZ,CAAjB;YACA,IAAI+Q,YAAY,GAAGjrB,KAAK,CAACka,KAAN,CAAY,6BAAZ,CAAnB;;YAEA,IAAI+Q,YAAY,IAAI,IAApB,EAA0B;cACxBF,QAAQ,GAAG,cAAcE,YAAY,CAAC,CAAD,CAAG,IAAIF,QAAQ,cAApD;YACD,CAFD,MAGK;cACHA,QAAQ,GAAG,UAAUC,UAAU,CAAC,CAAD,CAAG,IAAID,QAAQ,UAA9C;YACD;UACJ;;UAEDvnB,IAAI,IAAIunB,QAAR;QACH,CAjBM,MAkBA,IAAIlJ,IAAI,CAAC9Y,OAAL,KAAiB,KAArB,EAA4B;UAC/B,MAAMmiB,MAAM,GAAGrJ,IAAI,CAACyI,YAAL,CAAkB,KAAlB,CAAf;;UACA,IAAIY,MAAJ,EAAY;YACV,MAAMC,GAAG,GAAG,IAAIC,KAAJ,EAAZ;YACAD,GAAG,CAACE,GAAJ,GAAUH,MAAV;YAEA,MAAM,IAAII,OAAJ,CAAaC,OAAD,IAAcJ,GAAG,CAACK,MAAJ,GAAaD,OAAvC,CAAN;YAEA,IAAIE,QAAQ,GAAGN,GAAG,CAACO,YAAnB;YACA,IAAIC,SAAS,GAAGR,GAAG,CAACS,aAApB;YAEA,MAAMC,QAAQ,GAAG,GAAjB,CATU,CASY;;YACtB,MAAM9H,SAAS,GAAG,GAAlB,CAVU,CAUa;;YAEvB,IAAI0H,QAAQ,GAAGI,QAAX,IAAuBF,SAAS,GAAG5H,SAAvC,EAAkD;cAChD,MAAM+H,UAAU,GAAGD,QAAQ,GAAGJ,QAA9B;cACA,MAAMM,WAAW,GAAGhI,SAAS,GAAG4H,SAAhC;cACA,MAAMK,KAAK,GAAGC,IAAI,CAACC,GAAL,CAASJ,UAAT,EAAqBC,WAArB,CAAd;cAEAN,QAAQ,IAAIO,KAAZ;cACAL,SAAS,IAAIK,KAAb;YACD;;YAEDxC,MAAM,CAAC/tB,IAAP,CAAY;cAAE4vB,GAAG,EAAEH,MAAP;cAAelpB,CAAC,EAAE,CAAlB;cAAqBmqB,CAAC,EAAE,CAAxB;cAA2BC,KAAK,EAAEX,QAAlC;cAA4CY,MAAM,EAAEV;YAApD,CAAZ;YACAnoB,IAAI,IAAI,aAAR,CAtBU,CAsBa;UACxB;QACF,CA1BI,MA2BA;UACHA,IAAI,UAAU,MAAI,CAAC0mB,gBAAL,CAAsBrI,IAAtB,EAA4B2H,MAA5B,EAAoCI,KAApC,EAA2CC,QAA3C,CAAd;QACD;MACF;;MACD,OAAOrmB,IAAP;IAzG+I;EA0GhJ;;EAEK0mB,gBAAgB,CAACrI,IAAD,EAAa2H,MAAb,EAA6FI,KAA7F,EAA4GC,QAA5G,EAA4H;IAAA;;IAAA;MAChJ,IAAIrmB,IAAI,GAAG,EAAX;;MAEA,KAAK,MAAM8oB,KAAX,IAAoB1uB,KAAK,CAAC8sB,IAAN,CAAW7I,IAAI,CAACO,UAAhB,CAApB,EAAiD;QAC/C,MAAMmK,SAAS,SAAS,MAAI,CAAC5C,qBAAL,CAA2B2C,KAA3B,EAAkC9C,MAAlC,EAA0CI,KAAK,GAAG,CAAlD,EAAqDC,QAArD,CAAxB;QACArmB,IAAI,IAAI+oB,SAAR;MACD;;MAED,OAAO/oB,IAAP;IARgJ;EASjJ;;EAGKkmB,WAAW,CACflmB,IADe,EAEfgmB,MAFe,EAGf7vB,WAAmB,cAHJ,EAGkB;IAAA;;IAAA;MAEjC,MAAMysB,GAAG,GAAG,IAAIe,6CAAJ,EAAZ;MACA,MAAMqF,MAAM,GAAG,EAAf;MACA,MAAMC,WAAW,GAAG,CAApB;MACA,MAAMC,SAAS,GAAGtG,GAAG,CAACuG,QAAJ,CAAahyB,QAAb,CAAsByxB,KAAtB,GAA8BI,MAAM,GAAG,CAAzD;MACA,MAAMI,UAAU,GAAGxG,GAAG,CAACuG,QAAJ,CAAahyB,QAAb,CAAsB0xB,MAAtB,GAA+BG,MAAM,GAAG,CAA3D;MAEA,IAAIL,CAAC,GAAGK,MAAR;MACA,IAAIxqB,CAAC,GAAGwqB,MAAR;MAEA,MAAMrL,KAAK,GAAG3d,IAAI,CAAC3D,KAAL,CAAW,IAAX,CAAd;;MAEA,KAAK,MAAMgnB,IAAX,IAAmB1F,KAAnB,EAA0B;QACxB,IAAI0F,IAAI,CAAC7d,UAAL,CAAgB,QAAhB,CAAJ,EAA+B;UAC7B,IAAI6d,IAAI,CAACgG,QAAL,CAAc,SAAd,CAAJ,EAA8B;YAC5BzG,GAAG,CAAC0G,YAAJ,CAAiB,EAAjB,EAAqB,GAArB,EAA0B,GAA1B,EAD4B,CACI;;YAChC,MAAMC,SAAS,GAAGlG,IAAI,CAACzT,OAAL,CAAa,QAAb,EAAuB,EAAvB,EAA2BA,OAA3B,CAAmC,SAAnC,EAA8C,EAA9C,CAAlB;YACAgT,GAAG,CAAC5iB,IAAJ,CAASupB,SAAT,EAAoB/qB,CAApB,EAAuBmqB,CAAvB;UACD,CAJD,MAKK,IAAItF,IAAI,CAACxhB,QAAL,CAAc,SAAd,CAAJ,EAA8B;YACjC+gB,GAAG,CAAC0G,YAAJ,CAAiB,EAAjB,EAAqB,GAArB,EAA0B,GAA1B;YACA,MAAME,UAAU,GAAGnG,IAAI,CAAChnB,KAAL,CAAW,SAAX,EAAsB,CAAtB,EAAyBuT,OAAzB,CAAiC,QAAjC,EAA2C,EAA3C,CAAnB,CAFiC,CAEkC;;YACnE,MAAM6Z,SAAS,GAAGpG,IAAI,CAAChnB,KAAL,CAAW,SAAX,EAAsB,CAAtB,EAAyBoJ,IAAzB,EAAlB,CAHiC,CAGkB;;YAEnDmd,GAAG,CAAC5iB,IAAJ,CAASwpB,UAAT,EAAqBhrB,CAArB,EAAwBmqB,CAAxB,EALiC,CAKL;;YAC5BA,CAAC,IAAIM,WAAL;YAEArG,GAAG,CAAC0G,YAAJ,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EARiC,CAQN;;YAC3B1G,GAAG,CAAC5iB,IAAJ,CAASypB,SAAT,EAAoBjrB,CAApB,EAAuBmqB,CAAvB;YACAA,CAAC,IAAIM,WAAL;UACD;QACF,CAlBD,MAmBK,IAAI5F,IAAI,KAAK,SAAb,EAAwB;UAC3B;UACA,IAAI2C,MAAM,CAAC9zB,MAAP,GAAgB,CAApB,EAAuB;YACrB,MAAMw3B,KAAK,GAAG1D,MAAM,CAAC2D,KAAP,EAAd;;YACA,IAAID,KAAJ,EAAW;cACT,MAAME,OAAO,SAAS,MAAI,CAACC,oBAAL,CAA0BH,KAAK,CAAC7B,GAAhC,CAAtB,CADS,CAGT;;cACA,MAAMiC,WAAW,GAAG,IAAIlC,KAAJ,EAApB;cACAkC,WAAW,CAACjC,GAAZ,GAAkB6B,KAAK,CAAC7B,GAAxB;cACA,MAAM,IAAIC,OAAJ,CAAaC,OAAD,IAAc+B,WAAW,CAAC9B,MAAZ,GAAqBD,OAA/C,CAAN;cAEA,IAAIE,QAAQ,GAAG6B,WAAW,CAAClB,KAA3B;cACA,IAAIT,SAAS,GAAG2B,WAAW,CAACjB,MAA5B,CATS,CAWT;;cACA,IAAIZ,QAAQ,GAAGiB,SAAX,IAAwBf,SAAS,GAAGiB,UAAxC,EAAoD;gBAClD,MAAMd,UAAU,GAAGY,SAAS,GAAGjB,QAA/B;gBACA,MAAMM,WAAW,GAAGa,UAAU,GAAGjB,SAAjC;gBACA,MAAMK,KAAK,GAAGC,IAAI,CAACC,GAAL,CAASJ,UAAT,EAAqBC,WAArB,CAAd;gBAEAN,QAAQ,IAAIO,KAAZ;gBACAL,SAAS,IAAIK,KAAb;cACD,CAnBQ,CAqBT;;;cACA,IAAIG,CAAC,GAAGR,SAAJ,GAAgBvF,GAAG,CAACuG,QAAJ,CAAahyB,QAAb,CAAsB0xB,MAAtB,GAA+BG,MAAnD,EAA2D;gBACzD;gBACApG,GAAG,CAACmH,OAAJ;gBACApB,CAAC,GAAGK,MAAJ;cACD;;cAEDpG,GAAG,CAACoH,QAAJ,CAAaJ,OAAb,EAAsB,KAAtB,EAA6BprB,CAA7B,EAAgCmqB,CAAhC,EAAmCV,QAAnC,EAA6CE,SAA7C;cACAQ,CAAC,IAAIR,SAAS,GAAGc,WAAjB,CA7BS,CA6BqB;YAC/B;UACF;QACF,CApCI,MAqCA,IAAI5F,IAAI,CAAC7d,UAAL,CAAgB,cAAhB,CAAJ,EAAqC;UACxCod,GAAG,CAAC5iB,IAAJ,CAASqjB,IAAT,EAAe7kB,CAAf,EAAkBmqB,CAAlB;UACAA,CAAC,IAAIM,WAAL;QACD,CAHI,MAIA,IAAI5F,IAAI,CAAC7d,UAAL,CAAgB,GAAhB,CAAJ,EAA0B;UAC7B,IAAIykB,gBAAgB,GAAG,CAAC5G,IAAI,CAAC3M,KAAL,CAAW,MAAX,KAAsB,CAAC,EAAD,CAAvB,EAA6B,CAA7B,EAAgCxkB,MAAvD;UACA,IAAIg4B,SAAS,GAAG1rB,CAAC,GAAGyrB,gBAAgB,GAAG,CAAvC,CAF6B,CAI7B;;UACA,MAAME,YAAY,GAAGvH,GAAG,CAACwH,eAAJ,CAAoB/G,IAAI,CAAC5d,IAAL,EAApB,EAAiCyjB,SAAS,GAAGgB,SAA7C,CAArB;;UACA,KAAK,MAAMG,WAAX,IAA0BF,YAA1B,EAAwC;YACtCvH,GAAG,CAAC5iB,IAAJ,CAASqqB,WAAT,EAAsBH,SAAtB,EAAiCvB,CAAjC;YACAA,CAAC,IAAIM,WAAL;UACD;QACJ,CAVM,MAWA;UACH,IAAIqB,YAAY,GAAGjH,IAAnB;UACAT,GAAG,CAAC0G,YAAJ,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAFG,CAEwB;;UAE3B,IAAIiB,SAAS,GAAG,EAAhB;UACA,IAAIC,QAAQ,GAAGhsB,CAAf,CALG,CAOH;;UACA,OAAO,yCAAyCd,IAAzC,CAA8C4sB,YAA9C,CAAP,EAAoE;YAClE,IAAI5T,KAAK,GAAG4T,YAAY,CAAC5T,KAAb,CAAmB,wCAAnB,CAAZ;;YACA,IAAIA,KAAJ,EAAW;cACP,IAAI5gB,IAAI,GAAG4gB,KAAK,CAAC,CAAD,CAAhB,CADO,CACc;;cACrB,IAAI9W,KAAK,GAAG8W,KAAK,CAAC,CAAD,CAAL,CAASjR,IAAT,EAAZ;cACA,IAAIzF,IAAI,GAAG0W,KAAK,CAAC,CAAD,CAAhB;;cAEA,IAAI5gB,IAAI,KAAK,OAAb,EAAsB;gBAClBy0B,SAAS,CAACtyB,IAAV,CAAe;kBAAE+H,IAAF;kBAAQyqB,KAAK,EAAE7qB,KAAf;kBAAsB8qB,SAAS,EAAE;gBAAjC,CAAf;cACH,CAFD,MAEO;gBACHH,SAAS,CAACtyB,IAAV,CAAe;kBAAE+H,IAAF;kBAAQyqB,KAAK,EAAE,IAAf;kBAAqBC,SAAS,EAAE9qB;gBAAhC,CAAf;cACH;;cAED0qB,YAAY,GAAGA,YAAY,CAAC1a,OAAb,CAAqB8G,KAAK,CAAC,CAAD,CAA1B,EAA+B,EAA/B,CAAf;YACH;UACF,CAvBE,CAyBH;;;UACA,IAAI4T,YAAY,CAAC7kB,IAAb,OAAwB,EAA5B,EAAgC;YAC5B8kB,SAAS,CAACtyB,IAAV,CAAe;cAAE+H,IAAI,EAAEsqB,YAAR;cAAsBG,KAAK,EAAE,YAA7B;cAA2CC,SAAS,EAAE;YAAtD,CAAf,EAD4B,CACkD;UACjF;;UAED,KAAK,IAAIC,IAAT,IAAiBJ,SAAjB,EAA4B;YACxB,IAAIK,SAAS,GAAGhI,GAAG,CAACiI,YAAJ,CAAiBF,IAAI,CAAC3qB,IAAtB,CAAhB,CADwB,CAGxB;;YACA,IAAI2qB,IAAI,CAACD,SAAT,EAAoB;cAChB,IAAII,GAAG,GAAGH,IAAI,CAACD,SAAL,CAAehU,KAAf,CAAqB,MAArB,EAA6Bxd,GAA7B,CAAiC6xB,MAAjC,CAAV;cACAnI,GAAG,CAACoI,YAAJ,CAAiBF,GAAG,CAAC,CAAD,CAApB,EAAyBA,GAAG,CAAC,CAAD,CAA5B,EAAiCA,GAAG,CAAC,CAAD,CAApC;cACAlI,GAAG,CAACqI,IAAJ,CAAST,QAAQ,GAAG,CAApB,EAAuB7B,CAAC,GAAG,CAA3B,EAA8BiC,SAAS,GAAG,CAA1C,EAA6C,CAA7C,EAAgD,GAAhD,EAHgB,CAGsC;YACzD,CARuB,CAUxB;;;YACA,IAAID,IAAI,CAACF,KAAT,EAAgB;cACZ,IAAIK,GAAG,GAAGH,IAAI,CAACF,KAAL,CAAW/T,KAAX,CAAiB,MAAjB,EAAyBxd,GAAzB,CAA6B6xB,MAA7B,CAAV;cACAnI,GAAG,CAAC0G,YAAJ,CAAiBwB,GAAG,CAAC,CAAD,CAApB,EAAyBA,GAAG,CAAC,CAAD,CAA5B,EAAiCA,GAAG,CAAC,CAAD,CAApC;YACH,CAHD,MAGO;cACHlI,GAAG,CAAC0G,YAAJ,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB;YACH,CAhBuB,CAkBxB;;;YACA,MAAMa,YAAY,GAAGvH,GAAG,CAACwH,eAAJ,CAAoBO,IAAI,CAAC3qB,IAAzB,EAA+BkpB,SAAS,GAAGsB,QAA3C,CAArB;;YACA,KAAK,MAAMH,WAAX,IAA0BF,YAA1B,EAAwC;cACtCvH,GAAG,CAAC5iB,IAAJ,CAASqqB,WAAT,EAAsBG,QAAtB,EAAgC7B,CAAhC;cACAA,CAAC,IAAIM,WAAL;YACD;;YACDuB,QAAQ,IAAII,SAAZ;UACH,CAvDE,CAyDH;;;UACAhI,GAAG,CAAC0G,YAAJ,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB;QACD;;QACDX,CAAC,IAAIM,WAAL;;QAEA,IAAIN,CAAC,GAAG/F,GAAG,CAACuG,QAAJ,CAAahyB,QAAb,CAAsB0xB,MAAtB,GAA+BG,MAAvC,EAA+C;UAC7CpG,GAAG,CAACmH,OAAJ;UACApB,CAAC,GAAGK,MAAJ;QACD;MACF;;MAEDpG,GAAG,CAACsI,IAAJ,CAAS/0B,QAAT;IAzJiC;EA0JlC;;EAEK0zB,oBAAoB,CAAC96B,GAAD,EAAY;IAAA;MACpC,MAAMmsB,QAAQ,SAASiQ,KAAK,CAACp8B,GAAD,CAA5B;MACA,MAAM6G,IAAI,SAASslB,QAAQ,CAACtlB,IAAT,EAAnB;MACA,OAAO,IAAIkyB,OAAJ,CAAqBC,OAAD,IAAY;QACrC,MAAMqD,MAAM,GAAG,IAAIC,UAAJ,EAAf;;QACAD,MAAM,CAACE,SAAP,GAAmB,MAAMvD,OAAO,CAACqD,MAAM,CAACn7B,MAAR,CAAhC;;QACAm7B,MAAM,CAACG,aAAP,CAAqB31B,IAArB;MACD,CAJM,CAAP;IAHoC;EAQrC;;EAED41B,mBAAmB,CAAC3kB,GAAD,EAAY;IAC7B4kB,SAAS,CAACC,SAAV,CAAoBC,SAApB,CAA8B9kB,GAA9B;EACD;;EAED+kB,kBAAkB;IAChB,OAAO,KAAKxpB,eAAZ;EACD;;EAEK4E,aAAa,CAACrY,KAAD,EAAuB;IAAA;;IAAA;MACxC,IAAIk9B,GAAG,SAAS,MAAI,CAAC1wB,cAAL,CAAoB6L,aAApB,CAAkC,MAAI,CAACzL,MAAvC,EAA+C5M,KAAK,CAACmD,EAArD,EAAyD,MAAI,CAACof,SAA9D,CAAhB;MACA,MAAI,CAAC/D,eAAL,GAAuB0e,GAAvB;IAFwC;EAGzC;;EAEKC,gBAAgB,CAAC3e,eAAD,EAAoC;IAAA;;IAAA;MACxD,IAAG;QACD,IAAI4e,IAAI,SAAS,OAAI,CAAC5wB,cAAL,CAAoB2wB,gBAApB,CAAqC,OAAI,CAACvwB,MAA1C,EAAkD4R,eAAe,CAACrb,EAAlE,CAAjB;QACA,OAAI,CAACqb,eAAL,GAAuB4e,IAAvB;MACD,CAHD,CAGC,OAAMzmB,CAAN,EAAQ;QACP,OAAI,CAACpK,yBAAL,CAA+BnO,WAA/B,CAA2C,gDAA3C,EAA4FlB,+GAA5F;MACD;IANuD;EAOzD;;EAEDmgC,kBAAkB,CAAC9mB,OAAD,EAAiB;IACjC,IAAI+mB,SAAS,GAAG/mB,OAAO,CAACH,WAAR,CAAoBmnB,OAApB,KAAgC,CAAhD;IACA,IAAI1J,aAAa,GAAG,IAApB;;IAEA,IAAItd,OAAO,CAAC2a,MAAR,IAAkB,KAAKA,MAA3B,EAAmC;MACjC2C,aAAa,GAAG,KAAhB;;MACA,IAAItd,OAAO,CAAC3N,WAAR,EAAqBrF,MAArB,GAA8B,CAA9B,IAAmC+5B,SAAS,GAAG,KAAKE,QAAL,CAAcD,OAAd,EAAnD,EAA4E;QAC1E1J,aAAa,GAAG,IAAhB;MACD;IACF;;IACD,OAAOA,aAAP;EACD;;EAEK4J,aAAa,CAAC7mB,OAAD,EAAgB;IAAA;;IAAA;MACjC,IAAIA,OAAO,IAAI,EAAf,EAAmB;QACjB,OAAI,CAACV,gBAAL,GAAwB,OAAI,CAACD,QAA7B;MACD,CAFD,MAEO;QACL,OAAI,CAACC,gBAAL,GAAwB,OAAI,CAACD,QAAL,CAAc/W,MAAd,CAAqBqX,OAAO,IAAIA,OAAO,CAACd,IAAR,CAAaiB,IAAb,CAAmBC,CAAD,IAAOA,CAAC,CAACC,OAAF,CAAU5C,WAAV,GAAwB6C,UAAxB,CAAmCD,OAAO,CAAC5C,WAAR,EAAnC,CAAzB,CAAhC,CAAxB;QACA,OAAI,CAACrC,YAAL,GAAoB,EAApB;QACA,OAAI,CAAC+rB,WAAL,GAAmB9mB,OAAnB;MACD;IAPgC;EAQlC;;EAEKnF,WAAW;IAAA;;IAAA;MACf,OAAI,CAACE,YAAL,GAAoB,EAApB;MACA,OAAI,CAACuE,gBAAL,GAAwB,OAAI,CAACD,QAA7B;MACA,OAAI,CAAC0nB,cAAL,CAAoB3sB,aAApB,CAAkCC,KAAlC,GAA0C,EAA1C;IAHe;EAIhB;;EAED2sB,iBAAiB,CAAC3nB,QAAD,EAAuB;IACtC,KAAKC,gBAAL,GAAwBD,QAAxB;EACD;;EAED4nB,iBAAiB,CAACpnB,GAAD,EAAY;IAC3B,KAAKjB,WAAL,CAAiB3S,IAAjB,CAAsB4T,GAAtB;EACD;;EAEDqnB,kBAAkB;IAChB,KAAKC,mBAAL,CAAyBl7B,IAAzB;EACD;;EAEDm7B,WAAW;IACT,KAAKC,qBAAL,CAA2B5nB,WAA3B;IACA,KAAKgf,8BAAL,CAAoChf,WAApC;EACD;;AAzjB8B;;;mBAApB8e,sBAAoB12B,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,uHAAAA;AAAA;;;QAApB02B;EAAoB3wB;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCvBjCjN,6DAAAA,cAAqB,CAArB,EAAqB,KAArB,EAAqB,CAArB,EAAqB,CAArB,EAAqB,IAArB,EAAqB,CAArB;MAGyBA,qDAAAA;MAAUA,2DAAAA;MAC3BA,yDAAAA;MACAA,yDAAAA;MAaAA,yDAAAA;MAYAA,yDAAAA;MAKJA,2DAAAA;MAGAA,6DAAAA;MAEIA,yDAAAA;MAKAA,yDAAAA;MACAA,6DAAAA;MAAgFA,yDAAAA;QAAA,OAASwN,sBAAT;MAA2B,CAA3B;MAA6BxN,qDAAAA;MAAMA,2DAAAA;MAMvHA,6DAAAA;MAAkBA,yDAAAA;QAAA,OAAgBwN,sBAAhB;MAAkC,CAAlC;MAAoLxN,2DAAAA;MACtMA,wDAAAA;MAEAA,yDAAAA;MAWAA,6DAAAA;MACIA,yDAAAA;MAIJA,2DAAAA;;;;MAnEuBA,wDAAAA;MAAAA,yDAAAA;MACbA,wDAAAA;MAAAA,yDAAAA;MAagCA,wDAAAA;MAAAA,yDAAAA;MAYZA,wDAAAA;MAAAA,yDAAAA;MAUAA,wDAAAA;MAAAA,yDAAAA;MAKnBA,wDAAAA;MAAAA,yDAAAA;MACCA,wDAAAA;MAAAA,yDAAAA;MAM0CA,wDAAAA;MAAAA,yDAAAA,qDAA+C,uBAA/C,EAA+CwN,yBAA/C,EAA+C,gBAA/C,EAA+CA,qBAA/C;MAGCxN,wDAAAA;MAAAA,yDAAAA;MAY3BA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DhC;AACA;AAIA;AACA;;;;;;;;;;;;;;;ICSMA,4DAAAA;IAAwFA,oDAAAA;IACnDA,0DAAAA;;;;;IADmDA,uDAAAA;IAAAA,+DAAAA;;;;;;IAC1CA,4DAAAA;IAAqCA,oDAAAA;IACtEA,0DAAAA;;;;;;IACbA,4DAAAA;IAAyFA,oDAAAA;IAChFA,0DAAAA;;;;;;IAiBDA,4DAAAA;IAA4BA,oDAAAA;IAAmBA,0DAAAA;;;;;IAAnBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAK5BA,4DAAAA;IAAkEA,oDAAAA;IAAqCA,0DAAAA;;;;;IAArCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAClEA,4DAAAA;IAA2EA,oDAAAA;IAAsBA,0DAAAA;;;;;;IAGnGA,4DAAAA,eAAuC,CAAvC,EAAuC,IAAvC;IACMA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAMA,oDAAAA;IAAkBA,0DAAAA;;;;;IAAlBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAeNA,uDAAAA;;;;;;;;IADFA,4DAAAA;IAA4GA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,gBAAT;IAAe,CAAf;IAC1GA,wDAAAA;IACAA,oDAAAA;IACFA,0DAAAA;;;;;IAHkCA,wDAAAA;IACzBA,uDAAAA;IAAAA,wDAAAA;;;;;;;;;;;;IAlErBA,4DAAAA,WAAkB,CAAlB,EAAkB,SAAlB,EAAkB,CAAlB,EAAkB,CAAlB,EAAkB,QAAlB,EAAkB,CAAlB;IAGiCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAT;IAAwB,CAAxB;IAA0BA,oDAAAA;IAAIA,0DAAAA;IAM3DA,4DAAAA;IACEA,oDAAAA;IAAiBA,0DAAAA;IACnBA,4DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;IACKA,oDAAAA;IAA6CA,0DAAAA;IAIpDA,4DAAAA,kBAAsC,EAAtC,EAAsC,KAAtC,EAAsC,CAAtC;IAEsCA,wDAAAA;MAAAA,2DAAAA;;MAAA;;MAAA,OAASA,yDAAAA,cAAT;IAA0B,CAA1B;IAClCA,wDAAAA;IAC8CA,wDAAAA;IAE9CA,wDAAAA;IAEAA,4DAAAA;IAAoBA,uDAAAA;IAA6EA,0DAAAA;IAGnGA,4DAAAA;IAA6BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAC3BA,4DAAAA,gBAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB,EAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB,EAAuB,EAAvB,EAAuB,IAAvB;IAMYA,oDAAAA;IAAiBA,0DAAAA;IACrBA,4DAAAA,aAAM,EAAN,EAAM,QAAN;IAAcA,oDAAAA;IAAoBA,0DAAAA;IAGpCA,4DAAAA;IAEEA,wDAAAA;IACFA,0DAAAA;IAEAA,4DAAAA,gBAAkB,EAAlB,EAAkB,IAAlB;IACMA,oDAAAA;IAAcA,0DAAAA;IAClBA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;IAEAA,wDAAAA;IAKAA,4DAAAA,gBAAiC,EAAjC,EAAiC,KAAjC,EAAiC,EAAjC,EAAiC,IAAjC;IAEQA,oDAAAA;IAAMA,0DAAAA;IACVA,4DAAAA;;IAAkDA,oDAAAA;IAAcA,0DAAAA;IAKpEA,uDAAAA;IAGAA,wDAAAA;IAQFA,0DAAAA;;;;;IAhEFA,uDAAAA;IAAAA,wDAAAA;IACFA,uDAAAA;IAAAA,gEAAAA;IAEGA,uDAAAA;IAAAA,+DAAAA,0CAAAA,6DAAAA;IAM2DA,uDAAAA;IAAAA,yDAAAA;IACrDA,uDAAAA;IAAAA,wDAAAA;IACyDA,uDAAAA;IAAAA,wDAAAA;IAEzDA,uDAAAA;IAAAA,wDAAAA;IAEoBA,uDAAAA;IAAAA,wDAAAA;IAGFA,uDAAAA;IAAAA,wDAAAA;IAOfA,uDAAAA;IAAAA,+DAAAA;IACUA,uDAAAA;IAAAA,+DAAAA;IAKPA,uDAAAA;IAAAA,wDAAAA;IAKAA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAGHA,uDAAAA;IAAAA,wDAAAA;IAQIA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IAA4CA,uDAAAA;IAAAA,+DAAAA;IAKjCA,uDAAAA;IAAAA,wDAAAA,sEAAiC,oBAAjC,EAAiCod,2DAAjC,EAAiC,oBAAjC,EAAiCA,yBAAjC,EAAiC,SAAjC,EAAiCA,4BAAjC;IAGZpd,uDAAAA;IAAAA,wDAAAA;;;;;;IAerBA,4DAAAA,eAAsD,CAAtD,EAAsD,KAAtD,EAAsD,EAAtD,EAAsD,CAAtD,EAAsD,MAAtD,EAAsD,EAAtD;IAE0BA,oDAAAA;IAAUA,0DAAAA;;;;AD1D9B,MAAO6/B,6BAAP,CAAoC;EAsBxClhC,YACUkP,cADV,EAESiyB,qBAFT,EAGUtiB,SAHV,EAIST,QAJT,EAKUne,WALV,EAMSmX,aANT,EAOUhI,cAPV,EAOwC;IAN9B;IACD;IACC;IACD;IACC;IACD;IACC;IA3BV,gBAAW,IAAIU,IAAJ,EAAX;IAGA,0BAAsC,EAAtC;IACA,WAAM,KAAN;IACA,qBAAwB,EAAxB;IACA,kBAAa,EAAb;IACA,qBAAgB6M,4EAAhB;IACA,mBAAc8H,0EAAd;IACA,eAAUqc,sEAAV;IAGA,oBAAe,KAAf;IACA,mBAAuB,KAAvB;IACA,yBAA6B,KAA7B;IACA,gBAAyB,EAAzB;EAaK,CA9BmC,CAgCxC;;;EACMv+B,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MAEA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6F,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAACM,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MAEA,KAAI,CAACwQ,IAAL,GAAY,KAAI,CAAC2hB,qBAAL,CAA2BC,oBAAvC;MACA,KAAI,CAACvoB,QAAL,GAAgB,KAAI,CAACzJ,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAAhC,EAA0C/W,MAA1C,CAAiD2Q,CAAC,IAAIA,CAAC,CAAC2S,SAAF,IAAe,KAArE,CAAhB;MACA,KAAI,CAAC5S,kBAAL,GAA0B,KAAI,CAAC6S,qBAAL,CAA2B,KAAI,CAACxM,QAAhC,CAA1B;MAEA,KAAI,CAACwoB,UAAL,GAAkB,KAAI,CAACjqB,aAAL,CAAmB6N,qBAAnB,CAAyC,KAAI,CAACzF,IAAL,CAAUna,MAAV,CAAiBwO,KAA1D,CAAlB;MACA,KAAI,CAACqR,iBAAL,SAA+B,KAAI,CAAC9N,aAAL,CAAmB8N,iBAAnB,CAAqC,KAAI,CAAC1F,IAA1C,CAA/B;MAEA,KAAI,CAAC8F,+BAAL,GAAuC,KAAI,CAAClW,cAAL,CAAoBmW,kBAApB,CAAuC5iB,SAAvC,CAAkDuO,SAAD,IAAc;QAAG,KAAI,CAACsU,2BAAL,CAAiCtU,SAAjC;MAA6C,CAA/G,CAAvC;MACA,KAAI,CAACuU,uCAAL,GAA+C,KAAI,CAACrW,cAAL,CAAoBsW,yBAApB,CAA8C/iB,SAA9C,CAAyDgjB,UAAD,IAAe;QAAG,KAAI,CAACC,qBAAL,CAA2BD,UAA3B;MAAwC,CAAlH,CAA/C;MAEA,KAAI,CAACZ,WAAL,GAAmB,KAAnB;IAjBY;EAkBb,CAnDuC,CAqDxC;;;EACAkK,YAAY,CAACE,QAAD,EAIX;IACC;IACA,IAAIA,QAAQ,CAACD,UAAb,EAAyB;MACvB;MACA,KAAK,IAAI9gB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+gB,QAAQ,CAAC9I,KAAT,CAAelgB,MAAnC,EAA2CiI,CAAC,EAA5C,EAAgD;QAC9C;QACA,KAAKkzB,aAAL,CAAmBp1B,IAAnB,CAAwBijB,QAAQ,CAAC9I,KAAT,CAAejY,CAAf,CAAxB;MACD;IACF;EACF,CAnEuC,CAqExC;;;EACAyhB,UAAU,CAACna,KAAD,EAAc;IACtB;IACA,KAAK4rB,aAAL,CAAmBtR,MAAnB,CAA0Bta,KAA1B,EAAiC,CAAjC;EACD,CAzEuC,CA2ExC;;;EACMypB,IAAI;IAAA;;IAAA;MACR;MACA,MAAI,CAACoC,YAAL,GAAoB,IAApB,CAFQ,CAGR;;MACA,KAAK,IAAInzB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,MAAI,CAACkzB,aAAL,CAAmBn7B,MAAvC,EAA+CiI,CAAC,EAAhD,EAAoD;QAClD,MAAM8B,QAAQ,SAAS,MAAI,CAACixB,qBAAL,CAA2BK,gBAA3B,CACrB,MAAI,CAAChiB,IADgB,EAErB,MAAI,CAAC8hB,aAAL,CAAmBlzB,CAAnB,CAFqB,EAGrBA,CAAC,KAAK,MAAI,CAACkzB,aAAL,CAAmBn7B,MAAnB,GAA4B,CAAlC,GAAsC,IAAtC,GAA6C,KAHxB,CAAvB;QAKA,MAAMwf,UAAU,GAAG,IAAIwN,8DAAJ,EAAnB;QACAxN,UAAU,CAAC3U,IAAX,GAAkB,MAAI,CAACswB,aAAL,CAAmBlzB,CAAnB,EAAsB4C,IAAxC;QACA2U,UAAU,CAACvU,IAAX,GAAkBlB,QAAlB;;QACA,MAAI,CAACsP,IAAL,CAAUhU,WAAV,CAAsBU,IAAtB,CAA2ByZ,UAA3B;MACD,CAdO,CAeR;;;MACA,MAAI,CAAC2b,aAAL,GAAqB,EAArB;;MACA,MAAI,CAAC/+B,QAAL,GAjBQ,CAmBR;;;MACA,MAAI,CAACg/B,YAAL,GAAoB,KAApB;IApBQ;EAqBT,CAjGuC,CAmGxC;;;EACA/f,QAAQ,CAACxe,GAAD,EAAY;IAClB;IACA,OAAO,KAAK6b,SAAL,CAAe4C,sBAAf,CAAsCze,GAAtC,CAAP;EACD;;EAEDqiB,qBAAqB,CAACxM,QAAD,EAAuB;IAC1C,IAAIrN,WAAW,GAAGqN,QAAQ,CAAC1L,GAAT,CAAasF,CAAC,IAAIA,CAAC,CAACjH,WAApB,EAAiC4b,IAAjC,EAAlB;IACA,IAAIC,iBAAiB,GAAG7b,WAAW,EAAEoE,IAAb,CAAkB,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAACuG,QAAF,GAAaF,CAAC,CAACE,QAAf,GAA0B,CAAC,CAA3B,GAA+B,CAA3D,CAAxB;IACA,OAAOsX,iBAAP;EACD;;EAED7B,2BAA2B,CAACtU,SAAD,EAAkB;IAC3C,IAAI4H,gBAAgB,GAAG,KAAKD,QAAL,CAAc/W,MAAd,CAAqB2Q,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQmL,SAAlC,CAAvB;IACA,IAAI1F,WAAW,GAAG,KAAK6Z,qBAAL,CAA2BvM,gBAA3B,CAAlB;IACA,KAAKtG,kBAAL,GAA0BhH,WAA1B;EACD;;EAEDoa,qBAAqB,CAACD,UAAD,EAA4B;IAC/C,KAAKnT,kBAAL,CAAwBtG,IAAxB,CAA6B,GAAGyZ,UAAhC;EACD;;EAED1e,WAAW;IACT,KAAKqe,+BAAL,CAAqCrM,WAArC;IACA,KAAKwM,uCAAL,CAA6CxM,WAA7C;EACD;;EAEDgO,aAAa;IACX,IAAI,KAAKzH,IAAL,EAAWiiB,aAAX,IAA4B,KAAKjiB,IAAL,EAAWiiB,aAAX,IAA4B,IAA5D,EAAkE;MAChE,IAAI,KAAKnyB,cAAT,EAAyB;QACvB,OAAO,uCAAP;MACD,CAFD,MAGK;QACH,OAAO,mCAAP;MACD;IACF;;IAED,OAAO,mCAAP;EAED;;EAEDV,gBAAgB;IACd,IAAI,KAAK4Q,IAAL,CAAUiiB,aAAV,IAA2BV,4EAA3B,IAAuD,KAAKvrB,eAAhE,EAAiF;MAC/E,OAAO,IAAP;IACD;;IACD,IAAI,CAAC,KAAKgK,IAAL,CAAUiiB,aAAX,IAA4B,KAAKnyB,cAArC,EAAqD;MACnD,OAAO,IAAP;IACD;;IACD,OAAO,KAAP;EAED;;EAEDqyB,sBAAsB;IACpB,KAAKvqB,aAAL,CAAmBwqB,sBAAnB,CAA0C,KAAKpiB,IAA/C,EAAqD,KAAK2hB,qBAA1D;EACD;;AAzJuC;;;mBAA7BD,+BAA6B7/B,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAA7B6/B;EAA6B95B;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCxB1CnG,wDAAAA;MAgFAA,wDAAAA;;;;MAhFMA,wDAAAA;MAgFoBA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7E1B;AAGA;AAMA;;;;;;;;;;;;;;;;;;;;ICVyBA,4DAAAA;IAEjBA,oDAAAA;IACJA,0DAAAA;;;;;IAHgGA,wDAAAA,qCAA0B,aAA1B,EAA0Bod,wBAAAA,6DAAAA,qGAA1B;;;;;;IASpGpd,uDAAAA;;;;;;IASYA,4DAAAA;IAAgCA,oDAAAA;IAAkBA,0DAAAA;;;;;IAAlBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAEhCA,4DAAAA;IAAiGA,oDAAAA;IAC/EA,0DAAAA;;;;;;IAGlBA,4DAAAA;IAAwBA,oDAAAA;IAAkBA,0DAAAA;;;;;IAAlBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAZhCA,4DAAAA,aAAiH,CAAjH,EAAiH,KAAjH,EAAiH,EAAjH,EAAiH,CAAjH,EAAiH,IAAjH;IAIYA,oDAAAA;IACJA,0DAAAA;IACAA,wDAAAA;IACAA,4DAAAA;IAA2BA,oDAAAA;IAAoCA,0DAAAA;IAC/DA,wDAAAA;IAEJA,0DAAAA;IACAA,4DAAAA;IACIA,wDAAAA;IACAA,4DAAAA;;IACIA,oDAAAA;IAA2DA,0DAAAA;;;;;;IAd5BA,oEAAAA;IAG/BA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,gEAAAA;IAECA,uDAAAA;IAAAA,wDAAAA;IACsBA,uDAAAA;IAAAA,+DAAAA;IACtBA,uDAAAA;IAAAA,wDAAAA;IAIDA,uDAAAA;IAAAA,wDAAAA;IACDA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IACCA,uDAAAA;IAAAA,gEAAAA;;;;;;IAfhBA,4DAAAA;IACIA,wDAAAA;IAiBJA,0DAAAA;;;;;IAjBwBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAyBaA,uDAAAA;;;;;IAA6EA,wDAAAA;;;;;;;;;;;;;IAD9FA,4DAAAA;IACIA,oDAAAA;IAAaA,wDAAAA;IACjBA,0DAAAA;;;;;;IAFiCA,wDAAAA,YAAAA,6DAAAA,4CAA2C,UAA3C,EAA2CwgC,iBAA3C;IAAyFxgC,yDAAAA;IACtHA,uDAAAA;IAAAA,gEAAAA;IAAuBA,uDAAAA;IAAAA,wDAAAA;;;;;;IAWvBA,4DAAAA;IAA0FA,oDAAAA;IAAsBA,0DAAAA;;;;;;IAChHA,4DAAAA;IAA+CA,oDAAAA;IAAoCA,0DAAAA;;;;;IAApCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAEnDA,4DAAAA;IAAkDA,oDAAAA;IAAoBA,0DAAAA;;;;;IAApBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAClDA,4DAAAA;IACIA,oDAAAA;IAAiBA,0DAAAA;;;;;IAAjBA,uDAAAA;IAAAA,gEAAAA;;;;;;IAGJA,4DAAAA;IAAuCA,oDAAAA;IAAiCA,0DAAAA;;;;;;IAAjCA,uDAAAA;IAAAA,+DAAAA;;;;;;IACvCA,4DAAAA;IAAuCA,oDAAAA;IAAqCA,0DAAAA;;;;;;IAArCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAf3CA,4DAAAA,cAAqG,CAArG,EAAqG,IAArG;IAGQA,oDAAAA;IACJA,0DAAAA;IACAA,4DAAAA;IACIA,wDAAAA;IACAA,wDAAAA;IACJA,0DAAAA;IACAA,wDAAAA;IACAA,wDAAAA;IAEAA,4DAAAA,UAAI,CAAJ,EAAI,MAAJ;;IAAmGA,oDAAAA;IACjCA,0DAAAA;IAClEA,wDAAAA;IACAA,wDAAAA;IACJA,0DAAAA;;;;;;IAhB+BA,oEAAAA;IAEvBA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,gEAAAA;IAGOA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAENA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAEKA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IAAyFA,uDAAAA;IAAAA,+DAAAA;IAE9FA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IA1BzBA,4DAAAA,mBAA4D,CAA5D,EAA4D,KAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,CAA5D,EAA4D,IAA5D,EAA4D,EAA5D;IAKoBA,wDAAAA;IAGJA,0DAAAA;IAEJA,4DAAAA;IACIA,wDAAAA;IAiBJA,0DAAAA;;;;;IAvB6BA,uDAAAA;IAAAA,wDAAAA;IAMJA,uDAAAA;IAAAA,wDAAAA;;;;;;IAuBrCA,4DAAAA;IAAsDA,oDAAAA;IAA+BA,0DAAAA;;;;;;IAI7EA,4DAAAA;IAAgCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAC3CA,4DAAAA;IAAiCA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAF9CA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACvFA,wDAAAA;IACAA,wDAAAA;IACJA,0DAAAA;;;;;IAFWA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIfA,4DAAAA,WAA6C,CAA7C,EAA6C,KAA7C,EAA6C,EAA7C,EAA6C,CAA7C,EAA6C,MAA7C,EAA6C,EAA7C;IAE8BA,oDAAAA;IAAUA,0DAAAA;;;;AD5DlC,MAAOygC,2BAAP,CAAkC;EAsCtC;EACA9hC,YACUkP,cADV,EAEUiyB,qBAFV,EAGS/iB,QAHT,EAIUne,WAJV,EAKSmX,aALT,EAMS0N,QANT,EAM2B;IALjB;IACA;IACD;IACC;IACD;IACA,yBAAkB,CA3C3B;;IACA,yBAA6B,KAA7B,CA0C2B,CAlC3B;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACA,kBAAsB,KAAtB,CA+BkB,CA9B3B;;IACS,eAAmB,IAAnB;IACA,qBAAyB,KAAzB;IAEA,uBAA0B,EAA1B;IACA,oBAAuB,+BAAvB;IACA,oBAAuB,IAAvB,CAwBkB,CArB3B;;IACS,sBAA0B,KAA1B;IACA,uBAAoC,EAApC;IAET,gBAAiB,IAAIhV,IAAJ,CAASA,IAAI,CAACiyB,GAAL,EAAT,CAAjB;IACA,aAA6B,EAA7B;IAEA,uBAA2B,KAA3B;IAGA,uBAA0B,EAA1B;IACA,yBAAwC,EAAxC;IACA,YAAe,EAAf;IACA,cAASvZ,qEAAT;EAQgC,CA7CM,CA+CtC;;;EACMjmB,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACumB,eAAL,SAA6B,KAAI,CAAC1R,aAAL,CAAmB2R,gCAAnB,CAAoD,KAAI,CAAC7S,OAAzD,CAA7B,CADY,CAEZ;;MACA,KAAI,CAACirB,qBAAL,CAA2BC,oBAA3B,GAAkD,IAAlD;MACA,KAAI,CAACY,aAAL,GAAqB,KAAI,CAAC1sB,MAAL,EAAa3F,GAAb,CAAiB,UAAjB,CAArB;MAGA,MAAM,KAAI,CAACkZ,cAAL,EAAN;;MAEA,IAAI,KAAI,CAACrT,eAAT,EAA0B;QACxB,KAAI,CAACsB,IAAL,GAAY,OAAO,KAAI,CAAC7W,WAAL,CAAiBK,cAAjB,EAAP,EAA0C+V,eAAtD;MACD;IAXW;EAYb;;EAEKwS,cAAc;IAAA;;IAAA;MAClB,MAAI,CAACrT,eAAL,SAA6B,MAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,MAAI,CAACE,cAAL,CAAoBmG,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP;UAAA,aAAwB,MAAI,CAAC6T,SAAL,CAAe7T,MAAf,CAAxB;QAAA,CAA5C;;QAAA;UAAA;QAAA;MAAA;IAFkB;EAGnB;;EAEKqN,QAAQ;IAAA;;IAAA;MACZ,IAAI,CAAC,MAAI,CAACsf,iBAAV,EAA6B;QAC3B,MAAI,CAACl3B,IAAL;QACA,MAAM,MAAI,CAACoe,SAAL,CAAe,IAAf,EAAqB,IAArB,CAAN;MACD;IAJW;EAKb;;EAEKA,SAAS,CAAC7T,MAAD,EAAeqN,QAAf,EAAiC;IAAA;;IAAA;MAC9C,IAAIrN,MAAJ,EAAY;QACV,MAAI,CAACA,MAAL,GAAcA,MAAd;MACD,CAFD,MAGK;QACHA,MAAM,GAAG,MAAI,CAACA,MAAd;MACD;;MAED,IAAI,CAACqN,QAAL,EAAe;QACb,MAAI,CAACjX,KAAL,GAAa,EAAb;QACA,MAAI,CAACX,IAAL,GAAY,CAAZ;MACD,CAX6C,CAa9C;;;MACA,MAAI,CAACk3B,iBAAL,GAAyB,IAAzB;MACA,IAAIpf,QAAQ,GAAwB,EAApC;;MAEA,IAAI,MAAI,CAAC3M,OAAT,EAAkB;QAChB,IAAIY,IAAI,GAAaxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkCnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAvD;QACA,IAAIiS,QAAQ,GAAIO,MAAM,EAAE3F,GAAR,CAAY,UAAZ,KAA2BnN,YAAY,CAACM,OAAb,CAAqB,UAArB,CAA3C;QACA,IAAI8R,UAAU,GAAIU,MAAM,EAAE3F,GAAR,CAAY,YAAZ,KAA6BnN,YAAY,CAACM,OAAb,CAAqB,YAArB,CAA/C;QACA,IAAIoY,YAAY,GAAG5F,MAAM,EAAE3F,GAAR,CAAY,cAAZ,CAAnB;QAEA,IAAI+H,aAAa,GAAGlV,YAAY,CAACM,OAAb,CAAqB,QAArB,CAApB;QACA,IAAIuC,MAAM,GAAgBqS,aAAa,IAAI,MAAjB,GAA0B,IAA1B,GAAiCE,QAAQ,CAACF,aAAD,CAAnE;QAEA,IAAI2R,cAAc,GAAG7mB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAArB;QACA,IAAIwmB,eAAe,GAAoB,EAAvC;QACAA,eAAe,CAACC,gBAAhB,GAAmCzS,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsB,CAACA,IAAD,CAAzD;QACAwS,eAAe,CAACE,QAAhB,GAA2BzU,QAA3B;QACAuU,eAAe,CAACG,UAAhB,GAA6B7U,UAA7B;QACA0U,eAAe,CAACI,YAAhB,GAA+BxO,YAA/B;QACAoO,eAAe,CAACK,MAAhB,GAAyBtkB,MAAzB;QACAikB,eAAe,CAACM,SAAhB,GAA4B,MAAI,CAAC1T,OAAjC;QACAoT,eAAe,CAACO,WAAhB,GAA8BjS,QAAQ,CAACyR,cAAD,CAAtC;QACAC,eAAe,CAAC4Y,eAAhB,GAAkCprB,IAAlC,CAlBgB,CAoBhB;;QACA,IAAIgT,YAAY,GAAG,IAAIvB,kEAAJ,EAAnB;QACAuB,YAAY,CAACC,UAAb,GAA0B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAA4BA,GAAG,CAAC5kB,MAArD,CAA1B;QACAykB,YAAY,CAACI,SAAb,GAAyB5B,uEAAzB;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0B4d,YAA1B;;QAEA,IAAI,MAAI,CAAC5T,OAAL,IAAgB,eAApB,EAAqC;UACnC;UACA,IAAIisB,iBAAiB,GAAG,IAAI5Z,kEAAJ,EAAxB;UACA4Z,iBAAiB,CAACpY,UAAlB,GAA+B,uCAA/B;UACAoY,iBAAiB,CAACjY,SAAlB,GAA8B5B,wEAA9B;;UACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0Bi2B,iBAA1B;QACD,CAND,MAOK;UACH;UACA,IAAI5X,YAAY,GAAG,IAAIhC,kEAAJ,EAAnB;UACAgC,YAAY,CAACR,UAAb,GAA0B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAA4BA,GAAG,CAAClV,QAArD,CAA1B;UACAwV,YAAY,CAACL,SAAb,GAAyB5B,uEAAzB;;UACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0Bqe,YAA1B;QACD;;QAED,IAAI,MAAI,CAAC/U,eAAT,EAA0B;UACxBqN,QAAQ,SAAS,MAAI,CAACse,qBAAL,CAA2B3W,iBAA3B,CAA6ClB,eAA7C,EAA8D,MAAI,CAACc,eAAnE,EAAoF,MAAI,CAACrf,IAAzF,EAA+F,MAAI,CAACK,QAApG,CAAjB;QACD,CAFD,MAEO;UAEL,IAAI0L,IAAI,IAAI,IAAZ,EAAkB;YAChBwS,eAAe,CAACC,gBAAhB,GAAmC,EAAnC;UACD;;UAED1G,QAAQ,SAAS,MAAI,CAACse,qBAAL,CAA2B1W,QAA3B,CAAoCnB,eAApC,EAAqD,MAAI,CAACc,eAA1D,EAA2E,MAAI,CAACrf,IAAhF,EAAsF,MAAI,CAACK,QAA3F,CAAjB;QACD;;QAED,IAAIyX,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA3B,EAAqC;UACnC,MAAI,CAACgY,eAAL,GAAuB,IAAvB;QACD,CAFD,MAEO;UACL,MAAI,CAACA,eAAL,GAAuB,KAAvB;QACD;;QACD,IAAIG,MAAM,GAAG,MAAI,CAAC7X,KAAL,CAAW6X,MAAX,CAAkBV,QAAlB,CAAb;;QACA,MAAI,CAACnX,KAAL,GAAa6X,MAAb;MACD;;MACD,MAAI,CAAC6G,eAAL,GAAuB,EAAvB,CA7E8C,CA8E9C;;MACA,MAAI,CAAC6X,iBAAL,GAAyB,KAAzB;IA/E8C;EAgF/C;;EAEDG,aAAa,CAACC,QAAD,EAAiB;IAC5B,MAAMta,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAW4f,QAAX,CAAf;IAEA,IAAIpa,iBAAiB,GAAuBF,MAAM,CAACG,iBAAnD;IACA,OAAO,KAAKpD,QAAL,CAAc2C,SAAd,CAAwBQ,iBAAiB,CAAC,CAAD,CAAjB,CAAqBqa,UAA7C,CAAP;EACD;;EAEDC,iBAAiB,CAACva,QAAD,EAAiB;IAChC,MAAMD,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWuF,QAAX,CAAf;IACA,IAAIC,iBAAiB,GAAuBF,MAAM,CAACG,iBAAnD;IACA,OAAO,KAAKpD,QAAL,CAAc2C,SAAd,CAAwBQ,iBAAiB,CAAC,CAAD,CAAjB,CAAqBua,cAA7C,CAAP;EACD;;EAEDxY,eAAe,CAAIU,gBAAJ,EAAqC;IAClD,MAAMC,KAAK,GAAGD,gBAAgB,CAAC9O,QAAjB,GAA4B+O,KAA5B,CAAkC,mBAAlC,CAAd;IACA,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;EACD,CA5KqC,CA8KtC;;;EACA8X,iBAAiB,CAACrvB,KAAD,EAAc;IAC7B,IAAIsvB,KAAK,GAAGtvB,KAAK,CAAC9C,KAAN,CAAY,KAAZ,CAAZ,CAD6B,CACG;;IAChC,IAAIqyB,eAAe,GAAGD,KAAK,CAAC,CAAD,CAA3B;IAEA,IAAIE,cAAc,GAAG,EAArB;;IACA,IAAIF,KAAK,CAACv8B,MAAN,GAAe,CAAnB,EAAsB;MACpBy8B,cAAc,GAAGF,KAAK,CAAC,CAAD,CAAtB;IACD,CAP4B,CAS7B;;;IACA,IAAIE,cAAc,CAACz8B,MAAf,GAAwB,EAA5B,EAAgC;MAC9By8B,cAAc,GAAGA,cAAc,CAAC9W,KAAf,CAAqB,CAArB,EAAwB,EAAxB,CAAjB;IACD;;IAED,IAAI8W,cAAc,CAACz8B,MAAf,GAAwB,CAA5B,EAA+B;MAC7B,OAAOw8B,eAAe,GAAG,KAAlB,GAA0BC,cAAjC;IACD,CAFD,MAEO;MACL,OAAOD,eAAP;IACD;EACF;;AAlMqC;;;mBAA3Bb,6BAA2BzgC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA;AAAA;;;QAA3BygC;EAA2B16B;EAAAsH;IAAAwH;IAAA9C;IAAArI;IAAAK;IAAAgZ;IAAAye;IAAA1e;IAAA9N;IAAAysB;IAAAlY;IAAAC;IAAA7c;IAAA8F;IAAAsW;EAAA;EAAA/iB;EAAAC;EAAAC;EAAAC;IAAA;MClBxCnG,4DAAAA,kBAAiC,CAAjC,EAAiC,QAAjC,EAAiC,CAAjC;MACiCA,wDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MAA0BxN,oDAAAA;MAAIA,0DAAAA;MAC3DA,4DAAAA;MAAIA,oDAAAA;MAAWA,0DAAAA;MAAMA,wDAAAA;MAIrBA,4DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;MACOA,oDAAAA;MAAmBA,0DAAAA;MAI9BA,wDAAAA;MAEAA,wDAAAA;MAoBAA,wDAAAA;MAkCAA,wDAAAA;MAEAA,4DAAAA;MACIA,wDAAAA;MAIJA,0DAAAA;MAEAA,wDAAAA;;;;MA1EQA,uDAAAA;MAAAA,+DAAAA;MAA0BA,uDAAAA;MAAAA,wDAAAA;MAKvBA,uDAAAA;MAAAA,+DAAAA;MAIkBA,uDAAAA;MAAAA,wDAAAA;MAEJA,uDAAAA;MAAAA,wDAAAA;MAoBfA,uDAAAA;MAAAA,wDAAAA;MAkCJA,uDAAAA;MAAAA,wDAAAA;MAGkDA,uDAAAA;MAAAA,wDAAAA;MAMlDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxEN;AAIA;AAEA;AACA;AAEA;;;;;;;;;;;;;;;ICKMA,6DAAAA;IAA+FA,qDAAAA;IAA4CA,2DAAAA;;;;;IAA5CA,wDAAAA;IAAAA,gEAAAA;;;;;;IAAqDA,6DAAAA;IAAqCA,qDAAAA;IAA2BA,2DAAAA;;;;;;IACpNA,6DAAAA;IAAgGA,qDAAAA;IAAsBA,2DAAAA;;;;;;IAOlHA,6DAAAA,eAA0C,CAA1C,EAA0C,IAA1C;IACMA,qDAAAA;IAA2BA,2DAAAA;;;;;IAA3BA,wDAAAA;IAAAA,gEAAAA;;;;;;IAIJA,6DAAAA;IAAiCA,qDAAAA;IAAUA,2DAAAA;;;;;;IAC3CA,6DAAAA;IAAgCA,qDAAAA;IAA0BA,2DAAAA;;;;;IAA1BA,wDAAAA;IAAAA,gEAAAA;;;;;;IAGlCA,6DAAAA,eAA2C,CAA3C,EAA2C,IAA3C;IACMA,qDAAAA;IAAcA,2DAAAA;IAClBA,6DAAAA;IAAyBA,qDAAAA;IAA2CA,2DAAAA;;;;;IAA3CA,wDAAAA;IAAAA,gEAAAA;;;;;;IAG3BA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;;IAF2CA,yDAAAA;IACzCA,wDAAAA;IAAAA,iEAAAA;;;;;;IAWEA,6DAAAA,eAAkD,CAAlD,EAAkD,IAAlD;IACMA,qDAAAA;IAAUA,2DAAAA;IACdA,6DAAAA;IAA0BA,qDAAAA;IAAyDA,2DAAAA;;;;;IAAzDA,wDAAAA;IAAAA,gEAAAA;;;;;;;;;;;;;;;;;;IAtD1CA,6DAAAA,WAAyB,CAAzB,EAAyB,SAAzB,EAAyB,CAAzB,EAAyB,CAAzB,EAAyB,QAAzB,EAAyB,CAAzB;IAGiCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,yBAAT;IAAwB,CAAxB;IAA0BA,qDAAAA;IAAIA,2DAAAA;IAM3DA,6DAAAA;IACkGA,qDAAAA;IAAwBA,2DAAAA;IAC1HA,6DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;IACKA,qDAAAA;IAAoDA,2DAAAA;IAI3DA,6DAAAA,kBAAsC,EAAtC,EAAsC,KAAtC,EAAsC,CAAtC;IACsCA,yDAAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,cAAT;IAA0B,CAA1B;IAClCA,yDAAAA;IAAoJA,yDAAAA;IACpJA,yDAAAA;IACAA,6DAAAA;IAAoBA,wDAAAA;IAA6EA,2DAAAA;IAGnGA,6DAAAA;IAA+CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA;IAC7CA,6DAAAA,gBAAuB,EAAvB,EAAuB,KAAvB,EAAuB,EAAvB;IAEIA,yDAAAA;IAIAA,6DAAAA;IACEA,yDAAAA;IACAA,yDAAAA;IACFA,2DAAAA;IAEAA,yDAAAA;IAKAA,yDAAAA;IAGFA,2DAAAA;IAEAA,6DAAAA,YAAK,EAAL,EAAK,KAAL,EAAK,EAAL,EAAK,EAAL,EAAK,KAAL,EAAK,EAAL,EAAK,EAAL,EAAK,KAAL,EAAK,EAAL,EAAK,EAAL,EAAK,IAAL;IAIYA,qDAAAA;IAAQA,2DAAAA;IACZA,6DAAAA;IAAMA,qDAAAA;;IAAqCA,2DAAAA;IAE7CA,yDAAAA;IAIFA,2DAAAA;IAEAA,6DAAAA,YAAK,EAAL,EAAK,IAAL;IACMA,qDAAAA;IAAMA,2DAAAA;IACVA,6DAAAA;;IAAgDA,qDAAAA;IAAcA,2DAAAA;IAIlEA,6DAAAA;IACEA,wDAAAA;IACFA,2DAAAA;;;;;IAzDFA,wDAAAA;IAAAA,yDAAAA;IAC8FA,wDAAAA;IAAAA,gEAAAA;IAE7FA,wDAAAA;IAAAA,gEAAAA,0CAAAA,8DAAAA;IAK2DA,wDAAAA;IAAAA,0DAAAA;IACrDA,wDAAAA;IAAAA,yDAAAA;IAA+JA,wDAAAA;IAAAA,yDAAAA;IAC/JA,wDAAAA;IAAAA,yDAAAA;IACoBA,wDAAAA;IAAAA,yDAAAA;IAGgBA,wDAAAA;IAAAA,yDAAAA;IAGnCA,wDAAAA;IAAAA,yDAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA;IACAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAKaA,wDAAAA;IAAAA,yDAAAA;IAMyCA,wDAAAA;IAAAA,yDAAAA,YAAAA,8DAAAA;IAIhDA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAEgBA,wDAAAA;IAAAA,yDAAAA;IAQlBA,wDAAAA;IAAAA,qEAAAA,YAAAA,0DAAAA;IAA0CA,wDAAAA;IAAAA,gEAAAA;IAK7BA,wDAAAA;IAAAA,yDAAAA,oFAAwC,oBAAxC,EAAwCod,yEAAxC,EAAwC,oBAAxC,EAAwCA,yBAAxC,EAAwC,SAAxC,EAAwCA,yBAAxC;;;;;;IAajCpd,6DAAAA,eAA6D,CAA7D,EAA6D,KAA7D,EAA6D,EAA7D,EAA6D,CAA7D,EAA6D,MAA7D,EAA6D,EAA7D;IAE0BA,qDAAAA;IAAUA,2DAAAA;;;;AD1D9B,MAAO2hC,0BAAP,CAAiC;EAoBrChjC,YAAmBijC,kBAAnB,EAAmE/zB,cAAnE,EACSkP,QADT,EACqCne,WADrC,EACuE6e,YADvE,EACmG1H,aADnG,EACyIhI,cADzI,EACuK;IADpJ;IAAgD;IAC1D;IAA4B;IAAkC;IAA4B;IAAsC;IApBzI,gBAAW,IAAIU,IAAJ,EAAX;IACS,uBAA2B,IAA3B;IACT,0BAAsC,EAAtC;IACA,mBAA8B,IAAIizB,kEAAJ,EAA9B;IAGA,kBAAqB,EAArB;IAEA,mBAAuB,KAAvB;IACA,WAAM,KAAN;IACA,gBAAyB,EAAzB;IAEA,qBAAgBpmB,6EAAhB;IACA,mBAAc8H,2EAAd;EAQC;;EAEKliB,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MACA,KAAI,CAACme,cAAL,GAAsB,KAAI,CAAC9rB,aAA3B;MAEA,KAAI,CAAC5H,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6F,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAACkH,OAAL,GAAe,KAAI,CAACitB,WAAL,CAAiBhe,SAAhC;MACA,KAAI,CAAC7V,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,KAAI,CAACm0B,WAAL,GAAmB,KAAI,CAACF,kBAAL,CAAwBG,UAA3C;MACA,KAAI,CAAC/B,UAAL,GAAkB,KAAI,CAAC6B,cAAL,CAAoBje,qBAApB,CAA0C,KAAI,CAACke,WAAL,CAAiB99B,MAAjB,CAAwBwO,KAAlE,CAAlB;MAEA,KAAI,CAACgF,QAAL,GAAgB,KAAI,CAACzJ,cAAL,CAAoBqQ,UAApB,EAAgC5G,QAAhC,EAA0C/W,MAA1C,CAAiD2Q,CAAC,IAAIA,CAAC,CAAC2S,SAAF,IAAe,KAArE,CAAhB;MACA,KAAI,CAAC5S,kBAAL,GAA0B,KAAI,CAAC6S,qBAAL,CAA2B,KAAI,CAACxM,QAAhC,CAA1B;;MAEA,KAAI,CAACiG,YAAL,CAAkByC,QAAlB,CAA2B,KAAI,CAAC4hB,WAAL,CAAiB/vB,KAAjB,GAAyB,aAApD;;MACA,IAAIiwB,UAAU,GAAG,KAAI,CAACF,WAAL,CAAiB3b,WAAlC;MACA,KAAI,CAAC2b,WAAL,CAAiBG,WAAjB,GAA+BD,UAA/B;MAEA,KAAI,CAAC/d,+BAAL,GAAuC,KAAI,CAAClW,cAAL,CAAoBmW,kBAApB,CAAuC5iB,SAAvC,CAAkDuO,SAAD,IAAc;QAAG,KAAI,CAACsU,2BAAL,CAAiCtU,SAAjC;MAA6C,CAA/G,CAAvC;MACA,KAAI,CAACuU,uCAAL,GAA+C,KAAI,CAACrW,cAAL,CAAoBsW,yBAApB,CAA8C/iB,SAA9C,CAAyDgjB,UAAD,IAAe;QAAG,KAAI,CAACC,qBAAL,CAA2BD,UAA3B;MAAwC,CAAlH,CAA/C;MAEA,KAAI,CAACZ,WAAL,GAAmB,KAAnB;IArBY;EAuBb;;EAEDM,qBAAqB,CAACxM,QAAD,EAAuB;IAC1C,IAAIrN,WAAW,GAAoB,EAAnC;IACAG,mDAAO,CAACkN,QAAD,EAAYM,OAAD,IAAY;MAC5B,IAAIoqB,UAAU,GAAoBpqB,OAAO,CAAC3N,WAA1C;MACA+3B,UAAU,CAACp2B,GAAX,CAAevB,GAAG,IAAIA,GAAG,CAACsF,SAAJ,GAAgBiI,OAAO,CAACpT,EAA9C;MACAyF,WAAW,CAACU,IAAZ,CAAiB,GAAGq3B,UAApB;IACD,CAJM,CAAP;IAMA,IAAIlc,iBAAiB,GAAG7b,WAAW,EAAEoE,IAAb,CAAkB,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAACuG,QAAF,GAAaF,CAAC,CAACE,QAAf,GAA0B,CAAC,CAA3B,GAA+B,CAA3D,CAAxB;IACA,OAAOsX,iBAAP;EACD;;EAEDJ,aAAa;IAEX,IAAI,KAAKkc,WAAL,EAAkB1B,aAAlB,IAAmC,KAAK0B,WAAL,EAAkB1B,aAAlB,IAAmC,IAA1E,EAAgF;MAC9E,IAAI,KAAKnyB,cAAT,EAAyB;QACvB,OAAO,uCAAP;MACD,CAFD,MAGK;QACH,OAAO,mCAAP;MACD;IACF;;IAED,OAAO,mCAAP;EAED;;EAEDk0B,cAAc;IACZ,IAAI,KAAKL,WAAL,EAAkBM,KAAlB,IAA2B,CAA/B,EAAkC;MAChC,IAAI,KAAKN,WAAL,EAAkBO,cAAtB,EAAsC;QACpC,MAAMC,aAAa,GAAG,IAAI7zB,IAAJ,CAAS,KAAKqzB,WAAL,CAAiBO,cAA1B,EAA0C9wB,kBAA1C,EAAtB;QACA,OAAO;UAAEqB,IAAI,EAAE,iDAAiD0vB,aAAjD,GAAiE,oCAAzE;UAA+GC,KAAK,EAAE;QAAtH,CAAP;MACD,CAHD,MAGO;QACL,IAAI,KAAKT,WAAL,EAAkBhe,SAAlB,IAA+B3G,yFAAnC,EAAiE;UAAE,OAAO;YAAEvK,IAAI,EAAE,mDAAR;YAA6D2vB,KAAK,EAAE;UAApE,CAAP;QAA6F;MACjK;IACF;;IACD,OAAO,IAAP;EACD;;EAEDpe,2BAA2B,CAACtU,SAAD,EAAkB;IAC3C,IAAI4H,gBAAgB,GAAG,KAAKD,QAAL,CAAc/W,MAAd,CAAqB2Q,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQmL,SAAlC,CAAvB;IACA,IAAI1F,WAAW,GAAG,KAAK6Z,qBAAL,CAA2BvM,gBAA3B,CAAlB;IACA,KAAKtG,kBAAL,GAA0BhH,WAA1B;EACD;;EAEDoa,qBAAqB,CAACD,UAAD,EAA4B;IAC/C,KAAKnT,kBAAL,CAAwBtG,IAAxB,CAA6B,GAAGyZ,UAAhC;EACD;;EAED/W,gBAAgB;IACd,IAAI,KAAKu0B,WAAL,CAAiB1B,aAAjB,IAAkCV,4EAAlC,IAA8D,KAAKvrB,eAAvE,EAAwF;MACtF,OAAO,IAAP;IACD;;IACD,IAAI,CAAC,KAAK2tB,WAAL,CAAiB1B,aAAlB,IAAmC,KAAKnyB,cAA5C,EAA4D;MAC1D,OAAO,IAAP;IACD;;IACD,OAAO,KAAP;EACD;;EAEDqyB,sBAAsB;IACpB,KAAKvqB,aAAL,EAAoBwqB,sBAApB,CAA2C,KAAKuB,WAAhD,EAA6D,KAAKF,kBAAlE;EACD;;EAEDh8B,WAAW;IACT,KAAKqe,+BAAL,CAAqCrM,WAArC;IACA,KAAKwM,uCAAL,CAA6CxM,WAA7C;EACD;;AAnHoC;;;mBAA1B+pB,4BAA0B3hC,gEAAAA,CAAAA,6EAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAAAA,6DAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA;AAAA;;;QAA1B2hC;EAA0B57B;EAAAsH;IAAAo1B;EAAA;EAAAz8B;EAAAC;EAAAC;EAAAC;IAAA;MCtBvCnG,yDAAAA;MA8EAA,yDAAAA;;;;MA9EMA,yDAAAA;MA8EoBA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IE1EtB,qEAA4B;IAAA,uDAAkB;IAAA,4DAAK;;;IAAvB,0DAAkB;IAAlB,kHAAkB;;ADQ3C,MAAM,wBAAwB;IAOnC,aAAa;IACb;QALS,yBAAoB,GAAS,KAAK,CAAC;QAEnC,oBAAe,GAAY,IAAI,CAAC;QACzC,aAAQ,GAAG,IAAI,IAAI,EAAE;IAEL,CAAC;IAEjB,gBAAgB;IAChB,QAAQ,KAAK,CAAC;;gGAXH,wBAAwB;sHAAxB,wBAAwB;QCXrC,uEAA+D;QAEiL,uDAAe;QAAA,4DAAK;QAChQ,kHAAmD;QACnD,wEAA2B;QAAA,uDAAoC;QAAA,4DAAK;QAEtE,yEAAyB;QACpB,uDAAiC;;QAAA,4DAAI;QACxC,qEAAyC;;QAAA,wDAAU;QAAA,4DAAI;;QAR3C,qLAA8C;QAEtD,0DAAuO;QAAvO,qXAAuO;QAAC,0DAAe;QAAf,yGAAe;QACtP,0DAAqB;QAArB,qFAAqB;QACC,0DAAoC;QAApC,qKAAoC;QAG5D,0DAAiC;QAAjC,gMAAiC;QACjC,0DAAqC;QAArC,kKAAqC;QAAC,0DAAU;QAAV,2EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPvD;AAEA;AAKA;AACA;;;;;;;;;;;;;;;;ICTEA,4DAAAA;IAA4DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAT;IAAwB,CAAxB;IAA0BA,oDAAAA;IAAIA,0DAAAA;;;;;;;;;;;;;IACrEA,4DAAAA;IAGnBA,oDAAAA;IACFA,0DAAAA;;;;;IAHEA,wDAAAA,qCAA0B,aAA1B,EAA0Bqd,wBAAAA,6DAAAA,qGAA1B;;;;;;;;IAOFrd,4DAAAA,iBAA0G,CAA1G,EAA0G,MAA1G;IACQA,oDAAAA;IAAEA,0DAAAA;IACRA,4DAAAA;IAAuBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,2CAAT;IAAuC,CAAvC,EAAwC,eAAxC,EAAwC;MAAAA,2DAAAA;MAAA;MAAA;IAAA,CAAxC;IAAvBA,0DAAAA;IACAA,uDAAAA;IACAA,4DAAAA;IAAMA,oDAAAA;IAAEA,0DAAAA;;;;;IAFwDA,uDAAAA;IAAAA,wDAAAA;;;;;;IAMpEA,uDAAAA;;;;IAA4BA,wDAAAA;;;;;;IAQtBA,4DAAAA;IAA4BA,oDAAAA;IAAkBA,0DAAAA;;;;;IAAlBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAE1BA,4DAAAA;IAA0FA,oDAAAA;IACjFA,0DAAAA;;;;;;IACTA,4DAAAA;IAA6CA,oDAAAA;IAAoCA,0DAAAA;;;;;IAApCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAE/CA,4DAAAA;IAA6BA,oDAAAA;IAAyDA,0DAAAA;;;;;;IAAzDA,uDAAAA;IAAAA,gEAAAA;;;;;;IAXjCA,4DAAAA,aAAiH,CAAjH,EAAiH,KAAjH,EAAiH,EAAjH,EAAiH,CAAjH,EAAiH,IAAjH;IAIMA,oDAAAA;IAAeA,0DAAAA;IACjBA,wDAAAA;IACAA,4DAAAA;IACEA,wDAAAA;IAEAA,wDAAAA;IACFA,0DAAAA;IACAA,wDAAAA;IACFA,0DAAAA;IACAA,4DAAAA,eAAyB,EAAzB,EAAyB,GAAzB;IACkCA,oDAAAA;IAA+CA,0DAAAA;IAC/EA,4DAAAA;;IACEA,oDAAAA;IAA2DA,0DAAAA;;;;;;IAhBtBA,oEAAAA;IAGrCA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,gEAAAA;IACGA,uDAAAA;IAAAA,wDAAAA;IAEIA,uDAAAA;IAAAA,wDAAAA;IAEFA,uDAAAA;IAAAA,wDAAAA;IAEFA,uDAAAA;IAAAA,wDAAAA;IAGFA,uDAAAA;IAAAA,wDAAAA;IAA6BA,uDAAAA;IAAAA,+DAAAA;IAC7BA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IACDA,uDAAAA;IAAAA,gEAAAA;;;;;;IAjBRA,4DAAAA;IACEA,wDAAAA;IAmBFA,0DAAAA;;;;;IAnBsBA,uDAAAA;IAAAA,wDAAAA;;;;;;IA4BGA,uDAAAA;;;;;IAA6EA,wDAAAA;;;;;;;;;;;;;IAD5FA,4DAAAA;IACEA,oDAAAA;IAAaA,wDAAAA;IACjBA,0DAAAA;;;;;;IAFmCA,wDAAAA,YAAAA,6DAAAA,4CAA2C,UAA3C,EAA2C0iC,iBAA3C;IAAyF1iC,yDAAAA;IACxHA,uDAAAA;IAAAA,gEAAAA;IAAuBA,uDAAAA;IAAAA,wDAAAA;;;;;;IASzBA,4DAAAA;IAA6BA,oDAAAA;IAAoCA,0DAAAA;;;;;IAApCA,uDAAAA;IAAAA,+DAAAA;;;;;;IAC7BA,4DAAAA;IAA4BA,oDAAAA;IAAmBA,0DAAAA;;;;;IAAnBA,uDAAAA;IAAAA,+DAAAA;;;;;;IAL9BA,4DAAAA,cAAkF,CAAlF,EAAkF,IAAlF;IAGIA,oDAAAA;IAAiBA,0DAAAA;IACnBA,wDAAAA;IACAA,wDAAAA;IAEAA,4DAAAA;IAAIA,oDAAAA;;IAA4BA,0DAAAA;IAChCA,4DAAAA,UAAI,CAAJ,EAAI,MAAJ;;IAAmGA,oDAAAA;IACrCA,0DAAAA;IAC9DA,4DAAAA;IAAIA,oDAAAA;IAA6CA,0DAAAA;IACjDA,4DAAAA,WAAI,EAAJ,EAAI,MAAJ;IAAwCA,oDAAAA;IAA0CA,0DAAAA;;;;;;IAXrDA,oEAAAA;IAE3BA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,gEAAAA;IACGA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IAEDA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACMA,uDAAAA;IAAAA,oEAAAA,YAAAA,yDAAAA;IAAyFA,uDAAAA;IAAAA,+DAAAA;IAE/FA,uDAAAA;IAAAA,+DAAAA;IACOA,uDAAAA;IAAAA,wDAAAA;IAA6BA,uDAAAA;IAAAA,+DAAAA;;;;;;IAtBlDA,4DAAAA,mBAA4D,CAA5D,EAA4D,KAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,EAA5D,EAA4D,CAA5D,EAA4D,OAA5D,EAA4D,CAA5D,EAA4D,IAA5D,EAA4D,EAA5D;IAKUA,wDAAAA;IAGFA,0DAAAA;IAEFA,4DAAAA;IACEA,wDAAAA;IAaFA,0DAAAA;;;;;IAnByBA,uDAAAA;IAAAA,wDAAAA;IAMFA,uDAAAA;IAAAA,wDAAAA;;;;;;IAkB7BA,4DAAAA;IAA2DA,oDAAAA;IAA+BA,0DAAAA;;;;;;IAItFA,4DAAAA;IAAqCA,oDAAAA;IAAWA,0DAAAA;;;;;;IAChDA,4DAAAA;IAAsCA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAFjDA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACzFA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAFSA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAIXA,4DAAAA,WAAkD,CAAlD,EAAkD,KAAlD,EAAkD,EAAlD,EAAkD,CAAlD,EAAkD,MAAlD,EAAkD,EAAlD;IAE0BA,oDAAAA;IAAUA,0DAAAA;;;;ADlE9B,MAAO2iC,wBAAP,CAA+B;EAkCnChkC,YACUijC,kBADV,EAEU/zB,cAFV,EAGSkP,QAHT,EAIUne,WAJV,EAKSmX,aALT,EAKqC;IAJ3B;IACA;IACD;IACC;IACD,mCAA4B,CArCrC;;IACA,8BAAkC,KAAlC;IAIS,kBAAsB,KAAtB,CAgC4B,CA/BrC;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACT,aAA0B,EAA1B;IACS,qBAAyB,KAAzB;IACA,6BAAiC,KAAjC;IACA,oBAAuB,IAAvB;IACA,uBAA2B,IAA3B;IAET,uBAA2B,KAA3B;IACS,iBAAqB,KAArB;IAIA,sBAA0B,KAA1B;IACA,uBAA0B,EAA1B;IACA,uBAAoC,EAApC;IAET,mBAAoB,IAAItH,IAAJ,CAASA,IAAI,CAACiyB,GAAL,EAAT,CAApB;IACA,gBAAiB,IAAIjyB,IAAJ,CAASA,IAAI,CAACiyB,GAAL,EAAT,CAAjB;IAEA,uBAA0B,EAA1B;IACA,gBAAoB,KAApB;IAEA,cAASvZ,sEAAT;IASE,IAAIyb,WAAW,GAAG,IAAIn0B,IAAJ,CAASA,IAAI,CAACiyB,GAAL,EAAT,CAAlB;IACA,KAAKmC,eAAL,GAAuB,IAAIp0B,IAAJ,CAASm0B,WAAW,CAACE,WAAZ,CAAwBF,WAAW,CAACtoB,WAAZ,KAA4B,CAApD,CAAT,CAAvB;IACA,IAAIgN,QAAQ,GAAGnG,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,wBAArB,CAAX,CAAf;;IAEA,IAAI6lB,QAAQ,IAAI,IAAhB,EAAsB;MACpBA,QAAQ,GAAG,KAAX;IACD;;IAED,KAAKC,aAAL,CAAmBD,QAAnB;IACA,KAAKxD,SAAL,GAAiB,KAAKjP,OAAtB;EACD;;EAEK3T,QAAQ;IAAA;;IAAA;MACZ,IAAI,KAAI,CAAC2T,OAAL,IAAgB,UAAhB,IAA8B,KAAI,CAACA,OAAL,IAAgB,aAAlD,EAAiE;QAC/D,IAAI,KAAI,CAACiP,SAAL,IAAkB,KAAI,CAACA,SAAL,IAAkB,KAAI,CAACjP,OAA7C,EAAsD;UACpD,KAAI,CAACA,OAAL,GAAe,KAAI,CAACiP,SAApB;QACD;MACF;;MAED,MAAM,KAAI,CAAC0D,cAAL,EAAN;MACA,KAAI,CAACC,eAAL,SAA6B,KAAI,CAAC1R,aAAL,CAAmB2R,gCAAnB,CAAoD,KAAI,CAAC7S,OAAzD,CAA7B;IARY;EASb;;EAEK2S,cAAc;IAAA;;IAAA;MAClB,MAAI,CAACrT,eAAL,SAA6B,MAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,IAAI,MAAI,CAACwG,eAAL,IAAwB,MAAI,CAACxH,OAAjC,EAA0C;QACxC,MAAI,CAACA,OAAL,GAAe,MAAI,CAACA,OAAL,EAAclM,MAAd,CAAqB2Q,CAAC,IAAIA,CAAC,CAACyP,IAAF,IAAU,gBAApC,CAAf;MACD;;MACD,MAAI,CAAChT,cAAL,CAAoBmG,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP;UAAA,aAAwB,MAAI,CAAC8uB,gBAAL,CAAsB9uB,MAAtB,CAAxB;QAAA,CAA5C;;QAAA;UAAA;QAAA;MAAA;IALkB;EAMnB;;EAEKqN,QAAQ;IAAA;;IAAA;MACZ,IAAI,CAAC,MAAI,CAAC0hB,sBAAV,EAAkC;QAChC,MAAI,CAACt5B,IAAL;QACA,MAAM,MAAI,CAACq5B,gBAAL,CAAsB,IAAtB,EAA4B,IAA5B,CAAN;MACD;IAJW;EAKb;;EAEKA,gBAAgB,CAAC9uB,MAAD,EAAeqN,QAAf,EAAiC;IAAA;;IAAA;MAErD,IAAIrN,MAAJ,EAAY;QACV,MAAI,CAACA,MAAL,GAAcA,MAAd;MACD,CAFD,MAGK;QACHA,MAAM,GAAG,MAAI,CAACA,MAAd;MACD;;MAED,IAAI,CAACqN,QAAL,EAAe;QACb,MAAI,CAACjX,KAAL,GAAa,EAAb;QACA,MAAI,CAACX,IAAL,GAAY,CAAZ;MACD;;MAED,IAAI8X,QAAJ,CAdqD,CAgBrD;;MACA,MAAI,CAACwhB,sBAAL,GAA8B,IAA9B;;MAEA,IAAI,MAAI,CAACnuB,OAAT,EAAkB;QAChB,IAAIY,IAAI,GAAIxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkCnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAA9C;QACA,IAAIiS,QAAQ,GAAIO,MAAM,EAAE3F,GAAR,CAAY,UAAZ,KAA2BnN,YAAY,CAACM,OAAb,CAAqB,UAArB,CAA3C;QACA,IAAI8R,UAAU,GAAIU,MAAM,EAAE3F,GAAR,CAAY,YAAZ,CAAlB;QACA,IAAIuL,YAAY,GAAG5F,MAAM,EAAE3F,GAAR,CAAY,cAAZ,CAAnB;QAEA,IAAI+H,aAAa,GAAGlV,YAAY,CAACM,OAAb,CAAqB,QAArB,CAApB;QAEA,IAAIuC,MAAM,GAAgBqS,aAAa,IAAI,MAAjB,GAA0B,IAA1B,GAAiCE,QAAQ,CAACF,aAAD,CAAnE;QAEA,IAAI2R,cAAc,GAAG7mB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAArB;QACA,IAAIwhC,OAAO,GAASjb,cAAc,IAAI,IAAlB,GAAyB,IAAzB,GAAgChO,gEAAS,CAACgO,cAAc,GAAG,QAAlB,CAA7D;QAEA,IAAIkb,YAAY,GAAG/hC,YAAY,CAACM,OAAb,CAAqB,OAArB,CAAnB;QACA,IAAI2gC,KAAK,GAAcc,YAAY,IAAI,IAAhB,GAAuB,IAAvB,GAA8B3sB,QAAQ,CAAC2sB,YAAD,CAA7D;QAGA,IAAIjb,eAAe,GAAoB,EAAvC;QACAA,eAAe,CAACC,gBAAhB,GAAmCzS,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsB,CAACA,IAAD,CAAzD;QACAwS,eAAe,CAACE,QAAhB,GAA2BzU,QAA3B;QACAuU,eAAe,CAACG,UAAhB,GAA6B7U,UAA7B;QACA0U,eAAe,CAACI,YAAhB,GAA+BxO,YAA/B;QACAoO,eAAe,CAACM,SAAhB,GAA4B,MAAI,CAAC1T,OAAjC;QACAoT,eAAe,CAACK,MAAhB,GAAyBtkB,MAAzB;QACAikB,eAAe,CAACkb,KAAhB,GAAwBf,KAAxB;QACAna,eAAe,CAACO,WAAhB,GAA8BjS,QAAQ,CAACyR,cAAD,CAAtC;QACAC,eAAe,CAAC4Y,eAAhB,GAAkCprB,IAAlC,CA1BgB,CA2BhB;;QACA,IAAIgT,YAAY,GAAG,IAAIvB,kEAAJ,EAAnB;QACAuB,YAAY,CAACC,UAAb,GAA0B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAAyBA,GAAG,CAAC5kB,MAAlD,CAA1B;QACAykB,YAAY,CAACI,SAAb,GAAyB5B,uEAAzB;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0B4d,YAA1B,EA/BgB,CAiChB;;;QACA,IAAIO,aAAa,GAAG,IAAI9B,kEAAJ,EAApB;QACA8B,aAAa,CAACN,UAAd,GAA2B,MAAI,CAACC,eAAL,CAAsBC,GAAD,IAAyBA,GAAG,CAACzC,WAAlD,CAA3B;QACA6C,aAAa,CAACH,SAAd,GAA0B5B,wEAA1B;;QACA,MAAI,CAAC8B,eAAL,CAAqBle,IAArB,CAA0Bme,aAA1B;;QAEA,IAAI,MAAI,CAAC7U,eAAT,EAA0B;UACxBqN,QAAQ,SAAS,MAAI,CAACogB,kBAAL,CAAwBzY,iBAAxB,CAA0ClB,eAA1C,EAA2D,MAAI,CAACc,eAAhE,EAAiF,MAAI,CAACrf,IAAtF,EAA4F,MAAI,CAACK,QAAjG,CAAjB;QACD,CAFD,MAEO;UACL,IAAI0L,IAAI,IAAI,IAAZ,EAAkB;YAChBwS,eAAe,CAACC,gBAAhB,GAAmC,EAAnC;UACD;;UAED1G,QAAQ,SAAS,MAAI,CAACogB,kBAAL,CAAwBxY,QAAxB,CAAiCnB,eAAjC,EAAkD,MAAI,CAACc,eAAvD,EAAwE,MAAI,CAACrf,IAA7E,EAAmF,MAAI,CAACK,QAAxF,CAAjB;QACD;;QAEDyX,QAAQ,CAAClX,OAAT,CAAkByB,IAAD,IAAiC;UAChD,IAAIi2B,UAAU,GAAG,IAAIvzB,IAAJ,CAAS1C,IAAI,CAACk2B,WAAL,EAAkB3nB,WAAlB,EAAT,EAA0CvO,IAAI,CAACk2B,WAAL,EAAkBmB,QAAlB,EAA1C,EAAwEr3B,IAAI,CAACk2B,WAAL,EAAkBnD,OAAlB,KAA8B,EAAtG,CAAjB;UACA/yB,IAAI,CAACk2B,WAAL,GAAmBD,UAAnB;QACD,CAHD;;QAKA,IAAIxgB,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA3B,EAAqC;UACnC,MAAI,CAACgY,eAAL,GAAuB,IAAvB;QACD,CAFD,MAEO;UACL,MAAI,CAACA,eAAL,GAAuB,KAAvB;QACD;;QAED,IAAIG,MAAM,GAAG,MAAI,CAAC7X,KAAL,CAAW6X,MAAX,CAAkBV,QAAlB,CAAb;;QACA,MAAI,CAACnX,KAAL,GAAa6X,MAAb;MACD;;MACD,MAAI,CAAC6G,eAAL,GAAuB,EAAvB,CAlFqD,CAmFrD;;MACA,MAAI,CAACia,sBAAL,GAA8B,KAA9B;IApFqD;EAqFtD;;EAEDrb,cAAc,CAACC,MAAD,EAAgB;IAC5B,KAAKL,aAAL,CAAmBK,MAAnB;IACA,KAAKC,WAAL,CAAiBD,MAAjB;IAEA,KAAK9D,SAAL,GAAiB,KAAKjP,OAAtB;IACA,KAAKxK,KAAL,GAAa,EAAb;IAEA,KAAKnJ,QAAL;EACD;;EAEDqmB,aAAa,CAACK,MAAD,EAAgB;IAC3B,KAAKN,QAAL,GAAgBM,MAAhB;;IACA,IAAIA,MAAJ,EAAY;MACV,KAAK/S,OAAL,GAAe,aAAf;IACD,CAFD,MAEO;MACL,KAAKA,OAAL,GAAe,UAAf;IACD;;IAED1T,YAAY,CAACO,OAAb,CAAqB,wBAArB,EAA+Cyf,IAAI,CAACoB,SAAL,CAAeqF,MAAf,CAA/C;EACD;;EAEDC,WAAW,CAACD,MAAD,EAAgB;IACzB,IAAIA,MAAJ,EAAY;MACV,KAAK7V,KAAL,GAAa,oBAAb;IACD,CAFD,MAEO;MACL,KAAKA,KAAL,GAAa,UAAb;IACD;EACF;;EAED4W,eAAe,CAAIU,gBAAJ,EAAqC;IAClD,MAAMC,KAAK,GAAGD,gBAAgB,CAAC9O,QAAjB,GAA4B+O,KAA5B,CAAkC,mBAAlC,CAAd;IACA,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;EACD;;AAtMkC;;;mBAAxBqZ,0BAAwB3iC,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA;AAAA;;;QAAxB2iC;EAAwB58B;EAAAsH;IAAAwH;IAAA9C;IAAAgR;IAAArZ;IAAAK;IAAA+Y;IAAAugB;IAAA9Z;IAAAkZ;IAAAjZ;IAAA7c;IAAAk2B;IAAApwB;IAAAuC;IAAA+T;EAAA;EAAA/iB;EAAAC;EAAAC;EAAAC;IAAA;MCjBrCnG,4DAAAA;MACEA,wDAAAA;MACAA,4DAAAA;MAAIA,oDAAAA;MAAWA,0DAAAA;MAAMA,wDAAAA;MAKrBA,4DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;MACKA,oDAAAA;MAAmBA,0DAAAA;MAExBA,wDAAAA;MAMFA,0DAAAA;MAEAA,wDAAAA;MAEAA,wDAAAA;MAuBAA,wDAAAA;MA6BAA,wDAAAA;MAEAA,4DAAAA;MACEA,wDAAAA;MAIFA,0DAAAA;MAEAA,wDAAAA;;;;MAhFWA,uDAAAA;MAAAA,wDAAAA;MACLA,uDAAAA;MAAAA,+DAAAA;MAA0BA,uDAAAA;MAAAA,wDAAAA;MAMzBA,uDAAAA;MAAAA,+DAAAA;MAEGA,uDAAAA;MAAAA,wDAAAA;MAQuCA,uDAAAA;MAAAA,wDAAAA;MAExBA,uDAAAA;MAAAA,wDAAAA;MAuBfA,uDAAAA;MAAAA,wDAAAA;MA6BJA,uDAAAA;MAAAA,wDAAAA;MAGgDA,uDAAAA;MAAAA,wDAAAA;MAMhDA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC3EC,MAAM,aAAa;;0EAAb,aAAa;2GAAb,aAAa;QCL1B,qEAAI;QAAA,iFAAsB;QAAA,4DAAK;QAG/B,uEAAmC;QAAA,yEAAc;QAAA,4DAAI;QACrD,gEAAI;QACJ,uEAAwC;QAAA,8EAAmB;QAAA,4DAAI;QAG/D,qEAAI;QAAA,iEAAM;QAAA,uEAAM;QAAA,8DAAE;QAAA,4DAAO;QAAA,yFAA6B;QAAA,4DAAK;QAC3D,sEAAI;QAAA,kEAAM;QAAA,wEAAM;QAAA,8DAAE;QAAA,4DAAO;QAAA,qFAAyB;QAAA,4DAAK;QACvD,sEAAI;QAAA,kEAAM;QAAA,wEAAM;QAAA,8DAAE;QAAA,4DAAO;QAAA,6FAAiC;QAAA,4DAAK;QAC/D,wEACG;QAAI,4EAAgB;QAAA,wEAAM;QAAA,8DAAE;QAAA,4DAAO;QAEtC,sEAAI;QAAA,kEAAM;QAAA,wEAAM;QAAA,8DAAE;QAAA,4DAAO;QAAA,yFAA6B;QAAA,4DAAK;QAE3D,iEAAM;QAGN,qEAAG;QACK,yFAA6B;QAAA,4DAAO;QAAC,6GAE7C;QAAA,4DAAI;QACJ,6EAA2C;QAAA,iEAAK;QAAA,4DAAS;QACzD,wEAAgB;QACR,yFAA6B;QAAA,4DAAO;QAAC,mIAE7C;QAAA,4DAAI;QACJ,6EAA2C;QAAA,iEAAK;QAAA,4DAAS;QAEzD,iEAAM;QAGN,0EAAwB;QAGd,sEAAU;QAAA,4DAAK;QACnB,sEAAI;QAAA,yEAAa;QAAA,4DAAK;QACtB,qEAAG;QAAA,sEAAU;QAAA,4DAAI;QAEnB,0EAAyB;QACpB,uEAAW;QAAA,4DAAI;QAClB,wEAA4B;QAAA,qEAAS;QAAA,4DAAI;QAG7C,wEAAyB;QAEjB,sEAAU;QAAA,4DAAK;QACnB,sEAAI;QAAA,yEAAa;QAAA,4DAAK;QACtB,qEAAG;QAAA,sEAAU;QAAA,4DAAI;QAEnB,0EAAyB;QACpB,uEAAW;QAAA,4DAAI;QAClB,yEAA4B;QAAA,qEAAS;QAAA,4DAAI;QAG7C,wEAAyB;QAEjB,sEAAU;QAAA,4DAAK;QACnB,sEAAI;QAAA,+FAAmC;QAAA,4DAAK;QAC5C,qEAAG;QAAA,sEAAU;QAAA,4DAAI;QAEnB,0EAAyB;QACpB,uEAAW;QAAA,4DAAI;QAClB,yEAAyB;QAAA,kEAAM;QAAA,4DAAI;QAGvC,wEAAyB;QAEjB,sEAAU;QAAA,4DAAK;QACnB,sEAAI;QAAA,yEAAa;QAAA,4DAAK;QACtB,qEAAG;QAAA,sEAAU;QAAA,4DAAI;QAEnB,0EAAyB;QACpB,uEAAW;QAAA,4DAAI;QAClB,wEAA4B;QAAA,qEAAS;QAAA,4DAAI;QAG7C,wEAAyB;QAEjB,iFAAoB;QAAA,4DAAK;QAC7B,uEAAI;QAAA,0EAAa;QAAA,4DAAK;QACtB,sEAAG;QAAA,uEAAU;QAAA,4DAAI;QAEnB,2EAAyB;QACpB,wEAAW;QAAA,4DAAI;QAClB,yEAA4B;QAAA,sEAAS;QAAA,4DAAI;QAG7C,yEAAyB;QAEjB,uEAAU;QAAA,4DAAK;QACnB,uEAAI;QAAA,0EAAa;QAAA,4DAAK;QACtB,sEAAG;QAAA,uEAAU;QAAA,4DAAI;QAEnB,2EAAyB;QACpB,wEAAW;QAAA,4DAAI;QAClB,yEAA4B;QAAA,sEAAS;QAAA,4DAAI;QAG7C,yEAAyB;QAEjB,uEAAU;QAAA,4DAAK;QACnB,uEAAI;QAAA,0EAAa;QAAA,4DAAK;QACtB,sEAAG;QAAA,uEAAU;QAAA,4DAAI;QAEnB,2EAAyB;QACpB,wEAAW;QAAA,4DAAI;QAClB,yEAA4B;QAAA,sEAAS;QAAA,4DAAI;QAG7C,yEAAyB;QAEjB,uEAAU;QAAA,4DAAK;QACnB,uEAAI;QAAA,0EAAa;QAAA,4DAAK;QACtB,sEAAG;QAAA,uEAAU;QAAA,4DAAI;QAEnB,2EAAyB;QACpB,wEAAW;QAAA,4DAAI;QAClB,yEAA4B;QAAA,sEAAS;QAAA,4DAAI;QAK/C,6EAA0B;QACxB,yIACM;QAAA,kEAAM;QACZ,uGAA2C;QAAA,kEAAM;QACjD,+GAAqD;QAAA,kEAAM;QAC3D,qHAAmE;QAAA,kEAAM;QACzE,wHAAsE;QAAA,kEAAM;QAC5E,mHAAiE;QAAA,kEAAM;QACvE,4FAAoC;QAAA,kEAAM;QAC1C,iHAAuD;QAAA,kEAAM;QAC7D,oHAAkE;QAAA,kEAAM;QACxE,6IACiC;QAAA,kEAAM;QACvC,4FAAoC;QAAA,kEAAM;QAC1C,8EAAsB;QAAA,kEAAM;QAC5B,oEAAY;QAAA,kEAAM;QACpB,4DAAO;QAEP,kEAAM;QAGN,sEAAG;QAAA,qHAAwD;QAAA,4DAAI;QAC/D,uEAAI;QAE+B,yEAAY;QAAA,4DAAI;QAAC,kEAChD;QAAA,0EAAiE;QAAA,+DAAE;QAAA,4DAAI;QAAC,kGAE1E;QAAA,4DAAK;QACL,uEAAI;QAC4B,oEAAO;QAAA,4DAAI;QAAC,kEAC1C;QAAA,0EAAyC;QAAA,uEAAU;QAAA,4DAAI;QAAC,mFAC1D;QAAA,4DAAK;QACL,uEAAI;QACiC,sEAAS;QAAA,4DAAI;QAAC,qFACnD;QAAA,4DAAK;QAEP,sEAAG;QAAA,wGAA2C;QAAA,4DAAI;QAElD,kEAAM;QAGN,uEAAI;QAAA,6FAAgC;QAAA,4DAAK;QACzC,0EAAgB;QACd,kEAAI;QAAA,yEAAM;QAAA,wEAAW;QAAA,4DAAO;QAAC,2EAC7B;QAAA,yEAAM;QAAA,2EAAc;QAAA,4DAAO;QAAC,kGAC9B;QAAA,4DAAI;QAEJ,4EAAmC;QACP,0EAAa;QAAA,4DAAS;QAAC,mEAAK;QAAA,4DAAQ;QAC9D,yEAKE;QACJ,4DAAM;QACN,uEAAI;QAAA,qGAAwC;QAAA,4DAAK;QACjD,0EAAgB;QAAA,yEAAY;QAAA,4DAAI;QAChC,4EAAwB;QACI,0EAAa;QAAA,4DAAS;QAAC,mEAAK;QAAA,4DAAQ;QAC9D,yEAKE;QACJ,4DAAM;QAEN,2EAAiB;QAAA,qEAAQ;QAAA,4DAAK;QAC9B,4EAAwB;QACO,0EAAa;QAAA,4DAAS;QAAC,mEAAK;QAAA,4DAAQ;QACjE,4EAAgE;QAClE,4DAAM;QAEN,2EAAiB;QAAA,mEAAM;QAAA,4DAAK;QAC5B,4EAAwB;QAEH,sEAAS;QAAA,4DAAS;QACnC,2EAAQ;QAAA,gEAAG;QAAA,4DAAS;QAIxB,2EAAiB;QAAA,uEAAU;QAAA,4DAAK;QAChC,4EAAwB;QAEpB,yEAA+D;QAC/D,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAEpC,4EAAwB;QACtB,yEAA+D;QAC/D,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAEpC,4EAAwB;QACtB,yEAAwE;QACxE,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAItC,2EAAiB;QAAA,mEAAM;QAAA,4DAAK;QAC5B,4EAAwB;QAEpB,yEAA4D;QAC5D,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAEpC,4EAAwB;QACtB,yEAA4D;QAC5D,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAEpC,4EAAwB;QACtB,yEAAqE;QACrE,8EAAkB;QAAA,qEAAQ;QAAA,4DAAQ;QAItC,2EAAiB;QAAA,mEAAM;QAAA,4DAAK;QAC5B,8EAAsB;QACjB,qEAAQ;QAAA,4DAAI;QACf,yEAAuB;QAEvB,sEAAG;QAAA,qEAAQ;QAAA,4DAAI;QAEjB,8EAA8B;QACzB,qEAAQ;QAAA,4DAAI;QACf,yEAAuB;QAEvB,sEAAG;QAAA,qEAAQ;QAAA,4DAAI;;QAtPd,0DAA+B;QAA/B,wFAA+B;QAE/B,0DAAoC;QAApC,6FAAoC;;;;;;;;;;;;;;;;;;;;;;;;ACCT;AACgB;AACG;;;;;AAO1C,MAAM,wBAAwB;IAEnC,cAAc;IACd,YAAoB,kBAA6C,EAAU,WAAwB,EAAU,MAAc;QAAvG,uBAAkB,GAAlB,kBAAkB,CAA2B;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEhI,0BAA0B;IAC1B,SAAS,CAAC,OAA6B,EAAE,IAAiB;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;aACxB,IAAI,CAAC,mDAAG,CAAC,GAAG,CAAC,EAAE;YACd,OAAO,GAAG;QACZ,CAAC,CAAC,EACA,0DAAU,CAAC,CAAC,KAAwB,EAAE,EAAE;YAEtC,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9C;iBACI;gBACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACxE;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACxC;iBACI,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;gBAC5B,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAChE;iBACI;gBACH,OAAO,gDAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CACH,CAAC;IACN,CAAC;;gGAjCU,wBAAwB;yHAAxB,wBAAwB,WAAxB,wBAAwB;;;;;;;;;;;;;;;;ACd5B,MAAM,gBAAgB;CAM5B;AAAA,CAAC;;;;;;;;;;;;;;;;ACRG,MAAM,mBAAmB;CAI7B;;;;;;;;;;;;;;;;ACJH,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,mDAAO;IACP,+CAAK;IACL,iDAAM;IACN,uDAAS;IACT,iEAAc;AAClB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;;;;;;;;;;;;;;;;ACND,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,mEAAS;IACT,qEAAM;IACN,2EAAS;IACT,2EAAS;IACT,qEAAM;IACN,2EAAS;AACb,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;;;;;;;;;;;;;;;;ACPD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,iFAAiB;IACjB,6EAAe;IACf,6EAAe;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;;;;;;;;;;;;;;;;ACJD,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,uDAAyC;IACzC,uDAAyC;IACzC,6CAA+B;IAC/B,oCAAsB;IACtB,mCAAqB;IACrB,0CAA4B;IAC5B,4CAA8B;IAC9B,6CAA+B;IAC/B,+CAAiC;IACjC,gDAAkC;IAClC,qEAAuD;AAC3D,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB;;;;;;;;;;;;;;;;ACZD,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,6BAAe;IACf,+BAAiB;IACjB,uCAAyB;AAC7B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;;;;;;;;;;;;;;;;ACJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,0CAA6B;IAC7B,4CAA+B;IAC/B,4CAA+B;IAC/B,8BAAiB;AACrB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;;;;;;;;;;;;;;;;ACHM,MAAM,gCAAgC;IAIzC;QACI,IAAI,CAAC,cAAc,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,CAAC;IAC/E,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;ACRD;;;;;;;;;;ICFAA,uDAAAA;;;;;IAEIA,wDAAAA,qCAA8B,cAA9B,EAA8Bod,kBAA9B;;;;ADUE,MAAOmmB,gBAAP,CAAuB;EAQ3B5kC,YAAoB4I,MAApB,EAAqDsG,cAArD,EAA6F/O,MAA7F,EAAqHF,WAArH,EAA6I;IAAzH;IAAiC;IAAwC;IAAwB;IAPrH,cAAyB,IAAzB;IACA,sBAAiB,EAAjB;IACA,mBAAc,aAAd;IACA,kBAAa,QAAb;;IAKE,KAAKE,MAAL,CAAY0kC,kBAAZ,CAA+BC,gBAA/B,GAAkD;MAChD,OAAO,KAAP;IACD,CAFD;EAID;;EAEKviC,QAAQ;IAAA;;IAAA;MACZ,IAAIwiC,UAAU,GAAG,KAAI,CAAC71B,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,YAA1C,CAAjB;;MACA,KAAI,CAACq1B,aAAL,SAA2B,KAAI,CAAC/kC,WAAL,CAAiBK,cAAjB,EAA3B;MACA,MAAM,KAAI,CAAC2kC,UAAL,CAAgBF,UAAhB,CAAN;IAHY;EAIb;;EAEKE,UAAU,CAACF,UAAD,EAAmB;IAAA;;IAAA;MACjC,MAAI,CAACG,MAAL,SAAoB,MAAI,CAACt8B,MAAL,CAAYu8B,QAAZ,CAAqBJ,UAArB,EAAiCK,SAAjC,EAApB;MACA,MAAI,CAACC,cAAL,GAAsB,MAAI,CAACH,MAAL,CAAYI,WAAZ,CAAwB,CAAxB,EAA2BC,QAAjD;MAEA,MAAI,CAACC,YAAL,GAAoB;QAClBz7B,IAAI,EAAE,QADY;QAElBhE,EAAE,EAAE,MAAI,CAACm/B,MAAL,CAAYI,WAAZ,CAAwB,CAAxB,EAA2BG,QAFb;QAGlBF,QAAQ,EAAE,MAAI,CAACF,cAHG;QAIlBK,WAAW,EAAE,MAAI,CAACR,MAAL,CAAYS,UAAZ,CAAuBC,KAJlB;QAKlBC,SAAS,EAAElB,kEALO;QAMlBqB,QAAQ,EAAE;UACRC,KAAK,EAAE;YACLtwB,OAAO,EAAE;cACPuwB,QAAQ,EAAE,KADH;cAEPC,OAAO,EAAE;YAFF;UADJ,CADC;UAORC,sBAAsB,EAAEzB,+FAPhB;UAQR4B,UAAU,EAAE5B,6EARJ;UASR+B,YAAY,EAAE;YACZC,aAAa,EAAEhC,2EAA+BkC;UADlC;QATN;MANQ,CAApB;IAJiC;EAwBlC;;AA7C0B;;;mBAAhBjC,kBAAgBvjC,+DAAAA,CAAAA,mEAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAhBujC;EAAgBx9B;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCZ7BnG,wDAAAA;;;;MACCA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKD;AACA;AAEA;;;;;;;;;;;;;;;;ICTAA,uDAAAA;;;;;;IAoCYA,qEAAAA;IACEA,oDAAAA;IACFA,mEAAAA;;;;;;IACAA,qEAAAA;IACEA,oDAAAA;IACFA,mEAAAA;;;;;;IACAA,qEAAAA;IACEA,oDAAAA;IACFA,mEAAAA;;;;;;IArBJA,4DAAAA,UAAgE,CAAhE,EAAgE,IAAhE,EAAgE,EAAhE,EAAgE,CAAhE,EAAgE,KAAhE,EAAgE,EAAhE,EAAgE,CAAhE,EAAgE,MAAhE,EAAgE,CAAhE,EAAgE,QAAhE;IAGoBA,oDAAAA;IAAiCA,0DAAAA;IAC/CA,4DAAAA;IAAMA,oDAAAA;IAAqCA,0DAAAA;IAG/CA,4DAAAA;IAAyBA,oDAAAA;IAAkCA,0DAAAA;IAC3DA,4DAAAA;IAAgCA,oDAAAA;IAE5BA,0DAAAA;IACJA,4DAAAA;IAA0BA,oDAAAA;;IAAiDA,0DAAAA;IAC3EA,4DAAAA;IACEA,wDAAAA;IAGAA,wDAAAA;IAGAA,wDAAAA;IAGFA,0DAAAA;IACAA,4DAAAA,eAA8D,EAA9D,EAA8D,KAA9D,EAA8D,EAA9D,EAA8D,EAA9D,EAA8D,MAA9D,EAA8D,EAA9D;IACwCA,oDAAAA;IAAoCA,0DAAAA;;;;;IArB1DA,uDAAAA;IAAAA,+DAAAA;IACRA,uDAAAA;IAAAA,+DAAAA;IAGeA,uDAAAA;IAAAA,+DAAAA;IACOA,uDAAAA;IAAAA,+DAAAA;IAGNA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IAETA,uDAAAA;IAAAA,wDAAAA;IAGAA,uDAAAA;IAAAA,wDAAAA;IAGAA,uDAAAA;IAAAA,wDAAAA;IAKuBA,uDAAAA;IAAAA,+DAAAA;;;;;;;;IA7ClDA,4DAAAA,kBAAwG,CAAxG,EAAwG,KAAxG,EAAwG,CAAxG,EAAwG,CAAxG,EAAwG,KAAxG,EAAwG,CAAxG;IAGkBA,wDAAAA;MAAAA,2DAAAA;;MAAA;;MAAA,OAASA,yDAAAA,cAAT;IAA0B,CAA1B;IACZA,4DAAAA;IAAoBA,uDAAAA;IAA6EA,0DAAAA;IAEnGA,4DAAAA;IAAwFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAT;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAeA,0DAAAA;IAC/HA,4DAAAA;IAA+EA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAE7EA,4DAAAA,aAAO,EAAP,EAAO,IAAP,EAAO,EAAP,EAAO,EAAP,EAAO,IAAP;IAEQA,oDAAAA;IAAWA,0DAAAA;IACfA,4DAAAA;IAAIA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAIA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAIA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAIA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAIA,oDAAAA;IAAgBA,0DAAAA;IAIxBA,4DAAAA;IACEA,wDAAAA;IA4BFA,0DAAAA;;;;;IA9CwCA,uDAAAA;IAAAA,yDAAAA;IACXA,uDAAAA;IAAAA,wDAAAA;IAGgDA,uDAAAA;IAAAA,wDAAAA;IAc1CA,uDAAAA;IAAAA,wDAAAA;;;;;;IAoCrCA,4DAAAA;IAA0BA,oDAAAA;IAAWA,0DAAAA;;;;;;IACrCA,4DAAAA;IAA2BA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAFtCA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACzFA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAFSA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAHXA,4DAAAA;IACEA,wDAAAA;IAIFA,0DAAAA;;;;;IAJsDA,uDAAAA;IAAAA,wDAAAA;;;;;;IAMtDA,uDAAAA;;;;;IAAuCA,wDAAAA,0BAAiB,iBAAjB,EAAiBylC,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,4BAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,SAAjB,EAAiBA,cAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGvCzlC,uDAAAA;;;;ADhDM,MAAO0lC,+BAAP,CAAsC;EA+B1C;EACA/mC,YACUkP,cADV,EAESiyB,qBAFT,EAGUriB,YAHV,EAIU7e,WAJV,EAKUmP,cALV,EAKwC;IAJ9B;IACD;IACC;IACA;IACA,qCAA8B,CA/BxC;;IACA,yBAAwC,EAAxC;IACA,iCAAgD,EAAhD;IACA,kCAAiD,EAAjD,CA4BwC,CA1BxC;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACA,kBAAsB,KAAtB;IAET,uBAA2B,KAA3B,CAqBwC,CAnBxC;;IACA,mBAAuB,KAAvB;IAEA,gBAAW,iBAAX;IAOA,WAAM,KAAN;IACA,qBAAgBuN,4EAAhB;IACA,mBAAc8H,0EAAd;IASE,KAAK0c,qBAAL,CAA2BC,oBAA3B,GAAkD,IAAlD;EACD,CAxCyC,CA0C1C;;;EACM7+B,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MAEA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAACoF,QAAL,GAAgB,KAAI,CAAC7F,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,UAA1C,CAAhB;MACA,KAAI,CAAC6F,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B,CALY,CAOZ;;MACA,KAAI,CAACwQ,IAAL,SAAkB,KAAI,CAAC2hB,qBAAL,CAA2B6F,iCAA3B,CAA6D,KAAI,CAACx3B,MAAlE,CAAlB;MACA,IAAIwH,aAAa,GAAG,KAAI,CAACwI,IAAL,CAAUxI,aAA9B;MACA,KAAI,CAACX,eAAL,GAAuBW,aAAa,EAAEjR,EAAtC;MACA,KAAI,CAACogB,iBAAL,GAAyBnP,aAAa,EAAEpJ,WAAxC;MACA,KAAI,CAACwY,OAAL,GAAe,KAAI,CAAC5G,IAAL,EAAW4G,OAA1B;MACA,KAAI,CAACxR,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC/N,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MACA,KAAI,CAACstB,qBAAL,CAA2Bhc,SAA3B,GAAuC,KAAI,CAAC3F,IAAL,CAAU2F,SAAjD;MAEA,KAAI,CAAC/V,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MAEA,KAAI,CAACpQ,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAAClQ,MAA/C,CAAvC;MACA,KAAI,CAACJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C,CApBY,CAsBZ;;MACA,KAAI,CAAC+Y,YAAL,CAAkByC,QAAlB,CAA2B,KAAI,CAAC4f,qBAAL,CAA2BC,oBAA3B,CAAgDhuB,KAAhD,GAAwD,aAAnF;;MACA,KAAI,CAAC6zB,mBAAL,CAAyB,KAAI,CAAC9F,qBAAL,CAA2BC,oBAApD,EAxBY,CAyBZ;;;MACA,KAAI,CAACvZ,WAAL,CAAiB,CAAjB,EAAoB,EAApB;;MAEA,KAAI,CAAC9C,WAAL,GAAmB,KAAnB;IA5BY;EA6Bb;;EAED8C,WAAW,CAAC9c,IAAD,EAAeK,QAAf,EAA+B;IACxC,IAAI,KAAK87B,iBAAL,CAAuB/gC,MAAvB,IAAiC,KAAKiF,QAA1C,EAAoD;MAClD,KAAKgY,eAAL,GAAuB,IAAvB;IACD;;IAED,KAAK+jB,yBAAL,GAAiC,KAAKD,iBAAtC,CALwC,CAOxC;;IACA,KAAKE,0BAAL,GAAkC,KAAKF,iBAAL,CAAuBpb,KAAvB,CAChC,CAAC/gB,IAAI,GAAG,CAAR,IAAaK,QADmB,EAEhC,CAACL,IAAI,GAAG,CAAR,IAAaK,QAAb,GAAwBA,QAFQ,CAAlC;EAKD;;EAEDi8B,mBAAmB,CAACzyB,UAAD,EAAmB;IACpC,IAAIyE,GAAG,GAAsB;MAAEG,OAAO,EAAE5E,UAAX;MAAuBwY,OAAO,EAAE;IAAhC,CAA7B;IACA,KAAKhe,cAAL,CAAoBk4B,sBAApB,CAA2C7hC,IAA3C,CAAgD4T,GAAhD;EACD;;EAED4tB,mBAAmB,CAACznB,IAAD,EAAwB;IACzC;IACA,MAAMuI,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWjD,IAAI,CAACwI,QAAhB,CAAf,CAFyC,CAIzC;;IACA,KAAKkf,iBAAL,GAAyBnf,MAAM,CAACwf,iBAAhC,CALyC,CAOzC;;IACA,IAAI,KAAKxyB,QAAT,EAAmB;MACjB,KAAKmyB,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBplC,MAAvB,CAA8B0lC,CAAC,IAAIA,CAAC,CAAChe,QAAF,IAAc,KAAKzU,QAAtD,CAAzB;IACD;;IACD,IAAI0yB,EAAE,GAAG,KAAKP,iBAAL,CAAuBplC,MAAvB,CAA+BsL,IAAD,IAAUA,IAAI,CAACs6B,aAAL,KAAuB,aAA/D,CAAT;IACA,IAAIC,EAAE,GAAG,KAAKT,iBAAL,CAAuBplC,MAAvB,CAA+BsL,IAAD,IAAUA,IAAI,CAACs6B,aAAL,KAAuB,WAA/D,CAAT;IACAD,EAAE,GAAGA,EAAE,CAAC73B,IAAH,CAAQ,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAAC86B,OAAF,IAAaz0B,CAAC,CAACy0B,OAAf,GAAyB,CAAC,CAA1B,GAA8B,CAAhD,CAAL;IACAqD,EAAE,GAAGA,EAAE,CAAC/3B,IAAH,CAAQ,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAAC86B,OAAF,GAAYz0B,CAAC,CAACy0B,OAAd,GAAwB,CAAC,CAAzB,GAA6B,CAA/C,CAAL;IACA,KAAK4C,iBAAL,GAAyBO,EAAE,CAAClkB,MAAH,CAAUokB,EAAV,CAAzB;EACD;;EAED56B,WAAW;IAET;IACA,MAAM66B,eAAe,GAAG,KAAKT,yBAAL,CAA+Bh6B,GAA/B,CAAmCC,IAAI,IAAG;MAEhE,IAAIy6B,SAAS,GAAG,EAAhB;;MACA,IAAIz6B,IAAI,CAAC06B,UAAL,IAAmB16B,IAAI,CAAC26B,UAA5B,EAAwC;QACtCF,SAAS,GAAG,SAAZ;MACD,CAFD,MAEO,IAAIz6B,IAAI,CAAC26B,UAAL,IAAmB,CAAC36B,IAAI,CAAC06B,UAA7B,EAAyC;QAC9CD,SAAS,GAAG,IAAZ;MACD,CAFM,MAEA,IAAIz6B,IAAI,CAAC06B,UAAL,IAAmB,CAAC16B,IAAI,CAAC26B,UAA7B,EAAyC;QAC9CF,SAAS,GAAG,IAAZ;MACD;;MAED,OAAO;QACL,eAAez6B,IAAI,CAACqc,UADf;QAEL,mBAAmBrc,IAAI,CAAC46B,cAFnB;QAGL,WAAW56B,IAAI,CAAC66B,WAHX;QAIL,kBAAkB76B,IAAI,CAACs6B,aAJlB;QAKL,YAAYt6B,IAAI,CAACk3B,OALZ;QAML,WAAWuD,SANN;QAOL,oBAAoBz6B,IAAI,CAAC86B;MAPpB,CAAP;IASD,CApBuB,CAAxB;IAsBA,MAAM76B,EAAE,GAAmBlF,sDAAA,CAAyBy/B,eAAzB,CAA3B;IAEA;;IACA,MAAMp6B,EAAE,GAAkBrF,iDAAA,EAA1B;IACAA,0DAAA,CAA6BqF,EAA7B,EAAiCH,EAAjC,EAAqC,QAArC;IAEA;;IACAlF,4CAAA,CAAeqF,EAAf,EAAmB,KAAK2zB,qBAAL,CAA2BC,oBAA3B,CAAgDpqB,aAAhD,CAA8DpJ,WAA9D,GAA4E,OAA/F;EACD;;EAED+U,QAAQ;IACN,KAAKkF,WAAL,CAAiB,KAAK9c,IAAtB,EAA6B,KAAKK,QAAL,IAAiB,EAA9C;EACD;;AArJyC;;;mBAA/B27B,iCAA+B1lC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAA/B0lC;EAA+B3/B;EAAAsH;IAAA3D;IAAAK;IAAAgZ;EAAA;EAAA/c;EAAAC;EAAAC;EAAAC;IAAA;MCnB5CnG,wDAAAA;MAEAA,wDAAAA;MAuDAA,wDAAAA;MAOAA,wDAAAA;MAGAA,wDAAAA;;;;MAnE8BA,wDAAAA;MAEsBA,uDAAAA;MAAAA,wDAAAA;MAuD9CA,uDAAAA;MAAAA,wDAAAA;MAOaA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEtB;AAGA;;;;;;;AAMM,MAAO8mC,6BAAP,CAAoC;EAcxCnoC,YAAoBC,WAApB,EAAsD6e,YAAtD,EAAyE;IAArD;IAAkC;IAXtD,eAAU,eAAV;IAES,YAAe,CAAf;IACA,gBAAmB,CAAnB;IAGT,mBAAuB,KAAvB;IACA,eAAgD,CAAC;MAAEoD,IAAI,EAAE,WAAR;MAAqBC,QAAQ,EAAE;IAA/B,CAAD,EAA2C;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAA3C,EAA+G;MAAED,IAAI,EAAE,qBAAR;MAA+BC,QAAQ,EAAE;IAAzC,CAA/G,EAAqK;MAACD,IAAI,EAAC,SAAN;MAAgBC,QAAQ,EAAE;IAA1B,CAArK,EAA2M;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAA3M,CAAhD;IACA,YAAOL,mEAAP;IACA,cAASD,qEAAT;EAGC;;EAEKtf,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAACuc,YAAL,CAAkByC,QAAlB,CAA2B,2BAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAAC9F,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MAEA,KAAI,CAAC4b,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MACA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;IARY;EASb;;EAEDG,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;AAnCuC;;;mBAA7Bs0B,+BAA6B9mC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAA7B8mC;EAA6B/gC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCX1CnG,4DAAAA,cAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAGFA,uDAAAA;;;;MAPaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAIcA,uDAAAA;MAAAA,wDAAAA,yBAAmB,OAAnB,EAAmB,eAAnB,EAAmB,SAAnB,EAAmBwN,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmBA,eAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL3B;AACA;AACA;AAGA;AACA;AACA;;;;;;;;;;;;;;;ICXAxN,wDAAAA;;;;;;;;IAgCUA,6DAAAA,cAAgG,CAAhG,EAAgG,QAAhG,EAAgG,EAAhG;IACgDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,sDAAT;IAAkD,CAAlD;IACkGA,qDAAAA;IAA2DA,2DAAAA;;;;;;IAAzMA,wDAAAA;IAAAA,yDAAAA;IAA8IA,wDAAAA;IAAAA,gEAAAA;;;;;;;;IAGhJA,6DAAAA;IAA8CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,mFAAT;IAA2E,CAA3E;IAA8FA,qDAAAA;IAAKA,2DAAAA;;;;;;IAfrJA,6DAAAA,UAAuD,CAAvD,EAAuD,IAAvD,EAAuD,EAAvD;IAEIA,qDAAAA;IACFA,2DAAAA;IACAA,6DAAAA;IAAkCA,qDAAAA;IAAsCA,2DAAAA;IACxEA,6DAAAA;IAA6BA,qDAAAA;IAAiCA,2DAAAA;IAC9DA,6DAAAA,cAAiC,CAAjC,EAAiC,GAAjC;IACKA,qDAAAA;IAA2CA,2DAAAA;IAAIA,wDAAAA,WAAI,EAAJ,EAAI,GAAJ,EAAI,EAAJ;IAEpDA,2DAAAA;IACAA,yDAAAA;IAIAA,6DAAAA;IACEA,yDAAAA;IACFA,2DAAAA;;;;;;IAdEA,wDAAAA;IAAAA,iEAAAA;IAEgCA,wDAAAA;IAAAA,gEAAAA;IACLA,wDAAAA;IAAAA,gEAAAA;IAExBA,wDAAAA;IAAAA,iEAAAA;IAC+BA,wDAAAA;IAAAA,yDAAAA,kDAAAA,6DAAAA;IAE/BA,wDAAAA;IAAAA,yDAAAA;IAKyHA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAlCxIA,6DAAAA,kBAA8F,CAA9F,EAA8F,KAA9F,EAA8F,CAA9F,EAA8F,CAA9F,EAA8F,KAA9F,EAA8F,CAA9F;IAGkBA,yDAAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,cAAT;IAA0B,CAA1B;IACZA,6DAAAA;IAAoBA,wDAAAA;IAA6EA,2DAAAA;IAEnGA,6DAAAA;IAAwFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,uBAAT;IAAsB,CAAtB;IAAwBA,qDAAAA;IAAeA,2DAAAA;IAC/HA,6DAAAA;IAA+EA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA;IAC7EA,6DAAAA,aAAO,EAAP,EAAO,IAAP,EAAO,EAAP,EAAO,EAAP,EAAO,IAAP;IAEQA,qDAAAA;IAAOA,2DAAAA;IACXA,6DAAAA;IAAIA,qDAAAA;IAAgBA,2DAAAA;IACpBA,6DAAAA;IAAIA,qDAAAA;IAAWA,2DAAAA;IACfA,6DAAAA;IAAIA,qDAAAA;IAAeA,2DAAAA;IACnBA,wDAAAA;IACFA,2DAAAA;IAGFA,6DAAAA;IACEA,yDAAAA;IAkBFA,2DAAAA;;;;;IAlCwCA,wDAAAA;IAAAA,0DAAAA;IACXA,wDAAAA;IAAAA,yDAAAA;IAGgDA,wDAAAA;IAAAA,yDAAAA;IAY1CA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAyBvCA,6DAAAA;IAAoHA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,oBAAT;IAAmB,CAAnB;IAClHA,6DAAAA;IAAMA,qDAAAA;IAASA,2DAAAA;;;;;;;;IAEjBA,6DAAAA;IAAuHA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mBAAT;IAAkB,CAAlB;IACrHA,6DAAAA;IAAMA,qDAAAA;IAAQA,2DAAAA;;;;;;IALlBA,6DAAAA;IACEA,yDAAAA;IAGAA,yDAAAA;IAGFA,2DAAAA;;;;;IANsDA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAOtDA,wDAAAA;;;;;IAAuCA,yDAAAA,0BAAiB,iBAAjB,EAAiBylC,sBAAjB,EAAiB,mBAAjB,EAAiBA,gFAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,yBAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,SAAjB,EAAiBA,oFAAjB,EAAiB,uBAAjB,EAAiB,IAAjB,EAAiB,gBAAjB,EAAiBA,qBAAjB,EAAiB,WAAjB,EAAiBA,gBAAjB;;;;;;IAGvCzlC,wDAAAA;;;;ADxCM,MAAO+mC,4BAAP,CAAmC;EA+BvCpoC,YAAoBkP,cAApB,EAA2D2V,kBAA3D,EAA2GzV,cAA3G,EAAmJnP,WAAnJ,EAAqLE,MAArL,EAAmM;IAA/K;IAAuC;IAAgD;IAAwC;IAAkC;IA9B5K,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACA,kBAAsB,KAAtB;IAET,uBAA2B,KAA3B,CA0BmM,CArBnM;;IACA,yBAAwC,EAAxC,CAoBmM,CAlBnM;;IACA,mBAAuB,KAAvB;IAEA,WAAM,KAAN;IACA,qBAAgBwc,6EAAhB;IACA,mBAAc8H,2EAAd;IAIA,gBAAoB,KAApB;IACA,sBAA2B,EAA3B;IAGA,iCAAoC,2BAApC;IACA,4BAA+B,qBAA/B;IAKE,KAAKI,kBAAL,CAAwBG,iBAAxB,GAA4C,IAA5C;EACD,CAjCsC,CAmCvC;;;EACMziB,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MAEA,KAAI,CAAC1kB,IAAL,SAAkB,KAAI,CAACJ,WAAL,CAAiBK,cAAjB,EAAlB;MACA,KAAI,CAACkV,eAAL,GAAuB,KAAI,CAACnV,IAAL,CAAUU,KAAV,CAAgB+U,QAAhB,CAAyB,eAAzB,CAAvB,CALY,CAOZ;;MACA,KAAI,CAACtG,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;;MAEA,IAAI;QACF;QACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAACqF,kBAAL,CAAwBwjB,kBAAxB,CAA2C,KAAI,CAAC74B,MAAhD,CAAlB;QACA,KAAI,CAACJ,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;QACA,KAAI,CAAC8oB,QAAL,GAAgB,KAAI,CAAC9oB,IAAL,CAAU2F,SAAV,IAAuB,aAAvC;QACA,KAAI,CAACvQ,UAAL,GAAkB,KAAI,CAAC4K,IAAL,EAAWpM,KAA7B;QAEA,IAAIm1B,cAAc,GAAG,KAAI,CAAC/oB,IAAL,CAAUxI,aAA/B;QACA,KAAI,CAACX,eAAL,GAAuBkyB,cAAc,EAAExiC,EAAvC;QACA,KAAI,CAACogB,iBAAL,GAAyBoiB,cAAc,EAAE36B,WAAzC;QAEA,KAAI,CAACvI,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;QACA,KAAI,CAACsR,SAAL,GAAiB,KAAI,CAAC3F,IAAL,CAAU2F,SAA3B;QAEA,KAAI,CAAC/V,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAAClQ,MAA/C,CAAvC;QACA,KAAI,CAACJ,cAAL,CAAoBud,WAApB,SAAwC,KAAI,CAACvd,cAAL,CAAoBo5B,cAApB,EAAxC;QACA,KAAI,CAACp5B,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C;MACD,CAjBD,CAkBA,OAAOL,KAAP,EAAc;QACZ,IAAIA,KAAK,CAACL,MAAN,KAAiB,GAArB,EAA0B;UACxB;UACA,KAAI,CAAClF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;YAAEwgB,kBAAkB,EAAE;UAAtB,CAA/B;QACD;MACF,CAjCW,CAmCZ;;;MACA,KAAI,CAACyD,WAAL,GAAmB,KAAnB,CApCY,CAsCZ;;MACA,KAAI,CAAC8C,WAAL,CAAiB,KAAI,CAACrI,IAAtB,EAA4B,CAA5B,EAA+B,EAA/B;;MACA,KAAI,CAACpQ,cAAL,CAAoBq5B,gBAApB,CAAqC,KAAI,CAACC,yBAA1C;;MACA,KAAI,CAACt5B,cAAL,CAAoBq5B,gBAApB,CAAqC,KAAI,CAACE,oBAA1C;IAzCY;EA0Cb;;EAED9gB,WAAW,CAACrI,IAAD,EAAuBzU,IAAvB,EAAqCK,QAArC,EAAqD;IAC9D;IACA,MAAM2c,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWjD,IAAI,CAACwI,QAAhB,CAAf,CAF8D,CAG9D;;IACA,KAAKC,iBAAL,GAAyBF,MAAM,CAACG,iBAAP,CAAyBpmB,MAAzB,CAAiC2Q,CAAD,IAAyBA,CAAC,CAACm2B,QAAF,IAAc,KAAvE,CAAzB;IACA,KAAK3U,cAAL,GAAsB,KAAKhM,iBAAL,CAAuB9a,GAAvB,CAA2BsF,CAAC,IAAIA,CAAC,CAACgX,UAAlC,CAAtB;IACA,KAAKuP,SAAL,GAAiB,KAAKsP,QAAL,GAAgB,EAAhB,GAAqB,KAAKrgB,iBAAL,CAAuB,CAAvB,GAA2BG,aAA3B,EAA0CxM,QAA1C,GAAqDtL,KAArD,CAA2D,GAA3D,EAAgE,CAAhE,CAAtC;;IAEA,IAAI,KAAK2X,iBAAL,CAAuB9hB,MAAvB,IAAiC,KAAKiF,QAA1C,EAAoD;MAClD,KAAKgY,eAAL,GAAuB,IAAvB;IACD;;IAED,KAAK6E,iBAAL,CAAuBtc,OAAvB,CAA+Bk9B,QAAQ,IAAG;MACxCA,QAAQ,CAACX,cAAT,GAA0BW,QAAQ,CAACX,cAAT,EAAyBrkB,OAAzB,CAAiC,WAAjC,EAA8C,2CAA9C,EAA2FA,OAA3F,CAAmG,OAAnG,EAA4G,MAA5G,CAA1B;IACD,CAFD,EAZ8D,CAgB9D;;IACA,KAAKoE,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBrY,IAAvB,CAA4B,CAACpG,CAAD,EAAIqG,CAAJ,KAAUrG,CAAC,CAACigB,UAAF,CAAa7S,WAAb,MAA8B/G,CAAC,CAAC4Z,UAAF,CAAa7S,WAAb,EAA9B,GAA2D,CAAC,CAA5D,GAAgE,CAAtG,CAAzB,CAjB8D,CAkB9D;;IACA,KAAKqR,iBAAL,GAAyB,KAAKA,iBAAL,CAAuB6D,KAAvB,CACvB,CAAC/gB,IAAI,GAAG,CAAR,IAAaK,QADU,EAEvB,CAACL,IAAI,GAAG,CAAR,IAAaK,QAAb,GAAwBA,QAFD,CAAzB;EAID;;EAED2B,WAAW;IACT;IACA,IAAI+7B,OAAO,GAAGr/B,QAAQ,CAAC+Z,cAAT,CAAwB,aAAxB,CAAd,CAFS,CAIT;;IACA,MAAMulB,SAAS,GAAmB5gC,+DAAA,CAA0B2gC,OAA1B,CAAlC,CALS,CAMT;;IACA,MAAMG,YAAY,GAAG,KAAKC,iCAAL,CAAuCH,SAAvC,CAArB,CAPS,CAST;;IACA,MAAMI,iBAAiB,GAAGhhC,6DAAA,CAAwB8gC,YAAxB,CAA1B,CAVS,CAWT;;IACA,MAAMI,aAAa,GAAGlhC,6DAAA,CAAwBghC,iBAAiB,CAAC,MAAD,CAAzC,CAAtB,CAZS,CAcT;;IACA,KAAKI,aAAL,CAAmBF,aAAnB,EAAkCF,iBAAlC,EAfS,CAiBT;;IACA,MAAMK,QAAQ,GAAkBrhC,yDAAA,EAAhC;IACAA,kEAAA,CAA6BqhC,QAA7B,EAAuCL,iBAAvC,EAA0D,QAA1D,EAnBS,CAqBT;;IACAhhC,oDAAA,CAAeqhC,QAAf,EAAyB,KAAKhqB,IAAL,CAAUxI,aAAV,CAAwBpJ,WAAxB,GAAsC,OAA/D;EACD;;EAEOs7B,iCAAiC,CAACH,SAAD,EAA0B;IACjE,MAAMU,KAAK,GAAGthC,6DAAA,CAAwB4gC,SAAS,CAAC,MAAD,CAAjC,CAAd,CADiE,CAGjE;;IACA,IAAI/6B,OAAO,GAAG,EAAd;;IACA,KAAK,IAAI07B,CAAC,GAAGD,KAAK,CAACE,CAAN,CAAQnC,CAArB,EAAwBkC,CAAC,IAAID,KAAK,CAAClwB,CAAN,CAAQiuB,CAArC,EAAwC,EAAEkC,CAA1C,EAA6C;MAC3C,MAAME,WAAW,GAAG;QAAEpC,CAAC,EAAEkC,CAAL;QAAQG,CAAC,EAAEJ,KAAK,CAACE,CAAN,CAAQE;MAAnB,CAApB;MACA,MAAMC,OAAO,GAAG3hC,4DAAA,CAAuByhC,WAAvB,CAAhB;MACA,MAAMI,IAAI,GAAGjB,SAAS,CAACe,OAAD,CAAtB;MACA97B,OAAO,CAAC9B,IAAR,CAAa89B,IAAI,GAAGA,IAAI,CAACre,CAAR,GAAY,IAA7B;IACD,CAVgE,CAYjE;;;IACA,MAAMse,eAAe,GAAGj8B,OAAO,CAACb,GAAR,CAAY,CAACc,MAAD,EAASyH,KAAT,KAAmBzH,MAAM,GAAGyH,KAAH,GAAW,IAAhD,EAAsD5T,MAAtD,CAA6D4T,KAAK,IAAIA,KAAK,KAAK,IAAhF,CAAxB,CAbiE,CAejE;;IACA,MAAMuzB,YAAY,GAAG,EAArB;;IACA,KAAK,IAAIiB,CAAC,GAAGT,KAAK,CAACE,CAAN,CAAQE,CAArB,EAAwBK,CAAC,IAAIT,KAAK,CAAClwB,CAAN,CAAQswB,CAArC,EAAwC,EAAEK,CAA1C,EAA6C;MAC3C,MAAMC,GAAG,GAAG,EAAZ;;MACA,KAAK,IAAIT,CAAT,IAAcO,eAAd,EAA+B;QAC7B,MAAML,WAAW,GAAG;UAAEpC,CAAC,EAAEkC,CAAL;UAAQG,CAAC,EAAEK;QAAX,CAApB;QACA,MAAMJ,OAAO,GAAG3hC,4DAAA,CAAuByhC,WAAvB,CAAhB;QACAO,GAAG,CAACj+B,IAAJ,CAAS68B,SAAS,CAACe,OAAD,CAAT,EAAoBne,CAApB,IAAyB,EAAlC;MACD;;MACDsd,YAAY,CAAC/8B,IAAb,CAAkBi+B,GAAlB;IACD;;IACD,OAAOlB,YAAP;EACD;;EAEOM,aAAa,CAACE,KAAD,EAAoBV,SAApB,EAA6C;IAChE,MAAMqB,SAAS,GAAa,IAAI/7B,KAAJ,CAAUo7B,KAAK,CAAClwB,CAAN,CAAQiuB,CAAR,GAAYiC,KAAK,CAACE,CAAN,CAAQnC,CAApB,GAAwB,CAAlC,EAAqC6C,IAArC,CAA0C,CAA1C,CAA5B;IACA,MAAMC,QAAQ,GAAGb,KAAK,CAAClwB,CAAN,CAAQswB,CAAzB;IACA,MAAMU,WAAW,GAAGd,KAAK,CAAClwB,CAAN,CAAQiuB,CAA5B;;IAEA,KAAK,IAAI2C,GAAG,GAAG,CAAf,EAAkBA,GAAG,IAAIG,QAAzB,EAAmCH,GAAG,EAAtC,EAA0C;MACxC,KAAK,IAAIK,GAAG,GAAG,CAAf,EAAkBA,GAAG,IAAID,WAAzB,EAAsCC,GAAG,EAAzC,EAA6C;QAC3C,MAAMV,OAAO,GAAG3hC,4DAAA,CAAuB;UAAE0hC,CAAC,EAAEM,GAAL;UAAU3C,CAAC,EAAEgD;QAAb,CAAvB,CAAhB;QACA,MAAMR,IAAI,GAAGjB,SAAS,CAACe,OAAD,CAAtB,CAF2C,CAI3C;;QACA,MAAMW,iBAAiB,GAAGT,IAAI,EAAEre,CAAN,GAAUqe,IAAI,CAACre,CAAL,CAAO/P,QAAP,GAAkBzV,MAA5B,GAAqC,CAA/D;QACA,IAAIukC,cAAc,GAAGhO,IAAI,CAACxY,GAAL,CAASkmB,SAAS,CAACI,GAAD,CAAlB,EAAyBC,iBAAzB,CAArB;QACAL,SAAS,CAACI,GAAD,CAAT,GAAiB9N,IAAI,CAACC,GAAL,CAAS+N,cAAT,EAAyB,EAAzB,IAA+B,GAAhD,CAP2C,CAS3C;;QACAV,IAAI,CAACL,CAAL,GAAS;UACPgB,SAAS,EAAE;YACTC,QAAQ,EAAE,KADD;YAETC,QAAQ,EAAE;UAFD;QADJ,CAAT,CAV2C,CAiB3C;;QACA,IAAIV,GAAG,KAAK,CAAZ,EAAe;UACbH,IAAI,CAACL,CAAL,GAAS,EACP;YACA,GAAGK,IAAI,CAACL,CAFD;YAGPmB,IAAI,EAAE;cAAEC,IAAI,EAAE;YAAR;UAHC,CAAT;QAKD;MACF;IACF,CAhC+D,CAkChE;;;IACAhC,SAAS,CAAC,OAAD,CAAT,GAAqBqB,SAAS,CAACj9B,GAAV,CAAc0vB,KAAK,KAAK;MAAEmO,GAAG,EAAEnO,KAAK,GAAG;IAAf,CAAL,CAAnB,CAArB;EACD;;EAEDla,QAAQ;IACN;IACA,KAAKkF,WAAL,CAAiB,KAAKrI,IAAtB,EAA4B,KAAKzU,IAAjC,EAAuC,KAAKK,QAAL,IAAiB,EAAxD;EACD;;EAEDslB,KAAK,CAAC9b,UAAD,EAAqBszB,cAArB,EAA2C;IAC9C,IAAIjb,iBAAiB,GAAG;MAAEzT,OAAO,EAAE5E,UAAX;MAAuBwY,OAAO,EAAE8a;IAAhC,CAAxB;IACA,KAAK94B,cAAL,CAAoBk4B,sBAApB,CAA2C7hC,IAA3C,CAAgDwnB,iBAAhD;EACD;;EAEKge,uBAAuB,CAACC,gBAAD,EAAmC;IAAA;;IAAA;MAC9D;MACA,IAAIC,uBAAuB,GAAGD,gBAAgB,CAACE,uBAA/C;;MAEA,IAAI,CAACD,uBAAL,EAA8B;QAC5BA,uBAAuB,GAAG,IAA1B;QACAD,gBAAgB,CAACG,yBAAjB,GAA6C,IAAIv7B,IAAJ,CAAS,IAAIA,IAAJ,GAAWw7B,UAAX,EAAT,CAA7C;QAEA,IAAIC,cAAc,GAAG,iCAAiCL,gBAAgB,CAACzhB,UAAlD,GAA+D,GAA/D,GAAqEyhB,gBAAgB,CAACM,eAA3G;;QACA,IAAIN,gBAAgB,CAAChD,cAAjB,IAAmCgD,gBAAgB,CAAChD,cAAjB,CAAgCxuB,IAAhC,GAAuCvT,MAAvC,GAAgD,CAAvF,EAA0F;UACxFolC,cAAc,IAAI,kCAAkCL,gBAAgB,CAAChD,cAAnD,GAAoE,MAAtF;QACD,CAP2B,CAS5B;;;QACA,IAAI7vB,IAAI,GAAa,CAAC6yB,gBAAgB,CAACzhB,UAAlB,EAA8B,MAAI,CAACif,yBAAnC,CAArB;QAEA,IAAI+C,gBAAgB,GAAkB;UACpCj8B,MAAM,EAAE,MAAI,CAACA,MADuB;UAEpCyW,OAAO,EAAEslB,cAF2B;UAGpClzB,IAAI,EAAEA,IAH8B;UAIpCggB,wBAAwB,EAAE,EAJU;UAKpCnS,WAAW,EAAE,MAAI,CAACf,SALkB;UAMpCvQ,UAAU,EAAE,MAAI,CAACA,UANmB;UAOpCuR,iBAAiB,EAAE,MAAI,CAACA,iBAPY;UAQpCE,KAAK,EAAE,IAR6B;UASpCD,OAAO,EAAE,MAAI,CAACA,OATsB;UAUpC4S,SAAS,EAAE,MAAI,CAACA,SAVoB;UAWpCxS,WAAW,EAAEjC,+EAXuB;UAYpCa,SAAS,EAAE,KAZyB;UAapCkB,QAAQ,EAAE,KAb0B;UAcpCC,UAAU,EAAE,KAdwB;UAepCG,qBAAqB,EAAEhC,sGAfa;UAgBpCkC,gBAAgB,EAAEjC,qGAhBkB;UAiBpCmC,kBAAkB,EAACtC,0EAAsBuC;QAjBL,CAAtC;QAoBA,MAAM,MAAI,CAAC3X,cAAL,CAAoB4X,UAApB,CAA+BykB,gBAA/B,EAAiD9kC,IAAjD,EAAN;MACD,CAjCD,MAkCK;QACHwkC,uBAAuB,GAAG,KAA1B;MACD;;MAEDD,gBAAgB,CAACE,uBAAjB,GAA2CD,uBAA3C;MACA,MAAI,CAAC3rB,IAAL,CAAUwI,QAAV,GAAqBxF,IAAI,CAACoB,SAAL,CAAe;QAAEsE,iBAAiB,EAAE,MAAI,CAACD;MAA1B,CAAf,CAArB;MACA,MAAM,MAAI,CAACpD,kBAAL,CAAwB6mB,UAAxB,CAAmC,MAAI,CAAClsB,IAAxC,CAAN;IA5C8D;EA6C/D;;EAEDmsB,OAAO;IACL;IACA,KAAK9jB,WAAL,CAAiB,KAAKrI,IAAtB,EAA4B,CAA5B,EAA+B,GAA/B;IACA,KAAK4D,eAAL,GAAuB,IAAvB;EACD;;EAEDwoB,aAAa,CAACC,wBAAD,EAAkC;IAC7C,IAAIA,wBAAJ,EAA8B;MAC5B,IAAI,KAAKr2B,eAAT,EAA0B;QACxB,OAAO,UAAP;MACD,CAFD,MAGK;QACH,OAAO,YAAP;MACD;IACF;;IAED,OAAO,SAAP;EACD;;AA/QsC;;;mBAA5B4yB,8BAA4B/mC,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA;AAAA;;;QAA5B+mC;EAA4BhhC;EAAAsH;IAAA3D;IAAAK;IAAAgZ;EAAA;EAAA/c;EAAAC;EAAAC;EAAAC;IAAA;MCpBzCnG,yDAAAA;MAGAA,yDAAAA;MA2CAA,yDAAAA;MAWAA,yDAAAA;MAGAA,yDAAAA;;;;MA5D0BA,yDAAAA;MAGgBA,wDAAAA;MAAAA,yDAAAA;MA2CpCA,wDAAAA;MAAAA,yDAAAA;MAWaA,wDAAAA;MAAAA,yDAAAA;MAGGA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DtB;AAEA;;;;;;;AAMM,MAAOyqC,0BAAP,CAAiC;EAarC;EACA9rC,YAAoBC,WAApB,EACU6e,YADV,EAC6B;IADT;IACV;IAbD,YAAe,CAAf;IACA,gBAAmB,CAAnB;IACT,mBAAuB,KAAvB,CAW6B,CAR7B;;IACA,eAAgD,EAAhD;IAEA,YAAOgD,mEAAP;IACA,cAASD,qEAAT;EAIkC,CAfG,CAiBrC;;;EACMtf,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CAFY,CAIZ;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,sBAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAACwV,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MAEA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;;MACA,KAAI,CAACwpB,0BAAL;IAXY;EAYb;;EAEDrpB,sBAAsB,CAAC7O,KAAD,EAAe;IACnC,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;EAEDk4B,0BAA0B;IACxB,IAAIC,oBAAoB,GAAGxpB,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,yBAArB,CAAX,CAA3B;;IAEA,IAAIkpC,oBAAoB,IAAI,IAA5B,EAAkC;MAChCA,oBAAoB,GAAG,KAAK1pB,WAA5B;IACD;;IAED,IAAI0pB,oBAAJ,EAA0B;MACxB,KAAKh+B,OAAL,GAAe,CAAC;QAAEkU,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAD,EAAwC;QAAED,IAAI,EAAE,gBAAR;QAA0BC,QAAQ,EAAE;MAApC,CAAxC,EAA4G;QAAED,IAAI,EAAE,UAAR;QAAoBC,QAAQ,EAAE;MAA9B,CAA5G,EAA0J;QAACD,IAAI,EAAC,SAAN;QAAgBC,QAAQ,EAAE;MAA1B,CAA1J,EAAgM;QAAED,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAhM,CAAf;IACD,CAFD,MAGK;MACH,KAAKnU,OAAL,GAAe,CAAC;QAAEkU,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAAD,EAAwC;QAAED,IAAI,EAAE,gBAAR;QAA0BC,QAAQ,EAAE;MAApC,CAAxC,EAA4G;QAAED,IAAI,EAAE,eAAR;QAAyBC,QAAQ,EAAE;MAAnC,CAA5G,EAAiK;QAAED,IAAI,EAAE,UAAR;QAAoBC,QAAQ,EAAE;MAA9B,CAAjK,EAA+M;QAACD,IAAI,EAAC,SAAN;QAAgBC,QAAQ,EAAE;MAA1B,CAA/M,EAAqP;QAAED,IAAI,EAAE,QAAR;QAAkBC,QAAQ,EAAE;MAA5B,CAArP,CAAf;IACD;;IAED3f,YAAY,CAACO,OAAb,CAAqB,yBAArB,EAAgDyf,IAAI,CAACoB,SAAL,CAAeooB,oBAAf,CAAhD;EACD;;AAxDoC;;;mBAA1BF,4BAA0BzqC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAA1ByqC;EAA0B1kC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCVvCnG,4DAAAA,cAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAGFA,uDAAAA;;;;MAPaA,uDAAAA;MAAAA,wDAAAA;MACmEA,uDAAAA;MAAAA,wDAAAA;MAEnEA,uDAAAA;MAAAA,wDAAAA;MAIUA,uDAAAA;MAAAA,wDAAAA,yBAAmB,OAAnB,EAAmB,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmBwN,eAAnB;;;;;;;;;;;;;;;;;;;;;;ACFhB,MAAM,oBAAoB;IAE/B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFALU,oBAAoB;kHAApB,oBAAoB;QCPjC,oEAAG;QAAA,8EAAmB;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACE1B;;;;;;;;;;;;;;ICEAxN,4DAAAA;IAAoBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAA6BA,yDAAAA,0CAA7B;IAA8D,CAA9D;IAAuTA,0DAAAA;;;;;IAAxOA,wDAAAA,0BAAiB,uBAAjB,EAAiBod,4BAAjB,EAAiB,sBAAjB,EAAiBA,2BAAjB,EAAiB,2BAAjB,EAAiBA,gCAAjB,EAAiB,+BAAjB,EAAiBA,oCAAjB;;;;ADS7F,MAAOwtB,gBAAP,CAAuB;EAiB3BjsC,YAAoBuI,cAApB,EACUpI,MADV,EAEUuT,cAFV,EAGUzT,WAHV,EAIUqI,cAJV,EAIwC;IAJpB;IACV;IACA;IACA;IACA;IAjBV,uBAA2B,KAA3B;IACA,gBAAoB,KAApB;IACA,qBAAyB,IAAzB;IACA,kBAAqB,EAArB,CAcwC,CAbxC;;IACA,sBAAqC,EAArC;IACA,2BAAgC,EAAhC;IACA,6BAAiC,KAAjC;IACA,kBAAsB,KAAtB;EAS6C;;EAEvC/F,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACiT,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAAC4O,QAAL,SAAsB,KAAI,CAAC3d,WAAL,CAAiBmB,YAAjB,CAA8B4N,6EAA9B,CAAtB;MACA,KAAI,CAACqL,UAAL,SAAwB,KAAI,CAACpa,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAAxB;MACA,KAAI,CAACpG,MAAL,GAAc4Z,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAX,CAAd;;MACA,KAAI,CAAC4Q,cAAL,CAAoB2B,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP,EAAiB;UAC3D,IAAIA,MAAM,CAACwN,GAAP,CAAW,iBAAX,CAAJ,EAAmC;YACjC,MAAM,KAAI,CAACopB,uBAAL,OAAmC,KAAI,CAAC3jC,cAAL,CAAoB4jC,cAApB,CAAmC72B,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,CAAnC,CAAnC,CAAN;UACD;QACF,CAJD;;QAAA;UAAA;QAAA;MAAA;;MAMA,IAAI,KAAI,CAACiO,QAAL,IAAiB,KAAI,CAACvD,UAA1B,EAAsC;QACpC,IAAItF,QAAQ,GAAG,OAAO,KAAI,CAAC9U,WAAL,CAAiBK,cAAjB,EAAP,EAA0CyU,QAAzD;QACA,KAAI,CAACnM,MAAL,SAAoB,KAAI,CAACL,cAAL,CAAoB4jC,cAApB,CAAmCp3B,QAAnC,CAApB;MACD;IAdW;EAgBb;;EAEKm3B,uBAAuB,CAAC/c,QAAD,EAAqB;IAAA;;IAAA;MAChD,MAAI,CAACvmB,MAAL,GAAc,IAAd;MACA,MAAI,CAACwjC,oBAAL,GAA4B,EAA5B;MACA,MAAI,CAACC,yBAAL,GAAiC,EAAjC;MACA,MAAI,CAACC,6BAAL,GAAqC,EAArC;MAEA,MAAI,CAAC1jC,MAAL,GAAcumB,QAAd;MACA3sB,YAAY,CAACO,OAAb,CAAqB,QAArB,EAA+BosB,QAAQ,CAACod,MAAT,EAA/B;;MAEA,MAAI,CAACpsC,MAAL,CAAYW,QAAZ,CAAqB,EAArB,EACE;QACE4T,UAAU,EAAE,MAAI,CAAChB,cADnB;QAEEiB,WAAW,EAAE;UAAEI,QAAQ,EAAE,MAAI,CAACnM,MAAL,CAAYkC;QAAxB,CAFf;QAGE+J,mBAAmB,EAAE;MAHvB,CADF;;MAOA,MAAI,CAACvL,qBAAL,GAA6B,IAA7B;MACA,MAAI,CAAC8iC,oBAAL,GAA4B,OAAO,MAAI,CAAC9jC,cAAL,CAAoBkkC,2BAApB,CAAgD,MAAI,CAAC5jC,MAAL,CAAY7C,EAA5D,EAAgE,KAAhE,CAAP,GAAgFA,EAA5G;MACA,MAAI,CAACsmC,yBAAL,GAAiC,OAAO,MAAI,CAAC/jC,cAAL,CAAoBkkC,2BAApB,CAAgD,MAAI,CAAC5jC,MAAL,CAAY7C,EAA5D,EAAgE,KAAhE,CAAP,GAAgFA,EAAjH;MACA,MAAI,CAACumC,6BAAL,GAAqC,OAAO,MAAI,CAAChkC,cAAL,CAAoBkkC,2BAApB,CAAgD,MAAI,CAAC5jC,MAAL,CAAY7C,EAA5D,EAAgE,OAAhE,CAAP,GAAkFA,EAAvH;MACA,MAAI,CAACuD,qBAAL,GAA6B,KAA7B;IApBgD;EAqBjD;;EAEDmB,yBAAyB,CAACgiC,OAAD,EAAgB;IACvC,KAAKC,aAAL,GAAsBD,OAAO,IAAI,MAAjC;EACD;;AAlE0B;;;mBAAhBR,kBAAgB5qC,+DAAAA,CAAAA,uFAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAAhB4qC;EAAgB7kC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCb7BnG,4DAAAA;MAAIA,oDAAAA;MAAuBA,0DAAAA;MAE3BA,4DAAAA;MAA4CA,wDAAAA;QAAA,OAAiBwN,mCAAjB;MAAgD,CAAhD;MAAkDxN,0DAAAA;MAE9FA,wDAAAA;;;;MAJIA,uDAAAA;MAAAA,+DAAAA;MAEgBA,uDAAAA;MAAAA,wDAAAA;MAEiEA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACHlB;;;;;;ICCnE,sEAAgC;IACgC,mFAAwB;IAAA,4DAAI;;;IAAvF,0DAA2B;IAA3B,wJAA2B;;ADOzB,MAAM,mBAAmB;IAI9B,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAI,CAAC;IAE7D,QAAQ;IACR,CAAC;IAED,YAAY;QACV,IAAI,oBAAoB,GAAG,IAAI,6EAAgB,EAAE,CAAC;QAChD,oBAAoB,CAAC,MAAM,GAAE,IAAI,CAAC,YAAY;YAC9C,oBAAoB,CAAC,SAAS,GAAE,EAAE,CAAC;QACnC,oBAAoB,CAAC,cAAc,GAAE,EAAE,CAAC;QACxC,oBAAoB,CAAC,WAAW,GAAE,EAAE,CAAC;QACrC,oBAAoB,CAAC,UAAU,GAAE,EAAE,CAAC;QAEtC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;IACzG,CAAC;IAED,YAAY,CAAC,QAAkE;QAC7E,IAAI,aAAa,GAAkB,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;IAEpC,CAAC;;sFAxBU,mBAAmB;iHAAnB,mBAAmB;QCVhC,4FAA4F;QAApE,+KAAgB,wBAAoB,IAAC;QAA+B,4DAAyB;QACrH,4EAAiC;QAAzB,2IAAS,kBAAc,IAAC;QAAC,wEAAa;QAAA,4DAAS;QACvD,+GAEM;;QAJwD,sFAA6B;QAErF,0DAAwB;QAAxB,wFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9B;AAGA;AAEA;;;;;;;;;;;;;ICHMA,4DAAAA;IAA4EA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,gCAAT;IAA6B,CAA7B;IAC1EA,4DAAAA;IAAAA,4DAAAA;IAEEA,uDAAAA;IAEFA,0DAAAA;;;;;;;;IAPJA,4DAAAA,UAA8C,CAA9C,EAA8C,QAA9C,EAA8C,CAA9C;IACsBA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uCAAT;IAAmC,CAAnC;IAAqCA,oDAAAA;IAAsBA,0DAAAA;IAC/EA,wDAAAA;IAOFA,0DAAAA;;;;;;IAR2DA,uDAAAA;IAAAA,+DAAAA;IAChDA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IAYXA,4DAAAA;IAA4EA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAA5EA,0DAAAA;;;;;IAA4EA,wDAAAA;;;;;;;;IAC5EA,4DAAAA;IAAgCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAT;IAAyB,CAAzB;IAC9BA,4DAAAA;IAAAA,4DAAAA;IACEA,uDAAAA;IACFA,0DAAAA;;;;;IAHoGA,wDAAAA;;;;;;IAjB1GA,4DAAAA,kBAAsE,CAAtE,EAAsE,IAAtE;IAEIA,wDAAAA;IAWFA,0DAAAA;IAEAA,4DAAAA;IACEA,wDAAAA;IACAA,wDAAAA;IAKFA,0DAAAA;;;;;IApB8BA,uDAAAA;IAAAA,wDAAAA;IAcpBA,uDAAAA;IAAAA,wDAAAA;IACCA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IAqBLA,4DAAAA;IAA6DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,oCAAT;IAA+B,CAA/B;IAC3DA,4DAAAA;IAAAA,4DAAAA;IAEEA,uDAAAA;IAEFA,0DAAAA;;;;;;IAhBNA,4DAAAA,cAA8D,CAA9D,EAA8D,QAA9D,EAA8D,EAA9D;IAGIA,oDAAAA;IACAA,4DAAAA;IACEA,uDAAAA;IACFA,0DAAAA;IAGFA,4DAAAA,eAAuF,CAAvF,EAAuF,KAAvF;IACOA,oDAAAA;IAAqBA,0DAAAA;IAC1BA,wDAAAA;IAOFA,0DAAAA;;;;;;IAjBmFA,uDAAAA;IAAAA,yDAAAA,kDAAiD,eAAjD,EAAiD,6BAAjD;IAEjFA,uDAAAA;IAAAA,gEAAAA;IAEWA,uDAAAA;IAAAA,wDAAAA;IAIRA,uDAAAA;IAAAA,yDAAAA;IACEA,uDAAAA;IAAAA,+DAAAA;IACIA,uDAAAA;IAAAA,wDAAAA;;;;;;;;IASbA,4DAAAA;IAAwIA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAAxIA,0DAAAA;;;;;IAAwIA,wDAAAA;;;;;;;;IACxIA,4DAAAA;IAAyHA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAAzHA,0DAAAA;;;;;IAAyHA,wDAAAA;;;;;;;;IACzHA,4DAAAA;IAAgCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAT;IAAsB,CAAtB;IAC9BA,4DAAAA;IAAAA,4DAAAA;IACEA,uDAAAA;IACFA,0DAAAA;;;;;IAH4FA,wDAAAA;;;;;;IAxBlGA,4DAAAA,mBAA2F,CAA3F,EAA2F,IAA3F,EAA2F,EAA3F;IAEIA,wDAAAA;IAoBAA,wDAAAA;IACAA,wDAAAA;IACAA,wDAAAA;IAKFA,0DAAAA;;;;;IA3B2BA,uDAAAA;IAAAA,wDAAAA;IAoBjBA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;IACCA,uDAAAA;IAAAA,wDAAAA;;;;;;IAQbA,4DAAAA,mBAAwD,CAAxD,EAAwD,IAAxD;IAEMA,oDAAAA;IAAgCA,0DAAAA;;;;AD7ChC,MAAOurC,sBAAP,CAA6B;EAejC;EACA5sC,YAAoB6sC,UAApB,EAAoDC,YAApD,EAAoF7sC,WAApF,EAA4G;IAAxF;IAAgC;IAAgC;IAfpF,qBAAkC,EAAlC;IACA,iBAA2B,EAA3B,CAc4G,CAJ5G;;IACA,qBAAgB0c,4EAAhB;EAGiH,CAhBhF,CAkBjC;;;EACMpa,QAAQ;IAAA;;IAAA;MACZ;MACA;MACA,KAAI,CAACwqC,aAAL,SAA2B,KAAI,CAACF,UAAL,CAAgBG,gBAAhB,EAA3B,CAHY,CAKZ;;MACA,KAAI,CAACC,eAAL,SAA6B,KAAI,CAAChtC,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B,CANY,CAQZ;;MACA,KAAI,CAACm+B,SAAL,GAAiB,KAAI,CAACN,UAAL,CAAgBO,sBAAhB,CACf,KAAI,CAACL,aAAL,CAAmB,CAAnB,GAAuBhnC,EADR,CAAjB;IATY;EAYb,CA/BgC,CAiCjC;;;EACAsnC,aAAa,CAACC,QAAD,EAAyB;IACpC,KAAKH,SAAL,GAAiB,KAAKN,UAAL,CAAgBO,sBAAhB,CAAuCE,QAAQ,CAACvnC,EAAhD,CAAjB;IACA,KAAKwnC,cAAL,GAAsBD,QAAtB;EACD;;EAEDE,cAAc;IACZ,KAAKX,UAAL,CAAgBW,cAAhB,CAA+B,KAAKC,WAApC;IACA,KAAKV,aAAL,GAAqB,KAAKF,UAAL,CAAgBE,aAArC;IACA,KAAKU,WAAL,GAAmB,EAAnB;EACD;;EAEDC,iBAAiB,CAACC,cAAD,EAAe;IAC9B,KAAKd,UAAL,CAAgBe,iBAAhB,CAAkCD,cAAlC;EACD,CA/CgC,CAiDjC;;;EACAE,OAAO,CAACP,QAAD,EAAyB;IAC9B,MAAMQ,QAAQ,GAAG,KAAKhB,YAAL,CAAkBiB,IAAlB,CAAuBpB,4GAAvB,CAAjB;IACAmB,QAAQ,CAACE,iBAAT,CAA2BV,QAA3B,GAAsCA,QAAtC;IACAQ,QAAQ,CAACE,iBAAT,CAA2BC,UAA3B,GAAwC,KAAxC;IACAH,QAAQ,CAAC5pC,MAAT,CAAgByC,IAAhB,CAAqB,MAAK;MACxB,KAAKomC,aAAL,GAAqB,KAAKF,UAAL,CAAgBE,aAArC;IACD,CAFD;EAGD;;EAEDmB,WAAW;IACT,KAAKrB,UAAL,CAAgBqB,WAAhB,CAA4B,KAAKX,cAAL,CAAoBxnC,EAAhD,EAAoD,KAAKooC,gBAAzD,EAA2E,KAAKC,iBAAhF;IACA,KAAKjB,SAAL,GAAiB,KAAKN,UAAL,CAAgBM,SAAjC;IACA,KAAKgB,gBAAL,GAAwB,EAAxB;IACA,KAAKC,iBAAL,GAAyB,EAAzB;EACD;;EAEDC,cAAc,CAACA,cAAD,EAAe;IAC3B,KAAKxB,UAAL,CAAgBwB,cAAhB,CAA+B,KAAKd,cAAL,CAAoBxnC,EAAnD,EAAuDsoC,cAAvD;EACD;;EAEDC,cAAc,CAACC,UAAD,EAAaD,cAAb,EAA2B;IACvC,KAAKzB,UAAL,CAAgByB,cAAhB,CAA+BC,UAA/B,EAA2CD,cAA3C;EACD,CAxEgC,CA0EjC;;;EACAE,YAAY,CAAC3F,QAAD,EAAsB;IAChC,MAAMiF,QAAQ,GAAG,KAAKhB,YAAL,CAAkBiB,IAAlB,CAAuBpB,4GAAvB,CAAjB;IACAmB,QAAQ,CAACE,iBAAT,CAA2BV,QAA3B,GAAsC,KAAKC,cAA3C;IACAO,QAAQ,CAACE,iBAAT,CAA2BnF,QAA3B,GAAsCA,QAAtC;IACAiF,QAAQ,CAACE,iBAAT,CAA2BC,UAA3B,GAAwC,IAAxC;IACAH,QAAQ,CAAC5pC,MAAT,CAAgByC,IAAhB,CAAqBzC,MAAM,IAAG;MAC5B,IAAIA,MAAJ,EAAY;QACV,KAAKipC,SAAL,GAAiB,KAAKA,SAAL,CAAerrC,MAAf,CAAsB0lC,CAAC,IAAIA,CAAC,CAACzhC,EAAF,IAAQ8iC,QAAQ,CAAC9iC,EAA5C,CAAjB;MACD;IACF,CAJD;EAKD;;EAED0oC,WAAW,CAACC,UAAD,EAAmB;IAC5B,MAAMZ,QAAQ,GAAG,KAAKhB,YAAL,CAAkBiB,IAAlB,CAAuBpB,4GAAvB,CAAjB;IACAmB,QAAQ,CAACE,iBAAT,CAA2BU,UAA3B,GAAwCA,UAAxC;EACD;;AA1FgC;;;mBAAtB9B,wBAAsBvrC,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,gEAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAAtBurC;EAAsBxlC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCdnCnG,wDAAAA;MAyBAA,wDAAAA;MAgCAA,wDAAAA;;;;MAzDsCA,wDAAAA;MAyBqBA,uDAAAA;MAAAA,wDAAAA;MAgCpCA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDhB,MAAM,YAAY;IAEvB,cAAc;IACd,YACS,QAAkB,EACjB,YAAmB;QADpB,aAAQ,GAAR,QAAQ,CAAU;QACjB,iBAAY,GAAZ,YAAY,CAAO;IACzB,CAAC;IAEL,SAAS;IACT,QAAQ;QACN,gBAAgB;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;;wEAZU,YAAY;0GAAZ,YAAY;QCTzB,6EAA4B;QAEG,oIAAS,mBAAe,IAAC;QAAC,+DAAI;QAAA,4DAAS;QAEpE,qEAAI;QAAA,qFAA0B;QAAA,4DAAK;QAErC,gFAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzC;AACA;AAGA;;;;;;;;;;;;;;;;ICVAA,uDAAAA;;;;;;IAuBQA,4DAAAA,UAAgE,CAAhE,EAAgE,IAAhE,EAAgE,EAAhE,EAAgE,CAAhE,EAAgE,KAAhE,EAAgE,EAAhE,EAAgE,CAAhE,EAAgE,MAAhE,EAAgE,CAAhE,EAAgE,QAAhE;IAGoBA,oDAAAA;IAAiCA,0DAAAA;IAC/CA,4DAAAA;IAAMA,oDAAAA;IAAqCA,0DAAAA;IAG/CA,4DAAAA;IAAyBA,oDAAAA;IAAkCA,0DAAAA;IAC3DA,4DAAAA;IAAgCA,oDAAAA;IAE5BA,0DAAAA;IACJA,4DAAAA;IAA0BA,oDAAAA;;IAAiDA,0DAAAA;IAC3EA,4DAAAA;IAA0CA,oDAAAA;;IAAuCA,0DAAAA;IACjFA,4DAAAA;IAAkCA,oDAAAA;;IAA2CA,0DAAAA;;;;;IAV3DA,uDAAAA;IAAAA,+DAAAA;IACRA,uDAAAA;IAAAA,+DAAAA;IAGeA,uDAAAA;IAAAA,+DAAAA;IACOA,uDAAAA;IAAAA,+DAAAA;IAGNA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACgBA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IACRA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;;;IAlC5CA,4DAAAA,kBAAyG,CAAzG,EAAyG,KAAzG,EAAyG,CAAzG,EAAyG,CAAzG,EAAyG,KAAzG,EAAyG,CAAzG;IAGkBA,wDAAAA;MAAAA,2DAAAA;;MAAA;;MAAA,OAASA,yDAAAA,cAAT;IAA0B,CAA1B;IACZA,4DAAAA;IAAoBA,uDAAAA;IAA6EA,0DAAAA;IAEnGA,4DAAAA;IAAwFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAT;IAAsB,CAAtB;IAAwBA,oDAAAA;IAAeA,0DAAAA;IAC/HA,4DAAAA;IAA+EA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAE7EA,4DAAAA,aAAO,EAAP,EAAO,IAAP,EAAO,EAAP,EAAO,EAAP,EAAO,IAAP;IAEQA,oDAAAA;IAAWA,0DAAAA;IACfA,4DAAAA;IAAIA,oDAAAA;IAAOA,0DAAAA;IACXA,4DAAAA;IAAIA,oDAAAA;IAAcA,0DAAAA;IAClBA,4DAAAA;IAAIA,oDAAAA;IAAQA,0DAAAA;IACZA,4DAAAA;IAAIA,oDAAAA;IAAwBA,0DAAAA;IAC5BA,4DAAAA;IAAIA,oDAAAA;IAAgBA,0DAAAA;IAIxBA,4DAAAA;IACEA,wDAAAA;IAgBFA,0DAAAA;;;;;IAlCwCA,uDAAAA;IAAAA,yDAAAA;IACXA,uDAAAA;IAAAA,wDAAAA;IAGgDA,uDAAAA;IAAAA,wDAAAA;IAc1CA,uDAAAA;IAAAA,wDAAAA;;;;;;IAwBrCA,4DAAAA;IAA0BA,oDAAAA;IAAWA,0DAAAA;;;;;;IACrCA,4DAAAA;IAA2BA,oDAAAA;IAASA,0DAAAA;;;;;;;;IAFtCA,4DAAAA;IAA2FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAT;IAAmB,CAAnB;IACzFA,wDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;IAFSA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAHXA,4DAAAA;IACEA,wDAAAA;IAIFA,0DAAAA;;;;;IAJsDA,uDAAAA;IAAAA,wDAAAA;;;;;;IAMtDA,uDAAAA;;;;;IAAuCA,wDAAAA,0BAAiB,iBAAjB,EAAiBylC,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,4BAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGvCzlC,uDAAAA;;;;ADpCM,MAAOstC,oCAAP,CAA2C;EA6B/C;EACA3uC,YACUkP,cADV,EAESiyB,qBAFT,EAGUriB,YAHV,EAIU7e,WAJV,EAKUmP,cALV,EAKwC;IAJ9B;IACD;IACC;IACA;IACA,qCAA8B,CA9BxC;;IACA,yBAAwC,EAAxC;IACA,iCAAgD,EAAhD;IACA,kCAAiD,EAAjD,CA2BwC,CAzBxC;;IACS,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACA,kBAAsB,KAAtB;IAET,uBAA2B,KAA3B,CAoBwC,CAlBxC;;IACA,mBAAuB,KAAvB;IAEA,gBAAW,iBAAX;IAMA,WAAM,KAAN;IACA,qBAAgBuN,4EAAhB;IACA,mBAAc8H,0EAAd;IASE,KAAK0c,qBAAL,CAA2BC,oBAA3B,GAAkD,IAAlD;EACD,CAtC8C,CAwC/C;;;EACM7+B,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB,CADY,CAGZ;;MACA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAACoF,QAAL,GAAgB,KAAI,CAAC7F,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,UAA1C,CAAhB;MACA,KAAI,CAAC6F,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B,CANY,CAOZ;;MACA,KAAI,CAACwQ,IAAL,SAAkB,KAAI,CAAC2hB,qBAAL,CAA2B6F,iCAA3B,CAA6D,KAAI,CAACx3B,MAAlE,CAAlB;MACA,KAAI,CAACoF,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC+tB,qBAAL,CAA2Bhc,SAA3B,GAAuC,KAAI,CAAC3F,IAAL,CAAU2F,SAAjD;MAEA,IAAInO,aAAa,GAAG,KAAI,CAACwI,IAAL,CAAUxI,aAA9B;MACA,KAAI,CAACX,eAAL,GAAuBW,aAAa,EAAEjR,EAAtC;MACA,KAAI,CAACogB,iBAAL,GAAyBnP,aAAa,EAAEpJ,WAAxC;MAEA,KAAI,CAACwB,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MAEA,KAAI,CAACpQ,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAAClQ,MAA/C,CAAvC;MACA,KAAI,CAACJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C,CAnBY,CAqBZ;;MACA,KAAI,CAAC+Y,YAAL,CAAkByC,QAAlB,CAA2B,KAAI,CAAC4f,qBAAL,CAA2BC,oBAA3B,CAAgDhuB,KAAhD,GAAwD,aAAnF;;MACA,KAAI,CAAC6zB,mBAAL,CAAyB,KAAI,CAAC9F,qBAAL,CAA2BC,oBAApD,EAvBY,CAwBZ;;;MACA,KAAI,CAACvZ,WAAL,CAAiB,CAAjB,EAAoB,EAApB;;MAEA,KAAI,CAAC9C,WAAL,GAAmB,KAAnB;IA3BY;EA4Bb;;EAED8C,WAAW,CAAC9c,IAAD,EAAeK,QAAf,EAA+B;IACxC,IAAI,KAAK87B,iBAAL,CAAuB/gC,MAAvB,IAAiC,KAAKiF,QAA1C,EAAoD;MAClD,KAAKgY,eAAL,GAAuB,IAAvB;IACD;;IAED,KAAK+jB,yBAAL,GAAiC,KAAKD,iBAAtC,CALwC,CAOxC;;IACA,KAAKE,0BAAL,GAAkC,KAAKF,iBAAL,CAAuBpb,KAAvB,CAChC,CAAC/gB,IAAI,GAAG,CAAR,IAAaK,QADmB,EAEhC,CAACL,IAAI,GAAG,CAAR,IAAaK,QAAb,GAAwBA,QAFQ,CAAlC;EAID;;EAED67B,mBAAmB,CAACznB,IAAD,EAAwB;IACzC;IACA,MAAMuI,MAAM,GAAGvF,IAAI,CAACC,KAAL,CAAWjD,IAAI,CAACwI,QAAhB,CAAf,CAFyC,CAIzC;;IACA,KAAKkf,iBAAL,GAAyBnf,MAAM,CAACG,iBAAhC,CALyC,CAOzC;;IACA,IAAI,KAAKnT,QAAT,EAAmB;MACjB,KAAKmyB,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBplC,MAAvB,CAA8B0lC,CAAC,IAAIA,CAAC,CAAChe,QAAF,IAAc,KAAKzU,QAAtD,CAAzB;IACD;EACF;;EAEDhI,WAAW;IAET;IACA,MAAM66B,eAAe,GAAG,KAAKT,yBAAL,CAA+Bh6B,GAA/B,CAAmCC,IAAI,IAAG;MAChE,OAAO;QACL,eAAeA,IAAI,CAACqc,UADf;QAEL,WAAWrc,IAAI,CAAC66B,WAFX;QAGL,kBAAkB76B,IAAI,CAACs6B,aAHlB;QAIL,YAAYt6B,IAAI,CAACk3B,OAJZ;QAKL,iFAAiFl3B,IAAI,CAACwhC;MALjF,CAAP;IAOD,CARuB,CAAxB;IAUA,MAAMvhC,EAAE,GAAcC,sDAAA,CAAoBs6B,eAApB,CAAtB;IAEA;;IACA,MAAMp6B,EAAE,GAAaF,iDAAA,EAArB;IACAA,0DAAA,CAAwBE,EAAxB,EAA4BH,EAA5B,EAAgC,QAAhC;IAEA;;IACAM,gDAAS,CAACH,EAAD,EAAK,KAAK2zB,qBAAL,CAA2BC,oBAA3B,CAAgDpqB,aAAhD,CAA8DpJ,WAA9D,GAA4E,OAAjF,CAAT;EACD;;EAED+U,QAAQ;IACN,KAAKkF,WAAL,CAAiB,KAAK9c,IAAtB,EAA6B,KAAKK,QAAL,IAAiB,EAA9C;EACD;;EAEDi8B,mBAAmB,CAACzyB,UAAD,EAAmB;IACpC,IAAIyE,GAAG,GAAsB;MAAEG,OAAO,EAAE5E,UAAX;MAAuBwY,OAAO,EAAE;IAAhC,CAA7B;IACA,KAAKhe,cAAL,CAAoBk4B,sBAApB,CAA2C7hC,IAA3C,CAAgD4T,GAAhD;EACD;;AAhI8C;;;mBAApCs1B,sCAAoCttC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAApCstC;EAAoCvnC;EAAAsH;IAAA3D;IAAAK;IAAAgZ;EAAA;EAAA/c;EAAAC;EAAAC;EAAAC;IAAA;MCnBjDnG,wDAAAA;MAEAA,wDAAAA;MA2CAA,wDAAAA;MAOAA,wDAAAA;MAGAA,wDAAAA;;;;MAvD8BA,wDAAAA;MAEsBA,uDAAAA;MAAAA,wDAAAA;MA2C9CA,uDAAAA;MAAAA,wDAAAA;MAOaA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDtB;AACA;;;;;;;AAQM,MAAOwtC,kCAAP,CAAyC;EAa7C7uC,YAAoBC,WAApB,EAAsD6e,YAAtD,EAAyE;IAArD;IAAkC;IAXtD,eAAU,eAAV;IACS,YAAe,CAAf;IACA,gBAAmB,CAAnB;IAGT,mBAAuB,KAAvB,CAMyE,CALzE;;IACA,eAAgD,CAAC;MAAEoD,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAD,EAAwC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAxC,EAA4G;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAA5G,EAA0J;MAAED,IAAI,EAAE,cAAR;MAAwBC,QAAQ,EAAE;IAAlC,CAA1J,EAA0M;MAAED,IAAI,EAAE,kBAAR;MAA4BC,QAAQ,EAAE;IAAtC,CAA1M,CAAhD;IACA,YAAOL,mEAAP;IACA,cAASD,qEAAT;EAGC;;EAEKtf,QAAQ;IAAA;;IAAA;MACZ;MACA,KAAI,CAACuc,YAAL,CAAkByC,QAAlB,CAA2B,2BAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAAC9F,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MAEA,KAAI,CAAC4b,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MACA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;IARY;EASb;;EAEDG,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;AAlC4C;;;mBAAlCg7B,oCAAkCxtC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAAlCwtC;EAAkCznC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCZ/CnG,4DAAAA,cAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAGFA,uDAAAA;;;;MAPaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAIcA,uDAAAA;MAAAA,wDAAAA,yBAAmB,OAAnB,EAAmB,eAAnB,EAAmB,SAAnB,EAAmBwN,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmBA,eAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICT3BxN,uDAAAA;;;;;;IAEAA,uDAAAA;;;;;IAAuCA,wDAAAA,0BAAiB,iBAAjB,EAAiBqd,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,4BAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGvCrd,uDAAAA;;;;ACOM,MAAOytC,oCAAP,CAA2C;EAW/C9uC,YAAoB8e,YAApB,EAAiD5P,cAAjD,EAAwFiyB,qBAAxF,EAA8I/xB,cAA9I,EAA4K;IAAxJ;IAA6B;IAAuC;IAAsD;IAH9I,mBAAuB,KAAvB;IAIE,KAAK+xB,qBAAL,CAA2BC,oBAA3B,GAAkD,IAAlD;EACD,CAb8C,CAe/C;;;EACM7+B,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MAEA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAAC2hB,qBAAL,CAA2B6F,iCAA3B,CAA6D,KAAI,CAACx3B,MAAlE,CAAlB;MACA,KAAI,CAACoF,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC/N,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MACA,KAAI,CAACstB,qBAAL,CAA2Bhc,SAA3B,GAAuC,KAAI,CAAC3F,IAAL,CAAU2F,SAAjD;MAEA,IAAIojB,cAAc,GAAG,KAAI,CAAC/oB,IAAL,CAAUxI,aAA/B;MACA,KAAI,CAACX,eAAL,GAAuBkyB,cAAc,EAAExiC,EAAvC;MACA,KAAI,CAACogB,iBAAL,GAAyBoiB,cAAc,EAAE36B,WAAzC;MAEA,KAAI,CAACwB,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MAEA,KAAI,CAACpQ,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAAClQ,MAA/C,CAAvC;MACA,KAAI,CAACJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C,CAhBY,CAkBZ;;MACA,KAAI,CAAC+Y,YAAL,CAAkByC,QAAlB,CAA2B,+BAA3B;;MAEA,KAAI,CAACwD,WAAL,GAAmB,KAAnB;IArBY;EAsBb;;AAtC8C;;;mBAApC+pB,sCAAoCztC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAApCytC;EAAoC1nC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MDZjDnG,wDAAAA;MAEAA,wDAAAA;MAGAA,wDAAAA;;;;MAL8BA,wDAAAA;MAEXA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEFtB;AACA;;;;;;;AAOM,MAAO0tC,kCAAP,CAAyC;EAY7C;EACA/uC,YAAoBC,WAApB,EACU6e,YADV,EAC6B;IADT;IACV;IAbV,mBAAuB,KAAvB;IACA,eAAgD,CAAC;MAAEoD,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAD,EAAwC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAxC,EAA4G;MAAED,IAAI,EAAE,SAAR;MAAmBC,QAAQ,EAAE;IAA7B,CAA5G,EAAsJ;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAtJ,CAAhD,CAY6B,CAX7B;;IACA,eAAU,oBAAV;IAKA,YAAOL,mEAAP;IACA,cAASD,qEAAT;EAIkC,CAdW,CAgB7C;;;EACMtf,QAAQ;IAAA;;IAAA;MAEZ;MACA,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CAHY,CAKZ;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,+BAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAACwV,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MAEA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MACA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;IAXY;EAYb;;EAEDG,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;AAtC4C;;;mBAAlCk7B,oCAAkC1tC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAAlC0tC;EAAkC3nC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCX/CnG,4DAAAA,cAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAEFA,uDAAAA;;;;MANaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAGcA,uDAAAA;MAAAA,wDAAAA,yBAAmB,WAAnB,EAAmBwN,eAAnB,EAAmB,OAAnB,EAAmB,qBAAnB,EAAmB,SAAnB,EAAmBA,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,cAAnB,EAAmB,IAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACP3B;AACA;AAEA;AACA;AAQA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;IC8BgBxN,6DAAAA;IAA8CA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,kCAAT;IAA+B,CAA/B;IAC5CA,6DAAAA;IAAIA,qDAAAA;IAAYA,2DAAAA;;;;;IAAZA,wDAAAA;IAAAA,iEAAAA;;;;;;IAFRA,6DAAAA;IACEA,yDAAAA;IAGFA,2DAAAA;;;;;IAHsBA,wDAAAA;IAAAA,yDAAAA;;;;;;IAItBA,6DAAAA;IAAyDA,qDAAAA;IAAYA,2DAAAA;;;;;;IAgB/EA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;;;IAGGA,6DAAAA,aAA2D,CAA3D,EAA2D,KAA3D,EAA2D,CAA3D,EAA2D,CAA3D,EAA2D,KAA3D,EAA2D,CAA3D,EAA2D,IAA3D,EAA2D,EAA3D;IAOWA,qDAAAA;IACFA,2DAAAA;IAEEA,6DAAAA;IAAIA,qDAAAA;IAA2BA,2DAAAA;IAElCA,6DAAAA;IAAIA,qDAAAA;;IAAoCA,2DAAAA;IAI9CA,6DAAAA,gBAA8D,EAA9D,EAA8D,MAA9D,EAA8D,EAA9D;IACsBA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,iCAAT;IAA4B,CAA5B;IACnBA,wDAAAA;IACFA,2DAAAA;;;;;;IAZQA,wDAAAA;IAAAA,iEAAAA;IAGIA,wDAAAA;IAAAA,gEAAAA;IAEHA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAMEA,wDAAAA;IAAAA,yDAAAA;;;;;;IAnBjBA,6DAAAA;IACGA,yDAAAA;IAsBHA,2DAAAA;;;;;IAtB+BA,wDAAAA;IAAAA,yDAAAA;;;;;;IA0BzBA,wDAAAA;;;;;;;;IAHJA,6DAAAA,WAA2C,CAA3C,EAA2C,QAA3C,EAA2C,EAA3C;IAEUA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,gBAAT;IAAe,CAAf;IACNA,yDAAAA;IACEA,qDAAAA;IACJA,2DAAAA;IAIAA,6DAAAA;IAAQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,kBAAT;IAAiB,CAAjB;IACNA,wDAAAA;IACEA,qDAAAA;IACJA,2DAAAA;;;;;IAVyBA,wDAAAA;IAAAA,yDAAAA;IAChBA,wDAAAA;IAAAA,yDAAAA;IAMmBA,wDAAAA;IAAAA,yDAAAA;;;;AD/E9B,MAAOguC,2CAAP,CAAkD;EAwCtD;EACArvC,YAAoBkP,cAApB,EAA2DogC,sBAA3D,EACUrvC,WADV,EAC6CmP,cAD7C,EAEUgI,aAFV,EAE8Cm4B,oBAF9C,EAGSnxB,QAHT,EAGoCQ,mBAHpC,EAGsFze,MAHtF,EAG8GqzB,mBAH9G,EAGmKrkB,yBAHnK,EAGuN;IAHnM;IAAuC;IACjD;IAAmC;IACnC;IAAoC;IACrC;IAA2B;IAAkD;IAAwB;IAAqD,2DAAoD,CA1CzN;;IACE,oBAAeigC,4EAAf;IAGA,gBAAqB,EAArB;IAIA,iBAAqB,KAArB;IAEA,YAAe,CAAf;IACA,gBAAmB,EAAnB;IACD,wBAAmB,IAAIH,6DAAJ,CAAqB;MACrCxlB,UAAU,EAAE,IAAIulB,+DAAJ,CAAuB;QAAEn7B,KAAK,EAAE,EAAT;QAAa27B,QAAQ,EAAE;MAAvB,CAAvB,CADyB;MAErCpW,OAAO,EAAE,IAAI4V,+DAAJ,CAAuB,EAAvB,CAF4B;MAGrCS,KAAK,EAAE,IAAIT,+DAAJ,CAAuB,EAAvB,CAH8B;MAIrCU,qBAAqB,EAAE,IAAIV,+DAAJ,CAAuB,EAAvB,CAJc;MAKrCW,gBAAgB,EAAE,IAAIX,+DAAJ,CAAuB,EAAvB,CALmB;MAMrCY,aAAa,EAAE,IAAIZ,+DAAJ,CAAuB;QAAEn7B,KAAK,EAAE,EAAT;QAAa27B,QAAQ,EAAE;MAAvB,CAAvB,EAAqD,CAACN,gEAAD,CAArD,CANsB;MAOrCY,SAAS,EAAE,IAAId,+DAAJ,CAAuB,EAAvB,EAA0B,CAACE,gEAAD,CAA1B;IAP0B,CAArB,CAAnB;IAgBC,kBAAuB,KAAvB;IACA,qBAAgC,EAAhC;IACA,oBAAsB,KAAtB;IACA,6BAA0C,EAA1C;IAEA,qBAAwB,KAAxB;IACA,kBAAqB,EAArB;IAEA,qBAAkC,EAAlC;IAOE,KAAKI,sBAAL,CAA4BlM,UAA5B,GAAyC,IAAzC;EACD,CA9CqD,CAiDtD;;;EACM7gC,QAAQ;IAAA;;IAAA;MAEZ,KAAI,CAACiN,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAAC8vB,sBAAL,CAA4BS,cAA5B,CAA2C,KAAI,CAACvgC,MAAhD,CAAlB;MACA,KAAI,CAACJ,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAACF,IAAL,CAAUzZ,EAApD,CAAvC;MACA,KAAI,CAACqJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C;MACA,KAAI,CAACsQ,eAAL,GAAuB,KAAI,CAACmJ,IAAL,CAAUnJ,eAAjC;MACA,KAAI,CAAC/G,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,KAAI,CAACwG,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,IAAG,KAAI,CAACM,cAAL,IAAuB,KAAI,CAACkQ,IAAL,CAAUyG,OAAV,IAAqB,IAA/C,EAAoD;QAClD,KAAI,CAAC+pB,gBAAL,CAAsBC,QAAtB,CAA+BL,aAA/B,CAA6CM,MAA7C;MACD;;MACD,KAAI,CAACC,SAAL,GAAiB,IAAjB;MACA,KAAI,CAAC9O,UAAL,GAAkB,KAAI,CAACjqB,aAAL,CAAmB6N,qBAAnB,CAAyC,KAAI,CAACzF,IAAL,CAAUna,MAAV,CAAiBwO,KAA1D,CAAlB,CAbY,CAcZ;;MACA,IAAImU,QAAQ,GAAsCxF,IAAI,CAACC,KAAL,CAAW,KAAI,CAACjD,IAAL,CAAUwI,QAArB,CAAlD;;MACA,KAAI,CAACgoB,gBAAL,CAAsBC,QAAtB,CAA+B7W,OAA/B,CAAuCgX,QAAvC,CAAgD,KAAI,CAAC5wB,IAAL,CAAU6wB,QAA1D;;MACA,KAAI,CAACL,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0C2mB,QAA1C,CAAmD,KAAI,CAAC5wB,IAAL,CAAUpM,KAA7D;;MACA,KAAI,CAAC48B,gBAAL,CAAsBC,QAAtB,CAA+BP,qBAA/B,CAAqDU,QAArD,CAA8DpoB,QAAQ,CAACsoB,cAAT,CAAwBtqC,KAAtF;;MACA,KAAI,CAACgqC,gBAAL,CAAsBC,QAAtB,CAA+BN,gBAA/B,CAAgDS,QAAhD,CAAyDpoB,QAAQ,CAACuoB,iBAAT,CAA2BvqC,KAApF;;MACA,IAAG,KAAI,CAACwZ,IAAL,CAAUyG,OAAV,IAAqB,IAAxB,EAA6B;QAC3B,KAAI,CAAC+pB,gBAAL,CAAsBC,QAAtB,CAA+BL,aAA/B,CAA6CQ,QAA7C,CAAsD,KAAI,CAAC5wB,IAAL,CAAUyG,OAAhE;MACD;;MACD,KAAI,CAACuqB,UAAL,GAAkB,KAAI,CAAChxB,IAAL,CAAUna,MAAV,CAAiBwO,KAAjB,IAA0BqD,oEAA5C;;MACA,KAAI,CAACu5B,oBAAL;;MACA,IAAG,KAAI,CAACnhC,cAAR,EAAuB;QACrB,KAAI,CAAC8S,iBAAL;MACD;;MACD,KAAI,CAAChT,cAAL,CAAoBshC,OAApB,CAA4B,KAAI,CAAClxB,IAAjC;;MACA,KAAI,CAAC2wB,SAAL,GAAiB,KAAjB;IA7BY;EA8Bb;;EACDM,oBAAoB;IAClB,KAAKE,aAAL,CAAmBzkC,IAAnB,CAAwBoH,gDAAS,CAAC,KAAKs9B,sBAAL,CAA4Bh9B,aAA7B,EAA4C,OAA5C,CAAT,CAA8D/P,IAA9D,CACtBsJ,0CAAG,CAAEvK,KAAD,IAAgBA,KAAK,CAACmR,MAAN,CAAaF,KAA9B,CADmB,EAEtB/R,6CAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,GAAa,CAArB,CAFgB,EAGtBoN,mDAAY,CAAC,GAAD,CAHU,EAItBC,2DAAoB,EAJE,EAKtB7Q,SALsB,CAKZsR,IAAI,IAAI,KAAK48B,gBAAL,CAAsB58B,IAAtB,CALI,CAAxB;EAMD;;EACK48B,gBAAgB,CAAC58B,IAAD,EAAK;IAAA;;IAAA;MACzBtO,OAAO,CAACC,GAAR,CAAYqO,IAAZ;MAEA,IAAI,CAACA,IAAL,EAAW,OAAQ,MAAI,CAAC68B,qBAAL,GAA6B,EAArC;MACX,MAAI,CAACC,YAAL,GAAmB,IAAnB;MACA,MAAI,CAACC,aAAL,GAAqB,KAArB;MACA,MAAI,CAACC,WAAL,GAAmB,IAAnB;MACA,MAAI,CAACH,qBAAL,SAAmC,MAAI,CAACvB,oBAAL,CAA0B2B,6BAA1B,CAAwDj9B,IAAI,CAAC2C,WAAL,EAAxD,EAA4E,CAA5E,EAA+E,EAA/E,CAAnC;MACA,MAAI,CAACm6B,YAAL,GAAoB,KAApB;IARyB;EAS1B;;EACK5R,IAAI;IAAA;;IAAA;MACR,MAAMgS,KAAK,GAAIC,EAAD,IAAgB,IAAIrV,OAAJ,CAAY/nB,GAAG,IAAI3Q,UAAU,CAAC2Q,GAAD,EAAMo9B,EAAN,CAA7B,CAA9B;;MAEA,MAAM,MAAI,CAACC,kBAAL,EAAN;MACA,MAAM,MAAI,CAACnc,wBAAL,EAAN;MACA,MAAMic,KAAK,CAAC,IAAD,CAAX;;MAEA,MAAI,CAAChxC,MAAL,CAAY2E,aAAZ,CAA0B,oBAA1B;IAPQ;EAQT;;EAEKusC,kBAAkB;IAAA;;IAAA;MACtB,MAAMhrB,KAAK,SAAS,MAAI,CAACjX,cAAL,CAAoBkiC,iBAApB,CAAsC,MAAI,CAAC9xB,IAAL,CAAUzZ,EAAhD,CAApB;MAEA,MAAMwrC,WAAW,SAAuBxV,OAAO,CAACyV,GAAR,CACtCnrB,KAAK,CAAClZ,GAAN;QAAA,8IAAU,WAAO5D,IAAP,EAAe;UACvB,MAAMkoC,QAAQ,GAAG,8CAA8C,MAAI,CAACriC,cAAL,CAAoB0B,YAApB,CAAiCvH,IAAI,CAAC2H,SAAtC,EAAiD,MAAI,CAAC1B,MAAtD,EAA8DjG,IAAI,CAACxD,EAAnE,CAAsE,EAArI;UACA,MAAM2rC,UAAU,GAAG,IAAIvC,8DAAJ,EAAnB;UACAuC,UAAU,CAACnoC,IAAX,GAAkBkoC,QAAlB;UACAC,UAAU,CAACtnC,QAAX,GAAsBb,IAAI,CAACyH,IAA3B;UACA,OAAO0gC,UAAP;QACD,CAND;;QAAA;UAAA;QAAA;MAAA,IADsC,CAAxC;MASA,IAAI1pB,QAAQ,GAAsCxF,IAAI,CAACC,KAAL,CAAW,MAAI,CAACjD,IAAL,CAAUwI,QAArB,CAAlD;MACA,MAAM,MAAI,CAACpJ,mBAAL,CAAyByyB,kBAAzB,CACJ,MAAI,CAAC7xB,IAAL,CAAUzK,QADN,EAEJ,MAAI,CAACyK,IAAL,CAAUpM,KAFN,EAGJ,CAAC,MAAI,CAACoM,IAAL,CAAU4G,OAAX,CAHI,EAIJ4B,QAAQ,CAACuoB,iBAAT,CAA2BvqC,KAJvB,EAKJgiB,QAAQ,CAACuoB,iBAAT,CAA2BxqC,EALvB,EAMJiiB,QAAQ,CAACsoB,cAAT,CAAwBtqC,KANpB,EAOJgiB,QAAQ,CAACsoB,cAAT,CAAwBvqC,EAPpB,EAQJ,MAAI,CAACyZ,IAAL,CAAUnJ,eARN,EASJk7B,WATI,CAAN;MAWA,MAAM,MAAI,CAACjC,sBAAL,CAA4B3V,gBAA5B,CAA6C,MAAI,CAACna,IAAL,CAAUzZ,EAAvD,EAA0DmR,yEAA1D,CAAN;;MACA,MAAI,CAAC/H,yBAAL,CAA+BnO,WAA/B,CAA2C,oCAA3C,EAAgFlB,iHAAhF;IAzBsB;EA0BvB;;EAEKonB,MAAM;IAAA;;IAAA;MACV,MAAMiqB,KAAK,GAAIC,EAAD,IAAgB,IAAIrV,OAAJ,CAAY/nB,GAAG,IAAI3Q,UAAU,CAAC2Q,GAAD,EAAMo9B,EAAN,CAA7B,CAA9B;;MAEA,IAAIQ,KAAK,GAAG,EAAZ;;MACA,MAAI,CAACxiC,cAAL,CAAoBqQ,UAApB,CAA+B5G,QAA/B,CACClN,OADD,CACSm9B,OAAO,IAAG;QACjB8I,KAAK,CAAC1lC,IAAN,CAAW48B,OAAO,CAAC/T,SAAR,GAAkB,GAAlB,GAAsB+T,OAAO,CAAC9T,QAA9B,GAAuC,cAAvC,GAAsD8T,OAAO,CAAC7iB,OAAzE;MACD,CAHD;;MAIA,MAAMI,KAAK,SAAS,MAAI,CAACjX,cAAL,CAAoBkiC,iBAApB,CAAsC,MAAI,CAAC9xB,IAAL,CAAUzZ,EAAhD,CAApB;MACA,MAAMwrC,WAAW,SAAuBxV,OAAO,CAACyV,GAAR,CACtCnrB,KAAK,CAAClZ,GAAN;QAAA,+IAAU,WAAO5D,IAAP,EAAe;UACvB,MAAMkoC,QAAQ,GAAG,8CAA8C,MAAI,CAACriC,cAAL,CAAoB0B,YAApB,CAAiCvH,IAAI,CAAC2H,SAAtC,EAAiD,MAAI,CAAC1B,MAAtD,EAA8DjG,IAAI,CAACxD,EAAnE,CAAsE,EAArI;UACA,MAAM2rC,UAAU,GAAG,IAAIvC,8DAAJ,EAAnB;UACAuC,UAAU,CAACnoC,IAAX,GAAkBkoC,QAAlB;UACAC,UAAU,CAACtnC,QAAX,GAAsBb,IAAI,CAACyH,IAA3B;UACA,OAAO0gC,UAAP;QACD,CAND;;QAAA;UAAA;QAAA;MAAA,IADsC,CAAxC;MASA,MAAM,MAAI,CAAC9yB,mBAAL,CAAyBizB,kBAAzB,CAA4C,MAAI,CAACryB,IAAL,CAAUzK,QAAtD,EAA+D68B,KAA/D,EAAqEL,WAArE,EAAiF,MAAI,CAACN,WAAL,CAAiBlrC,EAAlG,EAAqG,OAAO,MAAI,CAAC9F,WAAL,CAAiBK,cAAjB,EAAP,EAA0C8Z,cAA/I,CAAN;MACA,MAAM,MAAI,CAACk1B,sBAAL,CAA4BwC,iBAA5B,CACJ,MAAI,CAACtyB,IAAL,CAAUnJ,eADN,EACuB,MAAI,CAACmJ,IAAL,CAAUpM,KADjC,EAEJ,MAAI,CAACoM,IAAL,CAAU6wB,QAFN,EAEe,MAAI,CAAC7wB,IAAL,CAAUzK,QAFzB,EAGJ,MAAI,CAACyK,IAAL,CAAU2F,SAHN,EAGgB,MAAI,CAAC3F,IAAL,CAAUzZ,EAH1B,EAIJ,MAAI,CAACyZ,IAAL,CAAUwI,QAJN,EAIe,MAAI,CAACxI,IAAL,CAAUL,mBAJzB,EAI6C,MAAI,CAACK,IAAL,CAAUna,MAJvD,EAI8D,MAAI,CAACma,IAAL,CAAUsI,QAJxE,EAIiF,MAAI,CAACtI,IAAL,CAAU4G,OAJ3F,EAImG,MAAI,CAAC6qB,WAAL,CAAiBlrC,EAJpH,CAAN;MAMA,MAAM,MAAI,CAACupC,sBAAL,CAA4B3V,gBAA5B,CAA6C,MAAI,CAACna,IAAL,CAAUzZ,EAAvD,EAA0DmR,sEAA1D,CAAN;MACA,MAAM,MAAI,CAACge,wBAAL,EAAN;;MACA,MAAI,CAAC/lB,yBAAL,CAA+BnO,WAA/B,CAA2C,oCAA3C,EAAiFlB,iHAAjF;;MACA,MAAMqxC,KAAK,CAAC,IAAD,CAAX;;MACA,MAAI,CAAChxC,MAAL,CAAY2E,aAAZ,CAA0B,oBAA1B;IA7BU;EA8BX;;EACMowB,wBAAwB;IAAA;;IAAA;MAC3B,IAAIzV,UAAU,GAAG,MAAI,CAACrQ,cAAL,CAAoBqQ,UAArC;MACAA,UAAU,CAAC5G,QAAX,CAAoBlN,OAApB;QAAA,+IAA4B,WAAMwN,OAAN,EAAgB;UAC1C,MAAM,MAAI,CAACqa,mBAAL,CAAyB4B,wBAAzB,CAAkDjc,OAAO,CAACpT,EAA1D,EAA8Dye,8EAA9D,CAAN;QACD,CAFD;;QAAA;UAAA;QAAA;MAAA;IAF2B;EAK5B;;EACGuG,KAAK,CAACzL,YAAD,EAA8B;IAAA;;IAAA;MACvC,IAAG/M,OAAO,CAAC,wDAAD,CAAV,EAAqE;QACnE,MAAM,MAAI,CAAC+8B,sBAAL,CAA4ByC,UAA5B,CAAuCzyB,YAAY,CAACvZ,EAApD,EAAuD,MAAI,CAACyZ,IAAL,CAAUzZ,EAAjE,CAAN;MACD;IAHsC;EAIxC;;EACKqc,iBAAiB,CAACO,QAAQ,GAAG,IAAZ,EAAgB;IAAA;;IAAA;MACrC,MAAI,CAACC,oBAAL,GAA4B,IAA5B;MACA,IAAIC,QAAQ,GAAuB,EAAnC;MAGA,MAAM/L,IAAI,GAAG,MAAI,CAAC0I,IAAL,CAAUnJ,eAAvB;MAGH,IAAIiT,eAAe,GAAoB,EAAvC;MACKA,eAAe,CAACC,gBAAhB,GAAmCzS,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsB,CAACA,IAAD,CAAzD;MACAwS,eAAe,CAACE,QAAhB,GAA2B,IAA3B;MACAF,eAAe,CAACG,UAAhB,GAA6B,IAA7B;MACAH,eAAe,CAACI,YAAhB,GAA+B,IAA/B;MACAJ,eAAe,CAACM,SAAhB,GAA4B,MAAI,CAACpK,IAAL,CAAU2F,SAAtC;MACAmE,eAAe,CAACK,MAAhB,GAAyBzS,oEAAzB;MACAoS,eAAe,CAACkb,KAAhB,GAAwB,IAAxB;MACAlb,eAAe,CAACO,WAAhB,GAA8B,IAA9B;MACAP,eAAe,CAAC4Y,eAAhB,GAAkCprB,IAAlC;MAEF+L,QAAQ,SAAS,MAAI,CAACysB,sBAAL,CAA4B7kB,QAA5B,CAAsCnB,eAAtC,EAAsD,IAAtD,EAA2D,MAAI,CAACve,IAAhE,EAAqE,MAAI,CAACK,QAA1E,CAAjB;MACAyX,QAAQ,GAAGA,QAAQ,CAAC/gB,MAAT,CAAgBmoB,GAAG,IAAIA,GAAG,CAAClkB,EAAJ,KAAW,MAAI,CAACyZ,IAAL,CAAUzZ,EAA5C,CAAX;MACA,MAAI,CAACqd,eAAL,GAAuBP,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA9C;MACA,MAAI,CAAC4T,aAAL,GAAsB6D,QAAtB;MACApZ,QAAQ,CAAC+Z,cAAT,CAAwB,wBAAxB,GAAmDC,SAAnD,CAA6DuuB,MAA7D,CAAoE,QAApE,EAA8E,MAAI,CAAChzB,aAAL,CAAmB7Y,MAAnB,KAA8B,CAA5G;MACA,MAAI,CAACyc,oBAAL,GAA4B,KAA5B;IAxBqC;EAyBxC;;EACCqvB,iBAAiB,CAACC,GAAD,EAAmB;IAClC,KAAKjB,WAAL,GAAmBiB,GAAnB;IACA,KAAKpB,qBAAL,GAA6B,EAA7B;IACA,KAAKE,aAAL,GAAqB,IAArB;IACA,KAAKJ,sBAAL,CAA4Bh9B,aAA5B,CAA0CC,KAA1C,GAAkDq+B,GAAG,CAACnsC,EAAtD;IACA,KAAKiqC,gBAAL,CAAsBC,QAAtB,CAA+BL,aAA/B,CAA6CQ,QAA7C,CAAsD8B,GAAG,CAACnsC,EAA1D;EACD;;AAnNqD;;;mBAA3CspC,6CAA2ChuC,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,oFAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,iFAAAA,GAAAA,gEAAAA,CAAAA,wFAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,mGAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,uFAAAA,GAAAA,gEAAAA,CAAAA,uHAAAA;AAAA;;;QAA3CguC;EAA2CjoC;EAAAkH;IAAA;;;;;;;;;;;;;;;;;MCxBxDjN,6DAAAA,kBAA4B,CAA5B,EAA4B,QAA5B,EAA4B,CAA5B;MAEiCA,yDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MAA0BxN,qDAAAA;MAAIA,2DAAAA;MAE3DA,6DAAAA;MAAIA,qDAAAA;MAAoBA,2DAAAA;MAG1BA,6DAAAA,kBAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,MAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,EAAtC,EAAsC,OAAtC,EAAsC,CAAtC;MAO+BA,qDAAAA;MAAOA,2DAAAA;MAC5BA,6DAAAA;MACEA,wDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAwD,EAAxD,EAAwD,OAAxD,EAAwD,EAAxD;MAC0BA,qDAAAA;MAAWA,2DAAAA;MACnCA,6DAAAA;MACIA,wDAAAA;MACJA,2DAAAA;MAGFA,6DAAAA,gBAA8C,EAA9C,EAA8C,OAA9C,EAA8C,EAA9C;MACgCA,qDAAAA;MAAiBA,2DAAAA;MAC/CA,6DAAAA;MACEA,wDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAmD,EAAnD,EAAmD,OAAnD,EAAmD,EAAnD;MACqCA,qDAAAA;MAAsBA,2DAAAA;MACzDA,6DAAAA;MACEA,wDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAoD,EAApD,EAAoD,OAApD,EAAoD,EAApD;MAC6BA,qDAAAA;MAAcA,2DAAAA;MACzCA,6DAAAA;MACEA,wDAAAA;MACAA,yDAAAA;MAKAA,yDAAAA;MACFA,2DAAAA;MAONA,6DAAAA,gBAA4D,EAA5D,EAA4D,KAA5D,EAA4D,EAA5D,EAA4D,IAA5D;MAEMA,qDAAAA;MAAMA,2DAAAA;MACVA,6DAAAA;;MAAgDA,qDAAAA;MAAcA,2DAAAA;MAKlEA,yDAAAA;MAIAA,yDAAAA;MAwBEA,yDAAAA;MAgBFA,2DAAAA;MAOFA,wDAAAA;;;;MA1GYA,wDAAAA;MAAAA,yDAAAA;MAkCKA,wDAAAA;MAAAA,yDAAAA;MAKGA,wDAAAA;MAAAA,yDAAAA;MAWRA,wDAAAA;MAAAA,qEAAAA,YAAAA,0DAAAA;MAA0CA,wDAAAA;MAAAA,gEAAAA;MAK9CA,wDAAAA;MAAAA,yDAAAA;MAIAA,wDAAAA;MAAAA,yDAAAA;MAwBEA,wDAAAA;MAAAA,yDAAAA;MAuBSA,wDAAAA;MAAAA,yDAAAA,yCAAmC,iBAAnC,EAAmC,4BAAnC,EAAmC,uBAAnC,EAAmC,KAAnC,EAAmC,QAAnC,EAAmCwN,UAAnC,EAAmC,YAAnC,EAAmCA,wCAAnC,EAAmC,uBAAnC,EAAmC,IAAnC,EAAmC,SAAnC,EAAmCA,0BAAnC;;;;;;;;;;;;;;;;;;;;;;AC9Gd,MAAM,iBAAiB;IAE5B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;kFALU,iBAAiB;+GAAjB,iBAAiB;QCP9B,oEAAG;QAAA,0EAAe;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACEsC;;;;;;AAOrD,MAAM,iBAAiB;IAC5B,YAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAErC,UAAK,GAAG,sEAAK,CAAC;IAF0B,CAAC;IAIzC,QAAQ,KAAU,CAAC;;kFALR,iBAAiB;+GAAjB,iBAAiB;QCT9B,6EAA4B;QAEG,yIAAS,mBAAe,IAAC;QAAC,+DAAI;QAAA,4DAAS;QAEpE,qEAAI;QAAA,qFAA0B;QAAA,4DAAK;QAGrC,yEAAoE;QAC9D,sHAA2D;QAAA,4DAAK;QACpE,uEAAkD;QAAA,wEAA+C;QAAA,oEAAQ;QAAA,4DAAI;;QAA1G,0DAAmB;QAAnB,6IAAmB;QAAqC,0DAAc;QAAd,2EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN3E;;;;;;;;;;;;;;;ICHAxN,4DAAAA;IAA8CA,oDAAAA;IAAkCA,0DAAAA;;;;;IAAlCA,uDAAAA;IAAAA,gEAAAA;;;;;;IAI5CA,4DAAAA,YAAwC,CAAxC,EAAwC,IAAxC;IACMA,oDAAAA;IAAcA,0DAAAA;;;;;;IAEpBA,4DAAAA,YAAuC,CAAvC,EAAuC,IAAvC;IACMA,oDAAAA;IAAWA,0DAAAA;;;;;IAAXA,uDAAAA;IAAAA,+DAAAA;;;;;;IAoENA,4DAAAA,kBAAkD,CAAlD,EAAkD,KAAlD,EAAkD,CAAlD,EAAkD,CAAlD,EAAkD,KAAlD;IAIMA,uDAAAA;IAGFA,0DAAAA;;;;;IAHwBA,uDAAAA;IAAAA,wDAAAA,2BAAyB,YAAzB,EAAyB,IAAzB,EAAyB,UAAzB,EAAyB,CAAzB,EAAyB,cAAzB,EAAyB,CAAzB,EAAyB,gBAAzB,EAAyBylC,qBAAzB,EAAyB,iBAAzB,EAAyBA,eAAzB,EAAyB,gBAAzB,EAAyBA,qBAAzB,EAAyB,eAAzB,EAAyB,KAAzB;;;;ADjExB,MAAOqL,iBAAP,CAAwB;EAe5BnyC,YAAoBC,WAApB,EACUE,MADV,EAES8hB,qBAFT,EAGUvO,cAHV,EAIS0D,aAJT,EAKU0H,YALV,EAK6B;IALT;IACV;IACD;IACC;IACD;IACC;IAlBV,mBAAuB,KAAvB;IACA,uBAA2B,IAA3B;IACA,sBAA0B,KAA1B;IACS,2BAA+B,IAA/B;IAEA,uBAA2B,KAA3B;IAEA,sBAA0B,KAA1B;IAIT,yBAA4B,EAA5B;EAOkC;;EAE5Bvc,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACiT,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;MACA,KAAI,CAACM,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MAEA,KAAI,CAACzO,WAAL,SAAyB,KAAI,CAACN,WAAL,CAAiBM,WAAjB,EAAzB;;MAGA,KAAI,CAACmT,cAAL,CAAoB2B,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP,EAAiB;UAE3D,IAAIA,MAAM,CAACwN,GAAP,CAAW,iBAAX,CAAJ,EAAmC;YACjC,KAAI,CAACzM,eAAL,GAAuBf,MAAM,CAAC3F,GAAP,CAAW,iBAAX,CAAvB;UACD,CAFD,MAGK;YACH,KAAI,CAAC0G,eAAL,GAAuB7T,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAvB;;YACA,KAAI,CAAC3C,MAAL,CAAYW,QAAZ,CACE,EADF,EAEE;cACE4T,UAAU,EAAE,KAAI,CAAChB,cADnB;cAEEiB,WAAW,EAAE;gBAAE0B,eAAe,EAAE,KAAI,CAACA;cAAxB,CAFf;cAGExB,mBAAmB,EAAE;YAHvB,CAFF;UAOD;;UAED,KAAI,CAACsR,iBAAL,GAAyB,EAAzB;;UACA,IAAI,KAAI,CAAC9P,eAAT,EAA0B;YACxB,IAAI3S,OAAO,SAAU,KAAI,CAACue,qBAAL,CAA2B3L,oBAA3B,CAAgD,KAAI,CAACD,eAArD,CAArB;YACA,KAAI,CAAC8P,iBAAL,GAAyBziB,OAAO,CAACkK,WAAjC;UACD;QAEF,CAtBD;;QAAA;UAAA;QAAA;MAAA,KAPY,CA+BZ;;;MACA,KAAI,CAACkR,YAAL,CAAkByC,QAAlB,CAA2B,qBAA3B;IAhCY;EAkCb;;AAxD2B;;;mBAAjB4wB,mBAAiB9wC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA,GAAAA,+DAAAA,CAAAA,2GAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,iFAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA;AAAA;;;QAAjB8wC;EAAiB/qC;EAAAsH;IAAA0jC;IAAAh/B;IAAAi/B;IAAAzpC;IAAAkL;IAAAiB;IAAAsB;EAAA;EAAAhP;EAAAC;EAAAC;EAAAC;IAAA;MCf9BnG,wDAAAA;MACAA,uDAAAA;MAEAA,4DAAAA;MACEA,wDAAAA;MAGAA,wDAAAA;MAIAA,4DAAAA,kBAA8B,CAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,CAA9B,EAA8B,KAA9B;MAIMA,uDAAAA;MAGFA,0DAAAA;MAIJA,4DAAAA,kBAA8B,EAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,KAA9B;MAIMA,uDAAAA;MAIFA,0DAAAA;MAaJA,4DAAAA,mBAAwC,EAAxC,EAAwC,KAAxC,EAAwC,CAAxC,EAAwC,EAAxC,EAAwC,KAAxC;MAIMA,uDAAAA;MAGFA,0DAAAA;MAGFA,4DAAAA,eAAiC,EAAjC,EAAiC,KAAjC;MAKIA,uDAAAA;MAEFA,0DAAAA;MAIJA,4DAAAA,mBAA8B,EAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,KAA9B;MAIMA,uDAAAA;MAGFA,0DAAAA;MAKJA,wDAAAA;MAWFA,0DAAAA;;;;MAvFKA,wDAAAA;MACuBA,uDAAAA;MAAAA,wDAAAA;MAGnBA,uDAAAA;MAAAA,wDAAAA;MAGAA,uDAAAA;MAAAA,wDAAAA;MAQ0BA,uDAAAA;MAAAA,wDAAAA,iCAA+B,YAA/B,EAA+B,IAA/B,EAA+B,SAA/B,EAA+B,KAA/B,EAA+B,UAA/B,EAA+B,CAA/B,EAA+B,cAA/B,EAA+B,CAA/B,EAA+B,iBAA/B,EAA+BwN,YAA/B,EAA+B,gBAA/B,EAA+BA,kBAA/B,EAA+B,eAA/B,EAA+B,KAA/B;MAWAxN,uDAAAA;MAAAA,wDAAAA,iCAA+B,YAA/B,EAA+B,IAA/B,EAA+B,SAA/B,EAA+B,KAA/B,EAA+B,UAA/B,EAA+B,CAA/B,EAA+B,cAA/B,EAA+B,CAA/B,EAA+B,iBAA/B,EAA+BwN,YAA/B,EAA+B,gBAA/B,EAA+BA,kBAA/B,EAA+B,eAA/B,EAA+B,KAA/B;MAqBAxN,uDAAAA;MAAAA,wDAAAA,4BAA0B,YAA1B,EAA0B,IAA1B,EAA0B,UAA1B,EAA0B,CAA1B,EAA0B,SAA1B,EAA0B,KAA1B,EAA0B,cAA1B,EAA0B,CAA1B,EAA0B,iBAA1B,EAA0BwN,YAA1B,EAA0B,gBAA1B,EAA0BA,kBAA1B,EAA0B,eAA1B,EAA0B,KAA1B;MAWJxN,uDAAAA;MAAAA,wDAAAA,gBAAc,OAAd,EAAc,WAAd,EAAc,cAAd,EAAc,CAAd,EAAc,YAAd,EAAc,IAAd,EAAc,iBAAd,EAAcwN,YAAd,EAAc,gBAAd,EAAcA,kBAAd,EAAc,eAAd,EAAc,KAAd;MAUDxN,uDAAAA;MAAAA,wDAAAA,sCAAoC,UAApC,EAAoC,CAApC,EAAoC,YAApC,EAAoC,IAApC,EAAoC,cAApC,EAAoC,CAApC,EAAoC,iBAApC,EAAoCwN,YAApC,EAAoC,gBAApC,EAAoCA,kBAApC,EAAoC,eAApC,EAAoC,KAApC;MAQGxN,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC5EjCA,uDAAAA;;;;IAA2CA,wDAAAA;;;;;;IAE3CA,uDAAAA;;;;;IAAqCA,wDAAAA,0BAAiB,iBAAjB,EAAiBqd,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,6BAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGrCrd,uDAAAA;;;;ACMM,MAAOixC,2BAAP,CAAkC;EAYtC;EACAtyC,YAAoBkP,cAApB,EAA2DogC,sBAA3D,EAA+GlgC,cAA/G,EAA6I;IAAzH;IAAuC;IAAoD;IAR/G,gBAAqB,EAArB;IAIA,iBAAqB,KAArB;IAKE,KAAKkgC,sBAAL,CAA4BlM,UAA5B,GAAyC,IAAzC;EACD,CAfqC,CAiBtC;;;EACM7gC,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC4tC,SAAL,GAAiB,IAAjB;MACA,KAAI,CAAC3gC,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAAC8vB,sBAAL,CAA4BS,cAA5B,CAA2C,KAAI,CAACvgC,MAAhD,CAAlB;MACA,KAAI,CAACJ,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MACA,KAAI,CAACwI,QAAL,GAAgBxF,IAAI,CAACC,KAAL,CAAW,KAAI,CAACjD,IAAL,CAAUwI,QAArB,CAAhB;MACA,KAAI,CAACpT,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC/N,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MAEA,IAAI00B,cAAc,GAAG,KAAI,CAAC/oB,IAAL,CAAUxI,aAA/B;MACA,KAAI,CAACX,eAAL,GAAuBkyB,cAAc,EAAExiC,EAAvC;MACA,KAAI,CAACogB,iBAAL,GAAyBoiB,cAAc,EAAE36B,WAAzC;MAEA,KAAI,CAACwB,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAACF,IAAL,CAAUzZ,EAApD,CAAvC;MACA,KAAI,CAACqJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C;MAEA,KAAI,CAACoqC,SAAL,GAAiB,KAAjB;IAhBY;EAiBb;;AAnCqC;;;mBAA3BmC,6BAA2BjxC,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,oFAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAA3BixC;EAA2BlrC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MDXxCnG,wDAAAA;MAEAA,wDAAAA;MAGAA,wDAAAA;;;;MALyBA,wDAAAA;MAENA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEDtB;AACA;;;;;;;AAOM,MAAOkxC,yBAAP,CAAgC;EAapCvyC,YAAoBC,WAApB,EACU6e,YADV,EAC6B;IADT;IACV;IAbV,eAAU,UAAV;IAES,YAAe,CAAf;IACA,gBAAmB,CAAnB;IAET,mBAAuB,KAAvB,CAQ6B,CAP7B;;IACA,eAAgD,CAAC;MAAEoD,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAD,EAAwC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAxC,EAA4G;MAAED,IAAI,EAAE,UAAR;MAAoBC,QAAQ,EAAE;IAA9B,CAA5G,EAA2J;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAA3J,EAAyM;MAACD,IAAI,EAAC,YAAN;MAAoBC,QAAQ,EAAC;IAA7B,CAAzM,EAAgP;MAACD,IAAI,EAAE,YAAP;MAAqBC,QAAQ,EAAC;IAA9B,CAAhP,CAAhD;IAGA,YAAOL,mEAAP;IACA,cAASD,qEAAT;EAEkC;;EAE5Btf,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CADY,CAGZ;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,qBAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAACwV,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MAEA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;;MACA,KAAI,CAACwpB,0BAAL;IAVY;EAWb;;EAEDrpB,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;EAEDk4B,0BAA0B;IACxB,IAAIC,oBAAoB,GAAGxpB,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,wBAArB,CAAX,CAA3B;;IAEA,IAAIkpC,oBAAoB,IAAI,IAA5B,EAAkC;MAChCA,oBAAoB,GAAG,KAAK1pB,WAA5B;IACD;;IAED9f,YAAY,CAACO,OAAb,CAAqB,wBAArB,EAA+Cyf,IAAI,CAACoB,SAAL,CAAeooB,oBAAf,CAA/C;EACD;;AA9CmC;;;mBAAzBuG,2BAAyBlxC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAAzBkxC;EAAyBnrC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCZtCnG,4DAAAA,cAA6C,CAA7C,EAA6C,OAA7C,EAA6C,CAA7C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAEFA,uDAAAA;;;;MANaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAGSA,uDAAAA;MAAAA,wDAAAA,yBAAmB,OAAnB,EAAmB,0BAAnB,EAAmB,SAAnB,EAAmBwN,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,UAAnB,EAAmB,EAAnB,EAAmB,iBAAnB,EAAmB,KAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmBA,eAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICRtBxN,uDAAAA;;;;;;IAEAA,uDAAAA;;;;;IAAuCA,wDAAAA,0BAAiB,iBAAjB,EAAiBqd,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,4BAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGvCrd,uDAAAA;;;;ACOM,MAAOmxC,qCAAP,CAA4C;EAUhD;EACAxyC,YAAoB8e,YAApB,EAAiD5P,cAAjD,EAAwFiyB,qBAAxF,EAA8I/xB,cAA9I,EAA4K;IAAxJ;IAA6B;IAAuC;IAAsD;IAJ9I,mBAAuB,KAAvB;IAKE,KAAK+xB,qBAAL,CAA2BC,oBAA3B,GAAkD,IAAlD;EACD;;EAEK7+B,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAACwiB,WAAL,GAAmB,IAAnB;MAEA,KAAI,CAACvV,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAAC2hB,qBAAL,CAA2B6F,iCAA3B,CAA6D,KAAI,CAACx3B,MAAlE,CAAlB;MACA,KAAI,CAACnK,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MACA,KAAI,CAACe,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC/N,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MACA,KAAI,CAACstB,qBAAL,CAA2Bhc,SAA3B,GAAuC,KAAI,CAAC3F,IAAL,CAAU2F,SAAjD;MAEA,IAAInO,aAAa,GAAG,KAAI,CAACwI,IAAL,CAAUxI,aAA9B;MACA,KAAI,CAACX,eAAL,GAAuBW,aAAa,EAAEjR,EAAtC;MACA,KAAI,CAACogB,iBAAL,GAAyBnP,aAAa,EAAEpJ,WAAxC;MAEA,KAAI,CAACwB,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MAEA,KAAI,CAACpQ,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAAClQ,MAA/C,CAAvC;MACA,KAAI,CAACJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C,CAjBY,CAmBZ;;MACA,KAAI,CAAC+Y,YAAL,CAAkByC,QAAlB,CAA2B,+BAA3B;;MAEA,KAAI,CAACwD,WAAL,GAAmB,KAAnB;IAtBY;EAuBb;;AAtC+C;;;mBAArCytB,uCAAqCnxC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,6GAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAArCmxC;EAAqCprC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MDZlDnG,wDAAAA;MAEAA,wDAAAA;MAGAA,wDAAAA;;;;MAL8BA,wDAAAA;MAEXA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEDtB;AACA;;;;;;;AAOM,MAAOoxC,mCAAP,CAA0C;EAa9CzyC,YAAoBC,WAApB,EACU6e,YADV,EAC6B;IADT;IACV;IAZV,eAAU,oBAAV;IAES,YAAe,CAAf;IACA,gBAAmB,CAAnB;IAGT,mBAAuB,KAAvB;IACA,eAAgD,CAAC;MAAEoD,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAD,EAAwC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAxC,EAA4G;MAAED,IAAI,EAAE,SAAR;MAAmBC,QAAQ,EAAE;IAA7B,CAA5G,EAAsJ;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAAtJ,CAAhD;IAEA,YAAOL,mEAAP;IACA,cAASD,qEAAT;EAEkC;;EAE5Btf,QAAQ;IAAA;;IAAA;MAEZ,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CAFY,CAIZ;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,gCAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAACwV,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MAEA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;IAVY;EAWb;;EAEDG,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;AApC6C;;;mBAAnC4+B,qCAAmCpxC,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAAnCoxC;EAAmCrrC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCZhDnG,4DAAAA,cAA4C,CAA5C,EAA4C,OAA5C,EAA4C,CAA5C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAEFA,uDAAAA;;;;MANaA,uDAAAA;MAAAA,wDAAAA;MACkEA,uDAAAA;MAAAA,wDAAAA;MAElEA,uDAAAA;MAAAA,wDAAAA;MAGcA,uDAAAA;MAAAA,wDAAAA,yBAAmB,WAAnB,EAAmBwN,eAAnB,EAAmB,OAAnB,EAAmB,qBAAnB,EAAmB,SAAnB,EAAmBA,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,cAAnB,EAAmB,IAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR3B;AACA;AAEA;AACA;AACA;AACA;AAMA;AACA;AACA;AAGA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;ICFgBxN,6DAAAA;IAA0CA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,gCAAT;IAA2B,CAA3B;IACxCA,6DAAAA;IAAIA,qDAAAA;IAAcA,2DAAAA;;;;;IAAdA,wDAAAA;IAAAA,iEAAAA;;;;;;IAFRA,6DAAAA;IACEA,yDAAAA;IAGFA,2DAAAA;;;;;IAHsBA,wDAAAA;IAAAA,yDAAAA;;;;;;IAItBA,6DAAAA;IAA6DA,qDAAAA;IAAYA,2DAAAA;;;;;;;;IAUvEA,6DAAAA;IAAyCA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,+BAAT;IAA0B,CAA1B;IACvCA,6DAAAA;IAAIA,qDAAAA;IAAcA,2DAAAA;;;;;IAAdA,wDAAAA;IAAAA,iEAAAA;;;;;;IAFRA,6DAAAA;IACEA,yDAAAA;IAGFA,2DAAAA;;;;;IAHsBA,wDAAAA;IAAAA,yDAAAA;;;;;;IAItBA,6DAAAA;IAA4DA,qDAAAA;IAAYA,2DAAAA;;;;;;;;IASpEA,6DAAAA;IAAkHA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,sBAAa,IAAb,EAAT;IAA2B,CAA3B;IAA6BA,6DAAAA;IAAGA,qDAAAA;IAAqCA,2DAAAA;;;;;;;;IACvLA,6DAAAA;IAA2CA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,kCAAT;IAA6B,CAA7B;IACzCA,6DAAAA;IAAIA,qDAAAA;IAAwBA,2DAAAA;;;;;IAAxBA,wDAAAA;IAAAA,iEAAAA;;;;;;IAHRA,6DAAAA;IACEA,yDAAAA;IACAA,yDAAAA;IAGFA,2DAAAA;;;;;IAJOA,wDAAAA;IAAAA,yDAAAA;IACkBA,wDAAAA;IAAAA,yDAAAA;;;;;;IAKzBA,6DAAAA;IACEA,wDAAAA;IAEAA,6DAAAA;IAAMA,qDAAAA;IAAYA,2DAAAA;;;;;;IAgChCA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;;IAQcA,6DAAAA;IAA8CA,qDAAAA;IAACA,2DAAAA;;;;;;;;;;IAJ1DA,6DAAAA,aAA8G,CAA9G,EAA8G,KAA9G,EAA8G,CAA9G,EAA8G,CAA9G,EAA8G,IAA9G;IAGWA,qDAAAA;IACAA,yDAAAA;IACAA,qDAAAA;;IACJA,2DAAAA;IACAA,6DAAAA;IACEA,qDAAAA;;IACFA,2DAAAA;IACAA,6DAAAA;IACEA,qDAAAA;IACFA,2DAAAA;;;;;IAZoDA,yDAAAA,eAAAA,8DAAAA;IAGhDA,wDAAAA;IAAAA,iEAAAA;IACOA,wDAAAA;IAAAA,yDAAAA;IACPA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAGFA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAGAA,wDAAAA;IAAAA,iEAAAA;;;;;;IAZZA,6DAAAA;IACGA,yDAAAA;IAeHA,2DAAAA;;;;;IAf+BA,wDAAAA;IAAAA,yDAAAA;;;;;;IAXjCA,6DAAAA,WAA8D,CAA9D,EAA8D,IAA9D,EAA8D,CAA9D,EAA8D,MAA9D;IAEUA,qDAAAA;IAAuBA,2DAAAA;IAG/BA,yDAAAA;IAKAA,yDAAAA;IAiBFA,2DAAAA;;;;;IAtBQA,wDAAAA;IAAAA,yDAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAsBJA,wDAAAA;;;;;;;;IAILA,6DAAAA,eAAyC,CAAzC,EAAyC,kBAAzC,EAAyC,EAAzC;IACmBA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,6CAAf;IAAkD,CAAlD;IAC2HA,2DAAAA;;;;;IADtEA,wDAAAA;IAAAA,yDAAAA,6CAAmC,uBAAnC,EAAmC,KAAnC,EAAmC,QAAnC,EAAmC2xC,8BAAnC,EAAmC,YAAnC,EAAmCA,sCAAnC,EAAmC,mBAAnC,EAAmC,IAAnC;;;;AD3FnE,MAAOC,4BAAP,CAAmC;EAkDvCjzC,YACUkzC,eADV,EAEUt0B,mBAFV,EAGSR,QAHT,EAIUje,MAJV,EAKUF,WALV,EAM4BwJ,QAN5B,EAOU2M,oBAPV,EAQU0I,YARV,EASU3P,yBATV,EAUUD,cAVV,EAWUikC,cAXV,EAYU/jC,cAZV,EAaU6zB,kBAbV,EAagD;IAZtC;IACA;IACD;IACC;IACA;IACkB;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IA9DV,uBAAgC,EAAhC;IACA,yBAAkC,EAAlC;IACA,wBAAgC,EAAhC;IACA,mBAAc,KAAd;IAEA,qBAA8B,EAA9B;IACA,uBAAkB,IAAI0P,8DAAJ,EAAlB;IACA,sBAAiB,IAAIC,6DAAJ,EAAjB;IACA,uBAAkB,KAAlB;IACA,uBAAkB,KAAlB;IACA,wBAAmB,KAAnB;IACA,uBAAkB,KAAlB;IACA,iBAAY,KAAZ;IACA,sBAAiB,KAAjB;IACA,aAAQ,KAAR;IACA,0BAAqB,KAArB;IACA,qBAAgB9jC,+EAAhB;IACA,uBAAkB,KAAlB;IACA,sBAAiB,KAAjB;IACA,mBAAyB,EAAzB;IACA,qBAA0C,EAA1C;IAIA,2BAAsB,IAAI+jC,mFAAJ,EAAtB;IAIA,qBAAgC,EAAhC;IACA,yBAAoB,KAApB;IACA,wBAAmB,IAAI5D,6DAAJ,CAAqB;MACtCxlB,UAAU,EAAE,IAAIulB,+DAAJ,CAAuB;QAAEn7B,KAAK,EAAE,EAAT;QAAa27B,QAAQ,EAAE;MAAvB,CAAvB,EAAsD,CAACN,gEAAD,CAAtD,CAD0B;MAEtC9V,OAAO,EAAE,IAAI4V,+DAAJ,CAAuB,EAAvB,EAA2B,CAACE,gEAAD,CAA3B,CAF6B;MAGtCO,KAAK,EAAE,IAAIT,+DAAJ,CAAuB,EAAvB,CAH+B;MAItCU,qBAAqB,EAAE,IAAIV,+DAAJ,CAAuB,EAAvB,CAJe;MAKtCW,gBAAgB,EAAE,IAAIX,+DAAJ,CAAuB,EAAvB,CALoB;MAMtCY,aAAa,EAAE,IAAIZ,+DAAJ,CAAuB,EAAvB,CANuB;MAOtCc,SAAS,EAAE,IAAId,+DAAJ,CAAuB,EAAvB;IAP2B,CAArB,CAAnB;IAiBA,sBAAiB,KAAjB;IACA,wBAAmB,KAAnB;IAgBE,KAAK6D,mBAAL,CAAyB9sC,EAAzB,GAA8B+sC,wDAAA,GAAcl3B,QAAd,EAA9B;IACA,KAAKi3B,mBAAL,CAAyB1tB,SAAzB,GAAqC,4BAArC;EACD;;EAEK5iB,QAAQ;IAAA;;IAAA;MACZ,MAAM,KAAI,CAAC4wC,cAAL,CAAoBE,aAApB,EAAN;MACA,KAAI,CAACjkC,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACqzB,mBAAhC;MACA,KAAI,CAACvjC,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B;MACA,KAAI,CAACwG,eAAL,SAA6B,KAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA7B;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,iCAA3B;;MACA,KAAI,CAACrS,cAAL,CAAoBmG,aAApB,CAAkC1S,SAAlC;QAAA,8IAA4C,WAAO2S,MAAP;UAAA,OAAkB,KAAI,CAAC8M,iBAAL,CAAuB9M,MAAvB,CAAlB;QAAA,CAA5C;;QAAA;UAAA;QAAA;MAAA;;MACA,KAAI,CAACe,eAAL,GAAuB,OAAO,KAAI,CAACpW,WAAL,CAAiBK,cAAjB,EAAP,EAA0CgzC,gBAAjE;MACA,MAAMC,WAAW,SAAS,KAAI,CAACtzC,WAAL,CAAiBK,cAAjB,EAA1B;MACA,KAAI,CAACkzC,aAAL,GAAqBD,WAAW,CAACxtC,EAAjC;;MACA,KAAI,CAAC0tC,WAAL,CAAiBvnC,IAAjB,CAAsBqnC,WAAtB;;MACA,KAAI,CAACv8B,aAAL,SAA2B,KAAI,CAACZ,oBAAL,CAA0BE,oBAA1B,CAA+C,KAAI,CAACD,eAAL,CAAqB,CAArB,CAA/C,CAA3B;;MACA,IAAI,KAAI,CAAC/G,cAAT,EAAyB;QACvB,KAAI,CAAC0gC,gBAAL,CAAsBC,QAAtB,CAA+BL,aAA/B,CAA6C8D,aAA7C,CAA2D,CAACxE,gEAAD,CAA3D;MACD;;MACD,KAAI,CAACc,gBAAL,CAAsBC,QAAtB,CAA+B7W,OAA/B,CAAuCgX,QAAvC,CAAgD,IAAhD;;MACA,KAAI,CAACK,oBAAL;IAhBY;EAiBb;;EAEDA,oBAAoB;IAClB,KAAKE,aAAL,CAAmBzkC,IAAnB,CAAwBoH,gDAAS,CAAC,KAAKqgC,sBAAL,CAA4B//B,aAA7B,EAA4C,OAA5C,CAAT,CAA8D/P,IAA9D,CACtBsJ,oDAAG,CAAEvK,KAAD,IAAgBA,KAAK,CAACmR,MAAN,CAAaF,KAA9B,CADmB,EAEtB/R,uDAAM,CAACkS,GAAG,IAAIA,GAAG,CAAC7N,MAAJ,GAAa,CAArB,CAFgB,EAGtBoN,6DAAY,CAAC,GAAD,CAHU,EAItBC,qEAAoB,EAJE,EAKtB7Q,SALsB,CAKZsR,IAAI,IAAI,KAAK2/B,WAAL,CAAiB3/B,IAAjB,CALI,CAAxB;IAOA,KAAK08B,aAAL,CAAmBzkC,IAAnB,CAAwBoH,gDAAS,CAAC,KAAKugC,uBAAL,CAA6BjgC,aAA9B,EAA6C,OAA7C,CAAT,CAA+D/P,IAA/D,CACtBsJ,oDAAG,CAAEvK,KAAD,IAAgBA,KAAK,CAACmR,MAAN,CAAaF,KAA9B,CADmB,EAEtBN,6DAAY,CAAC,GAAD,CAFU,EAGtBC,qEAAoB,EAHE,EAItB7Q,SAJsB,CAIZsR,IAAI,IAAI,KAAK6/B,YAAL,CAAkB7/B,IAAlB,CAJI,CAAxB;EAKD;;EAEDhN,WAAW;IACT,KAAK0pC,aAAL,CAAmBhlC,OAAnB,CAA2BooC,YAAY,IAAIA,YAAY,CAAC96B,WAAb,EAA3C;EACD;;EAEK7E,gBAAgB,CAACxG,WAAD,EAAY;IAAA;;IAAA;MAChC,MAAI,CAACsG,eAAL,GAAuB,IAAvB;;MACA,MAAI,CAAC/T,MAAL,CAAYW,QAAZ,CAAqB,EAArB,EAAyB;QACrB4T,UAAU,EAAE,MAAI,CAACxF,cADI;QAErByF,WAAW,EAAE;UAAEC,UAAU,EAAEhH;QAAd,CAFQ;QAGrBiH,mBAAmB,EAAE;MAHA,CAAzB;;MAKA,MAAI,CAAC8+B,sBAAL,CAA4B//B,aAA5B,CAA0CC,KAA1C,GAAkDjG,WAAlD;IAPgC;EAQnC;;EAEKwU,iBAAiB,CAAC9M,MAAM,GAAG,KAAKA,MAAf,EAAuBqN,QAAQ,GAAG,KAAlC,EAAuC;IAAA;;IAAA;MAC1D,MAAI,CAACC,oBAAL,GAA4B,IAA5B;MACA,IAAIC,QAAJ;;MAEA,IAAIvN,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkC2F,MAAM,CAACwN,GAAP,CAAW,UAAX,CAAtC,EAA8D;QAC1D,MAAI,CAAC9L,aAAL,SAA2B,MAAI,CAACZ,oBAAL,CAA0BE,oBAA1B,CAA+ChB,MAAM,CAAC3F,GAAP,CAAW,iBAAX,CAA/C,CAA3B;MACH;;MAED,MAAMmH,IAAI,GAAGxB,MAAM,EAAE3F,GAAR,CAAY,iBAAZ,KAAkCnN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAA/C;MACA,MAAM8R,UAAU,GAAGU,MAAM,EAAE3F,GAAR,CAAY,YAAZ,CAAnB;MACA,MAAMuL,YAAY,GAAG5F,MAAM,EAAE3F,GAAR,CAAY,cAAZ,CAArB;MACA,MAAMuR,eAAe,GAAGhG,YAAY,GAAG,OAAO,MAAI,CAACjb,WAAL,CAAiBka,WAAjB,CAA6Be,YAA7B,CAAP,EAAmDd,cAAtD,GAAuE,IAA3G;;MAEA,IAAI,CAACuI,QAAL,EAAe;QACX,MAAI,CAAC3D,aAAL,GAAqB,EAArB;QACA,MAAI,CAACjU,IAAL,GAAY,CAAZ;MACH;;MAED,IAAI,MAAI,CAACyK,eAAT,EAA0B;QACtBqN,QAAQ,SAAS,MAAI,CAACjE,mBAAL,CAAyBqE,uCAAzB,CACbrO,UADa,EACD,IADC,EACKsG,YADL,EACmBgG,eADnB,EACoC,IADpC,EAC0C,IAD1C,EACgD,IADhD,EACsD,MAAI,CAACnW,IAD3D,EACiE,MAAI,CAACK,QADtE,CAAjB;MAGH;;MAED,MAAI,CAACgY,eAAL,GAAuBP,QAAQ,CAAC1c,MAAT,GAAkB,MAAI,CAACiF,QAA9C;MACA,MAAI,CAAC4T,aAAL,GAAqB,CAAC,GAAG,MAAI,CAACA,aAAT,EAAwB,GAAG6D,QAAQ,CAAC1V,GAAT,CAAamS,YAAY,KAAK,EAC1E,GAAGA,YADuE;QAE1E00B,iBAAiB,EAAE,EAAE,GAAG10B,YAAY,CAAC00B,iBAAlB;UAAqChjC,IAAI,EAAEsO,YAAY,CAAC00B,iBAAb,CAA+BhjC,IAA/B,KAAwC,WAAxC,GAAsD,aAAtD,GAAsE;QAAjH;MAFuD,CAAL,CAAzB,CAA3B,CAArB;MAKAvH,QAAQ,CAAC+Z,cAAT,CAAwB,wBAAxB,GAAmDC,SAAnD,CAA6DuuB,MAA7D,CAAoE,QAApE,EAA8E,MAAI,CAAChzB,aAAL,CAAmB7Y,MAAnB,KAA8B,CAA5G;MACA,MAAI,CAACyc,oBAAL,GAA4B,KAA5B;IA/B0D;EAgC7D;;EAEKvO,WAAW;IAAA;;IAAA;MACb7R,YAAY,CAACC,UAAb,CAAwB,UAAxB;MACAD,YAAY,CAACC,UAAb,CAAwB,YAAxB;;MACA,MAAI,CAACtC,MAAL,CAAYW,QAAZ,CAAqB,EAArB,EAAyB;QACrB4T,UAAU,EAAE,MAAI,CAACxF,cADI;QAErByF,WAAW,EAAE;UAAEC,UAAU,EAAE,IAAd;UAAoBG,QAAQ,EAAE;QAA9B,CAFQ;QAGrBF,mBAAmB,EAAE;MAHA,CAAzB;IAHa;EAQhB;;EAEKoG,aAAa,CAACrY,KAAD,EAAM;IAAA;;IAAA;MACrB,MAAI,CAAC6wC,WAAL,CAAiBvnC,IAAjB,CAAsBtJ,KAAK,CAACvC,IAA5B;IADqB;EAExB;;EAEKuzC,WAAW,CAACt/B,IAAD,EAAK;IAAA;;IAAA;MAClB,IAAI,CAACA,IAAL,EAAW,OAAQ,MAAI,CAAC2/B,eAAL,GAAuB,EAA/B;MACX,MAAI,CAACC,SAAL,GAAiB,KAAjB;MACA,MAAI,CAAC1/B,eAAL,GAAuB,IAAvB;;MACA,IAAG,MAAI,CAAC2/B,gBAAR,EAAyB;QACvB,MAAI,CAACF,eAAL,SAA6B,MAAI,CAACf,eAAL,CAAqBkB,kBAArB,CAAwC,MAAI,CAACC,cAAL,CAAoBC,QAA5D,EAAqEhgC,IAAI,CAACsC,WAAL,EAArE,EAAyF,CAAzF,EAA4F,EAA5F,CAA7B;MACD,CAFD,MAEK;QACH,MAAI,CAACq9B,eAAL,SAA6B,MAAI,CAACf,eAAL,CAAqBqB,kCAArB,CAAwDjgC,IAAI,CAACsC,WAAL,EAAxD,EAA4E,CAA5E,EAA+E,EAA/E,CAA7B;MACD;;MACD,MAAI,CAACpC,eAAL,GAAuB,KAAvB;IATkB;EAUrB;;EAEKs/B,YAAY,CAACx/B,IAAD,EAAK;IAAA;;IAAA;MACnB,IAAI,CAACA,IAAL,EAAW,OAAQ,MAAI,CAACkgC,iBAAL,GAAyB,EAAjC;MACX,MAAI,CAACC,gBAAL,GAAwB,IAAxB;MACA,MAAI,CAACD,iBAAL,GAAyB,MAAI,CAACrB,cAAL,CAAoBuB,SAApB,CAA8B5yC,MAA9B,CAAqC2Q,CAAC,IAC7DA,CAAC,CAACzB,IAAF,CAAO6S,OAAP,CAAe,KAAf,EAAsB,EAAtB,EAA0BjN,WAA1B,GAAwCd,QAAxC,CAAiDxB,IAAI,CAACuP,OAAL,CAAa,KAAb,EAAoB,EAApB,EAAwBjN,WAAxB,EAAjD,CADuB,CAAzB;MAGA,MAAI,CAAC69B,gBAAL,GAAwB,KAAxB;IANmB;EAOtB;;EAEKE,WAAW,CAACrgC,IAAD,EAAK;IAAA;;IAAA;MAClB,IAAI,CAACA,IAAL,EAAW,OAAQ,MAAI,CAACsgC,gBAAL,GAAwB,EAAhC;MACX,MAAI,CAACC,eAAL,GAAuB,IAAvB;MACA,MAAI,CAACD,gBAAL,GAAwB,MAAI,CAACzB,cAAL,CAAoB2B,QAApB,CAA6BhzC,MAA7B,CAAoC2Q,CAAC,IAAIA,CAAC,CAACzB,IAAF,CAAO4F,WAAP,GAAqBd,QAArB,CAA8BxB,IAAI,CAACsC,WAAL,EAA9B,CAAzC,CAAxB;MACAjR,OAAO,CAACC,GAAR,CAAY,MAAI,CAACgvC,gBAAjB;MACA,MAAI,CAACC,eAAL,GAAuB,KAAvB;IALkB;EAMrB,CAhMwC,CAkMxC;;;EACAE,YAAY,CAACnsC,MAAD,EAAmB;IAC9B;IACA,KAAKosC,cAAL,GAAsBpsC,MAAtB,CAF8B,CAG9B;;IACA,KAAKqrC,eAAL,GAAuB,EAAvB;;IACA,IAAIrrC,MAAJ,EAAY;MACV;MACA,KAAK+qC,sBAAL,CAA4B//B,aAA5B,CAA0CC,KAA1C,GAAkDjL,MAAM,CAACgF,WAAzD;MACA,KAAKoiC,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0C2mB,QAA1C,CAAmDxnC,MAAM,CAACgF,WAA1D;MACA,KAAKoiC,gBAAL,CAAsBC,QAAtB,CAA+BP,qBAA/B,CAAqDU,QAArD,CAA8DxnC,MAAM,CAACqsC,iBAAP,CAAyBC,QAAzB,CAAkClvC,KAAhG;MACA,KAAKgqC,gBAAL,CAAsBC,QAAtB,CAA+BN,gBAA/B,CAAgDS,QAAhD,CAAyDxnC,MAAM,CAACusC,cAAP,CAAsBD,QAAtB,CAA+BlvC,KAAxF;MACA,KAAKoO,gBAAL,CAAsBxL,MAAM,CAACgF,WAA7B;MACA,KAAKsmC,SAAL,GAAiB,KAAjB;IACD,CARD,MASK;MACH,KAAKc,cAAL,GAAsB,IAAIltC,8DAAJ,EAAtB;MACA,KAAKkoC,gBAAL,CAAsBC,QAAtB,CAA+BP,qBAA/B,CAAqDU,QAArD,CAA8D,EAA9D;MACA,KAAKJ,gBAAL,CAAsBC,QAAtB,CAA+BN,gBAA/B,CAAgDS,QAAhD,CAAyD,EAAzD;MACA,KAAKh8B,gBAAL,CAAsB,KAAK47B,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0C5V,KAAhE;MACA,KAAKqgC,SAAL,GAAiB,IAAjB;IACD;;IACD,KAAKrB,mBAAL,CAAyBj+B,UAAzB,GAAsC,KAAKo7B,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0C5V,KAAhF;IACA,KAAKuhC,cAAL,GAAsB,IAAtB;EACD;;EAEDC,aAAa,CAACjvB,OAAD,EAAQ;IACnB,KAAKkvB,eAAL,GAAuBlvB,OAAvB;IACA,KAAKouB,iBAAL,GAAyB,EAAzB;IACA,KAAKe,iBAAL,GAAyB,IAAzB;IACA,KAAK1B,uBAAL,CAA6BjgC,aAA7B,CAA2CC,KAA3C,GAAmDuS,OAAO,CAACpV,IAA3D;IACA,KAAKg/B,gBAAL,CAAsBC,QAAtB,CAA+B7W,OAA/B,CAAuCgX,QAAvC,CAAgDhqB,OAAO,CAACpV,IAAxD;;IAEA,IAAIoV,OAAO,CAACpV,IAAR,KAAiB,QAArB,EAA+B;MAC7B,KAAKg/B,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0C+rB,OAA1C;MACE,KAAKC,KAAL,GAAa,IAAb;;MACA,KAAKhsC,QAAL,CAAcisC,oBAAd,CAAmC,MAAnC,EAA2C,CAA3C,EAA8CC,OAA9C,GAAyD/yC,KAAD,IAAsB;QAC1E,IAAIA,KAAK,CAACmR,MAAN,KAAiB,KAAKtK,QAAL,CAAc+Z,cAAd,CAA6B,kBAA7B,CAArB,EAAuE;UACnE,KAAKoxB,gBAAL,GAAwB,EAAxB;QACH;MACJ,CAJD;;MAMA,KAAKjE,aAAL,CAAmBzkC,IAAnB,CACIoH,gDAAS,CAAgB,KAAKsiC,sBAAL,CAA4BhiC,aAA5C,EAA2D,OAA3D,CAAT,CACK/P,IADL,CAEQsJ,oDAAG,CAACvK,KAAK,IAAKA,KAAK,CAACmR,MAAN,CAAkCF,KAA7C,CAFX,EAGQN,6DAAY,CAAC,GAAD,CAHpB,EAIQC,qEAAoB,EAJ5B,EAMK7Q,SANL,CAMesR,IAAI,IAAI,KAAK0gC,WAAL,CAAiB1gC,IAAjB,CANvB,CADJ;MAUA,KAAK+7B,gBAAL,CAAsBC,QAAtB,CAA+BR,KAA/B,CAAqCiE,aAArC,CAAmD,CAACxE,gEAAD,CAAnD;IAEH,CArBD,MAqBO;MACH,KAAKuG,KAAL,GAAa,KAAb;MACA,KAAKzF,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0CymB,MAA1C;IACH;EACF;;EAED2F,YAAY,CAACC,MAAD,EAAO;IACf,KAAKzB,cAAL,GAAsByB,MAAtB;IACA,KAAK3B,gBAAL,GAAwB,IAAxB;IACA,KAAKS,gBAAL,GAAwB,EAAxB;IACA,KAAK5E,gBAAL,CAAsBC,QAAtB,CAA+BxmB,UAA/B,CAA0CymB,MAA1C;IACA,KAAK0F,sBAAL,CAA4BhiC,aAA5B,CAA0CC,KAA1C,GAAkDiiC,MAAM,CAAC9kC,IAAzD;IACA,KAAKg/B,gBAAL,CAAsBC,QAAtB,CAA+BR,KAA/B,CAAqCW,QAArC,CAA8C0F,MAAM,CAAC9kC,IAArD;EACH;;EAGD6e,UAAU,CAACna,KAAD,EAAM;IACZ,KAAK4rB,aAAL,CAAmBtR,MAAnB,CAA0Bta,KAA1B,EAAiC,CAAjC;EACH;;EAEKypB,IAAI;IAAA;;IAAA;MACR,MAAMgS,KAAK,GAAIC,EAAD,IAAgB,IAAIrV,OAAJ,CAAY/nB,GAAG,IAAI3Q,UAAU,CAAC2Q,GAAD,EAAMo9B,EAAN,CAA7B,CAA9B;;MAEA,MAAI,CAACC,kBAAL;;MACA,MAAMF,KAAK,CAAC,IAAD,CAAX;MAEAxrC,OAAO,CAACC,GAAR,CAAY,WAAZ;;MACA,MAAI,CAACzF,MAAL,CAAY2E,aAAZ,CAA0B,oBAA1B;IAPQ;EAQT;;EAEDi7B,gBAAgB,CAAC/5B,KAAD,EAAM;IAClB,KAAKytC,WAAL,CAAiBzjB,MAAjB,CAAwB,KAAKyjB,WAAL,CAAiB7nB,OAAjB,CAAyB5lB,KAAzB,CAAxB,EAAyD,CAAzD;EACH;;EAED+vC,2BAA2B,CAACnzC,KAAD,EAAM;IAC/B,KAAKu8B,IAAL;EACD;;EAEKkS,kBAAkB;IAAA;;IAAA;MACpB,OAAI,CAAC2E,cAAL,GAAsB,IAAtB;MACA,MAAM3/B,eAAe,GAAG,OAAO,OAAI,CAACpW,WAAL,CAAiBK,cAAjB,EAAP,EAA0C+V,eAAlE;MACA,MAAM8I,mBAAmB,GAAG,EAA5B;;MACA,IAAI,OAAI,CAACm2B,eAAL,CAAqBtkC,IAArB,KAA8B,QAAlC,EAA4C,CAE3C;;MACD,MAAMilC,gCAAgC,GAAG,IAAIlD,6GAAJ,EAAzC;;MACA,IAAG,CAAC,OAAI,CAACmB,SAAT,EAAmB;QAEjB,MAAMiB,cAAc,GAAG,OAAI,CAACH,cAAL,CAAoBG,cAApB,CAAmCD,QAA1D;QACA,MAAMgB,UAAU,GAAG,OAAI,CAAClB,cAAL,CAAoBC,iBAApB,CAAsCC,QAAzD;;QACA,IAAGC,cAAc,CAACnvC,KAAf,IAAwB,EAA3B,EAA8B;UAC5BmwC,MAAM,CAACC,MAAP,CAAcH,gCAAgC,CAAC3F,cAA/C,EAA+D6E,cAA/D;UACAh2B,mBAAmB,CAACjT,IAApB,CAAyBipC,cAAc,CAACnvC,KAAxC;QACD;;QACD,IAAGkwC,UAAU,CAAClwC,KAAX,IAAoB,EAAvB,EAA0B;UACxBmwC,MAAM,CAACC,MAAP,CAAcH,gCAAgC,CAAC1F,iBAA/C,EAAkE2F,UAAlE;UACA/2B,mBAAmB,CAACjT,IAApB,CAAyBgqC,UAAU,CAAClwC,KAApC;QACD;MAEF;;MAED,IAAIX,MAAM,GAAG,IAAIskB,0DAAJ,EAAb;MACAtkB,MAAM,CAACwO,KAAP,GAAeqD,oEAAf,CAxBoB,CAyBpB;;MACA,IAAI4Q,QAAQ,GAAG,OAAI,CAAC+qB,mBAAL,CAAyBj+B,UAAxC;;MAEA,IAAI;QACA,OAAI,CAACquB,kBAAL,CAAwB6O,iBAAxB,CACIz7B,eADJ,EACqB,OAAI,CAACw8B,mBAAL,CAAyBj+B,UAD9C,EAEI,OAAI,CAAC0gC,eAAL,CAAqBtkC,IAFzB,EAE+B,OAAI,CAACgkC,cAAL,CAAoBjvC,EAFnD,EAGI,OAAI,CAAC8sC,mBAAL,CAAyB1tB,SAH7B,EAGwC,OAAI,CAAC0tB,mBAAL,CAAyB9sC,EAHjE,EAIIyc,IAAI,CAACoB,SAAL,CAAeqyB,gCAAf,CAJJ,EAIsD92B,mBAJtD,EAI0E9Z,MAJ1E,EAIiFyiB,QAJjF,EAI0F,OAAI,CAACwtB,eAAL,CAAqBe,SAJ/G,EAIyH,IAJzH;;QAMA,OAAI,CAAClnC,yBAAL,CAA+BnO,WAA/B,CAA2C,gDAA3C,EAA4FlB,iHAA5F;MACH,CARD,CAQE,OAAOyZ,CAAP,EAAU;QACR,OAAI,CAACpK,yBAAL,CAA+BnO,WAA/B,CAA2C,gDAA3C,EAA4FlB,+GAA5F;MACH;;MACD,OAAI,CAACk2C,cAAL,GAAsB,KAAtB;;MACA,OAAI,CAAChG,gBAAL,CAAsB9e,KAAtB;;MACA,OAAI,CAAC7c,WAAL;IAzCoB;EA0CvB;;AAxUwC;;;mBAA5B4+B,8BAA4B5xC,gEAAAA,CAAAA,uFAAAA,GAAAA,gEAAAA,CAAAA,mGAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,sEAAAA,GAAAA,gEAAAA,CAwD7BqxC,sDAxD6B,GAwDrBrxC,gEAAAA,CAAAA,4GAAAA,GAAAA,gEAAAA,CAAAA,6DAAAA,GAAAA,gEAAAA,CAAAA,uHAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,2FAAAA,GAAAA,gEAAAA,CAAAA,6EAAAA,GAAAA,gEAAAA,CAAAA,qFAAAA;AAAA;;;QAxDP4xC;EAA4B7rC;EAAAkH;IAAA;;;;;;;;;;;;;;;;;;;MC3BzCjN,6DAAAA,kBAA4B,CAA5B,EAA4B,QAA5B,EAA4B,CAA5B;MAEiCA,yDAAAA;QAAA,OAASwN,mBAAT;MAAwB,CAAxB;MAA0BxN,qDAAAA;MAAIA,2DAAAA;MAE3DA,6DAAAA;MAAIA,qDAAAA;MAAoCA,2DAAAA;MAG1CA,6DAAAA,kBAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,MAAtC,EAAsC,CAAtC,EAAsC,CAAtC,EAAsC,KAAtC,EAAsC,CAAtC,EAAsC,EAAtC,EAAsC,OAAtC,EAAsC,CAAtC;MAO+BA,qDAAAA;MAAOA,2DAAAA;MAC5BA,6DAAAA;MACEA,wDAAAA;MACAA,yDAAAA;MAKAA,yDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAmD,EAAnD,EAAmD,SAAnD,EAAmD,EAAnD,EAAmD,EAAnD,EAAmD,OAAnD,EAAmD,EAAnD;MAGuBA,qDAAAA;MAAKA,2DAAAA;MACxBA,wDAAAA;MACAA,yDAAAA;MAKAA,yDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAwD,EAAxD,EAAwD,OAAxD,EAAwD,EAAxD;MAC0BA,qDAAAA;MAAWA,2DAAAA;MACnCA,6DAAAA;MACIA,wDAAAA;MACAA,yDAAAA;MAOAA,yDAAAA;MAKJA,2DAAAA;MACAA,6DAAAA,UAAG,EAAH,EAAG,OAAH;MAAUA,qDAAAA;MAA8KA,2DAAAA;MAG1LA,6DAAAA,gBAA8C,EAA9C,EAA8C,OAA9C,EAA8C,EAA9C;MACgCA,qDAAAA;MAAiBA,2DAAAA;MAC/CA,6DAAAA;MACEA,wDAAAA;MACFA,2DAAAA;MAGFA,6DAAAA,gBAAmD,EAAnD,EAAmD,OAAnD,EAAmD,EAAnD;MACqCA,qDAAAA;MAAsBA,2DAAAA;MACzDA,6DAAAA;MACEA,wDAAAA;MACFA,2DAAAA;MAUVA,yDAAAA;MA8BAA,6DAAAA,YAAK,EAAL,EAAK,QAAL,EAAK,EAAL;MACUA,yDAAAA;QAAA,OAASwN,UAAT;MAAe,CAAf;MACNxN,yDAAAA;MACEA,qDAAAA;MACJA,2DAAAA;MAEHA,yDAAAA;;;;MA1GaA,wDAAAA;MAAAA,yDAAAA;MAMKA,wDAAAA;MAAAA,yDAAAA;MAKGA,wDAAAA;MAAAA,yDAAAA;MAIPA,wDAAAA;MAAAA,yDAAAA;MAKIA,wDAAAA;MAAAA,yDAAAA;MAKGA,wDAAAA;MAAAA,yDAAAA;MAQDA,wDAAAA;MAAAA,yDAAAA;MAOCA,wDAAAA;MAAAA,yDAAAA;MA8BdA,wDAAAA;MAAAA,yDAAAA;MA+BqBA,wDAAAA;MAAAA,yDAAAA;MAChBA,wDAAAA;MAAAA,yDAAAA;MAINA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrHPA,uDAAAA;;;;;;IAEAA,uDAAAA;;;;;IAAqCA,wDAAAA,0BAAiB,iBAAjB,EAAiBqd,sBAAjB,EAAiB,mBAAjB,EAAiBA,wBAAjB,EAAiB,YAAjB,EAAiBA,iBAAjB,EAAiB,SAAjB,EAAiBA,6BAAjB,EAAiB,QAAjB,EAAiBA,aAAjB,EAAiB,uBAAjB,EAAiB,KAAjB;;;;;;IAGrCrd,uDAAAA;;;;ACMM,MAAOi1C,8BAAP,CAAqC;EAWzC;EACAt2C,YAAoBkP,cAApB,EAA2DogC,sBAA3D,EAA+GlgC,cAA/G,EAA6I;IAAzH;IAAuC;IAAoD;IAJ/G,iBAAqB,KAArB;IAKE,KAAKkgC,sBAAL,CAA4BlM,UAA5B,GAAyC,IAAzC;EACD,CAdwC,CAgBzC;;;EACM7gC,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC4tC,SAAL,GAAiB,IAAjB;MAEA,KAAI,CAAC3gC,MAAL,GAAc,KAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,IAA1C,CAAd;MACA,KAAI,CAAC6P,IAAL,SAAkB,KAAI,CAAC8vB,sBAAL,CAA4BS,cAA5B,CAA2C,KAAI,CAACvgC,MAAhD,CAAlB;MACA,KAAI,CAACJ,cAAL,CAAoBoQ,IAApB,GAA2B,KAAI,CAACA,IAAhC;MACA,KAAI,CAAC5K,UAAL,GAAkB,KAAI,CAAC4K,IAAL,CAAUpM,KAA5B;MACA,KAAI,CAAC/N,MAAL,GAAc,KAAI,CAACma,IAAL,CAAUna,MAAV,CAAiBwO,KAA/B;MAEA,IAAI00B,cAAc,GAAG,KAAI,CAAC/oB,IAAL,CAAUxI,aAA/B;MACA,KAAI,CAACX,eAAL,GAAuBkyB,cAAc,EAAExiC,EAAvC;MACA,KAAI,CAACogB,iBAAL,GAAyBoiB,cAAc,EAAE36B,WAAzC;MAEA,KAAI,CAACwB,cAAL,CAAoBqQ,UAApB,SAAuC,KAAI,CAACrQ,cAAL,CAAoBsQ,qBAApB,CAA0C,KAAI,CAACF,IAAL,CAAUzZ,EAApD,CAAvC;MACA,KAAI,CAACqJ,cAAL,CAAoBgS,eAApB,SAA4C,KAAI,CAAChS,cAAL,CAAoBopB,iCAApB,CAAsD,KAAI,CAAChZ,IAAL,CAAUzZ,EAAhE,CAA5C;MAEA,KAAI,CAACoqC,SAAL,GAAiB,KAAjB;IAhBY;EAiBb;;AAlCwC;;;mBAA9BmG,gCAA8Bj1C,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,oFAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAA9Bi1C;EAA8BlvC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MDX3CnG,wDAAAA;MAEAA,wDAAAA;MAGAA,wDAAAA;;;;MALyBA,wDAAAA;MAENA,uDAAAA;MAAAA,wDAAAA;MAGGA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEDtB;AACA;;;;;;;AAMM,MAAOk1C,4BAAP,CAAmC;EAavCv2C,YAAoBC,WAApB,EAAsD6e,YAAtD,EAAyE;IAArD;IAAkC;IAXtD,eAAU,cAAV;IAES,YAAe,CAAf;IACA,gBAAmB,CAAnB;IAGT,mBAAuB,KAAvB;IAEA,YAAOgD,mEAAP;IACA,cAASD,qEAAT;IACA,eAAgD,CAAC;MAAEK,IAAI,EAAE,MAAR;MAAgBC,QAAQ,EAAE;IAA1B,CAAD,EAAsC;MAAED,IAAI,EAAE,gBAAR;MAA0BC,QAAQ,EAAE;IAApC,CAAtC,EAAqF;MAAED,IAAI,EAAE,UAAR;MAAoBC,QAAQ,EAAE;IAA9B,CAArF,EAAoI;MAAED,IAAI,EAAE,QAAR;MAAkBC,QAAQ,EAAE;IAA5B,CAApI,EAA2K;MAACD,IAAI,EAAE,YAAP;MAAqBC,QAAQ,EAAC;IAA9B,CAA3K,CAAhD;EAC8E;;EAExE5f,QAAQ;IAAA;;IAAA;MACZ,KAAI,CAAC+M,cAAL,SAA4B,KAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA5B,CADY,CAGZ;;MACA,KAAI,CAAC8P,YAAL,CAAkByC,QAAlB,CAA2B,yBAA3B;;MACA,KAAI,CAACc,yBAAL,GAAiC,KAAI,CAACvD,YAAL,CAAkB1J,QAAlB,KAA+B,cAAhE;MACA,KAAI,CAACwV,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,KAAI,CAACsb,YAAL,GAAoB,KAAI,CAACtb,cAAL,GAAsB,IAAtB,GAA6B,CAAjD;MACA,IAAIiT,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWjgB,YAAY,CAACM,OAAb,CAAqB,KAAI,CAACuf,yBAA1B,CAAX,CAAlB;;MAEA,KAAI,CAACK,sBAAL,CAA4BH,WAA5B;IAVY;EAWb;;EAEDG,sBAAsB,CAAC7O,KAAD,EAAM;IAC1B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBrR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe,KAAKtB,WAApB,CAArD;IACD,CAFD,MAEO;MACL,KAAKA,WAAL,GAAmBzO,KAAnB;MACArR,YAAY,CAACO,OAAb,CAAqB,KAAKsf,yBAA1B,EAAqDG,IAAI,CAACoB,SAAL,CAAe/P,KAAf,CAArD;IACD;EACF;;AAnCsC;;;mBAA5B0iC,8BAA4Bl1C,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAA5Bk1C;EAA4BnvC;EAAAsH;IAAA3D;IAAAK;EAAA;EAAA/D;EAAAC;EAAAC;EAAAC;IAAA;MCXzCnG,4DAAAA,cAA4C,CAA5C,EAA4C,OAA5C,EAA4C,CAA5C;MAEIA,uDAAAA;MACAA,4DAAAA;MAAuBA,wDAAAA;QAAA,OAASwN,4CAAT;MAAkD,CAAlD,EAAmD,eAAnD,EAAmD;QAAA;MAAA,CAAnD;MAAvBxN,0DAAAA;MACAA,uDAAAA,eAA4B,CAA5B,EAA4B,SAA5B,EAA4B,CAA5B;MAEFA,0DAAAA;MAEFA,uDAAAA;;;;MANaA,uDAAAA;MAAAA,wDAAAA;MACmEA,uDAAAA;MAAAA,wDAAAA;MAEnEA,uDAAAA;MAAAA,wDAAAA;MAGSA,uDAAAA;MAAAA,wDAAAA,yBAAmB,iBAAnB,EAAmB,KAAnB,EAAmB,WAAnB,EAAmB,KAAnB,EAAmB,OAAnB,EAAmB,eAAnB,EAAmB,SAAnB,EAAmBwN,WAAnB,EAAmB,eAAnB,EAAmB,IAAnB,EAAmB,UAAnB,EAAmB,EAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmBA,eAAnB;;;;;;;;;;;;;;;;;;;;;;ACDf,MAAM,wBAAwB;IAEnC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;gGALU,wBAAwB;sHAAxB,wBAAwB;QCPrC,oEAAG;QAAA,kFAAuB;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;;ACI9B;;;;AAOM,MAAO4nC,2BAAP,CAAkC;EAKtCz2C,YAAoB02C,WAApB,EAAsDv2C,MAAtD,EAAoE;IAAhD;IAAkC;IAHtD,kBAAqB,EAArB;EAGyE;;EAEzEoC,QAAQ;IACN;IACA;IACA;IAEA;IACA,MAAMo0C,KAAK,GAAGltC,QAAQ,CAAC+Z,cAAT,CAAwB,SAAxB,CAAd,CANM,CAON;;IACA,KAAKozB,SAAL,GAAiBntC,QAAQ,CAAC+Z,cAAT,CAAwB,WAAxB,CAAjB,CARM,CASN;;IACA,KAAKqzB,cAAL,GAAsBptC,QAAQ,CAAC+Z,cAAT,CAAwB,gBAAxB,CAAtB,CAVM,CAYN;;IACAmzB,KAAK,CAAClmC,KAAN,CAAYC,OAAZ,GAAsB,OAAtB,CAbM,CAcN;;IACA,KAAKmmC,cAAL,CAAoBC,gBAApB,CAAqC,QAArC,EAA8C,MAAI;MAAC,KAAKF,SAAL,CAAepH,QAAf,GAA0B,CAAC,KAAKqH,cAAL,CAAoBE,OAA/C;IAAwD,CAA3G,EAfM,CAiBN;EAED;;EAEKC,uBAAuB;IAAA;;IAAA;MAC3B,IAAIC,OAAO,GAAG,IAAInnC,IAAJ,CAAS,IAAIA,IAAJ,GAAWonC,WAAX,EAAT,CAAd;MAEA,IAAIC,OAAO,GAAG,IAAIX,2DAAJ,EAAd;MACAW,OAAO,CAACvyC,QAAR,GAAmB,IAAnB;MACAuyC,OAAO,CAACC,YAAR,GAAuBH,OAAvB;MAEA,IAAInjB,MAAM,SAAS,KAAI,CAAC4iB,WAAL,CAAiBW,gBAAjB,EAAnB;MACA,IAAIC,OAAO,SAAS,KAAI,CAACZ,WAAL,CAAiBa,UAAjB,CAA4BzjB,MAA5B,EAAoCqjB,OAApC,EAA6CA,OAA7C,CAApB;;MAEA,IAAI30C,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAJ,EAAyC;QACvC,KAAI,CAAC00C,UAAL,GAAkBh1C,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAlB;QACAN,YAAY,CAACC,UAAb,CAAwB,aAAxB;MACD;;MAED,KAAI,CAACtC,MAAL,CAAY2E,aAAZ,CAA0B,KAAI,CAAC0yC,UAA/B;IAf2B;EAgB5B;;EAEDC,uBAAuB;IACrB,KAAKf,WAAL,CAAiBjyC,MAAjB;EACD;;AAhDqC;;;mBAA3BgyC,6BAA2Bp1C,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAA3Bo1C;EAA2BrvC;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCXxCnG,4DAAAA,cAAgC,CAAhC,EAAgC,KAAhC,EAAgC,CAAhC,EAAgC,CAAhC,EAAgC,IAAhC;MAEYA,oDAAAA;MAAoBA,0DAAAA;MAExBA,4DAAAA,SAAG,CAAH,EAAG,GAAH,EAAG,CAAH;MAAgIA,oDAAAA;MAAcA,0DAAAA;MAC9IA,4DAAAA,SAAG,CAAH,EAAG,GAAH,EAAG,CAAH;MAA4IA,oDAAAA;MAAkBA,0DAAAA;MAE9JA,4DAAAA;MAAOA,uDAAAA;MAA2CA,4DAAAA;MAAGA,oDAAAA;MAAiCA,0DAAAA;MAC1FA,uDAAAA;MACIA,4DAAAA;MAAgHA,wDAAAA;QAAA,OAASwN,6BAAT;MAAkC,CAAlC;MAAoCxN,oDAAAA;MAAMA,0DAAAA;MAC1JA,4DAAAA;MAAuFA,wDAAAA;QAAA,OAASwN,6BAAT;MAAkC,CAAlC;MAAoCxN,oDAAAA;MAAMA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;ACFlI,MAAM,qBAAqB;IAEhC,cAAc;IACd,YAAmB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAEhD,gBAAgB;IAChB,QAAQ;IACR,CAAC;;0FAPU,qBAAqB;mHAArB,qBAAqB;QCRlC,yEAAoC;QAC5B,sKAA2G;QAAA,4DAAK;QACrH,yEAA6D;QAAS,6IAAS,wBAAoB,IAAC;QAE/F,uEAAM;QAAA,kEAAO;QAAA,4DAAO;;;;;;;;;;;;;;;;;;;;;;;ACEtB,MAAOq2C,eAAP,CAAsB;EAE1B;EACA13C,YAAoB23C,cAApB,EAAkD;IAA9B;EAAmC,CAH7B,CAK1B;;;EACMxL,cAAc,CAACpmC,EAAD,EAAW;IAAA;;IAAA;MAC7B,aAAa,KAAI,CAAC4xC,cAAL,CAAoBxL,cAApB,CAAmCpmC,EAAnC,EAAuCq/B,SAAvC,EAAb;IAD6B;EAE9B,CARyB,CAU1B;;;EACMwS,iBAAiB,CAAC5mC,IAAD,EAAejG,IAAf,EAA6BK,QAA7B,EAA6C;IAAA;;IAAA;MAElE,aAAa,MAAI,CAACusC,cAAL,CAAoBE,kBAApB,CAAuC7mC,IAAvC,EAA6CjG,IAA7C,EAAmDK,QAAnD,EAA6Dg6B,SAA7D,EAAb;IAFkE;EAGnE;;EACKgP,kBAAkB,CAAC0D,KAAD,EAAgB9mC,IAAhB,EAA6BjG,IAA7B,EAA2CK,QAA3C,EAA2D;IAAA;;IAAA;MAEjF,aAAa,MAAI,CAACusC,cAAL,CAAoBI,mBAApB,CAAwCD,KAAxC,EAA+C9mC,IAA/C,EAAqDjG,IAArD,EAA2DK,QAA3D,EAAqEg6B,SAArE,EAAb;IAFiF;EAGlF,CAlByB,CAoB1B;;;EACMmP,kCAAkC,CAACvjC,IAAD,EAAejG,IAAf,EAA6BK,QAA7B,EAA6C;IAAA;;IAAA;MAEnF,aAAa,MAAI,CAACusC,cAAL,CAAoBK,mCAApB,CAAwDhnC,IAAxD,EAA8DjG,IAA9D,EAAoEK,QAApE,EAA8Eg6B,SAA9E,EAAb;IAFmF;EAGpF,CAxByB,CA0B1B;;;EACMv6B,mBAAmB,CAACotC,aAAD,EAAsB;IAAA;;IAAA;MAC7C,aAAa,MAAI,CAACN,cAAL,CAAoB9sC,mBAApB,CAAwCotC,aAAxC,EAAuD7S,SAAvD,EAAb;IAD6C;EAE9C,CA7ByB,CA+B1B;;;EACMj6B,uBAAuB,CAAC8sC,aAAD,EAAwBltC,IAAxB,EAAsCK,QAAtC,EAAwDC,UAAxD,EAA4EC,aAA5E,EAAiG;IAAA;;IAAA;MAC5H,aAAa,MAAI,CAACqsC,cAAL,CAAoBxsC,uBAApB,CAA4C8sC,aAA5C,EAA2D3sC,aAA3D,EAA0ED,UAA1E,EAAsFN,IAAtF,EAA4FK,QAA5F,EAAsGg6B,SAAtG,EAAb;IAD4H;EAE7H;;AAlCyB;;;mBAAfsS,iBAAer2C,sDAAAA,CAAAA,kEAAAA;AAAA;;;SAAfq2C;EAAep2C,SAAfo2C,eAAe;EAAAn2C,YAFd;;;;;;;;;;;;;;;;;;;;;;ACDd;;;;;AAOM,MAAO22C,kBAAP,CAAyB;EAK7B;EACAl4C,YAAoBm4C,iBAApB,EAAkEh4C,MAAlE,EAA0Fi4C,wBAA1F,EAA6I;IAAzH;IAA8C;IAAwB;EAAwD,CANrH,CAQ7B;;;EACM5tB,iBAAiB,CAAClB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MACvH;MACA,aAAa,KAAI,CAAC+sC,iBAAL,CAAuB3tB,iBAAvB,CAAyClB,eAAe,CAACgvB,EAAzD,EACXhvB,eAAe,CAACivB,QADL,EAEXjvB,eAAe,CAAC+P,KAFL,EAGX/P,eAAe,CAACkvB,QAHL,EAIXlvB,eAAe,CAACmvB,WAJL,EAKXnvB,eAAe,CAACM,SALL,EAMXN,eAAe,CAAC4Y,eANL,EAOX5Y,eAAe,CAACE,QAPL,EAQXF,eAAe,CAAC8P,OARL,EASX9P,eAAe,CAACK,MATL,EAUXL,eAAe,CAACG,UAVL,EAWXH,eAAe,CAACC,gBAXL,EAYXD,eAAe,CAACI,YAZL,EAaXJ,eAAe,CAACovB,eAbL,EAcXpvB,eAAe,CAACO,WAdL,EAeXP,eAAe,CAACqvB,WAfL,EAgBXrvB,eAAe,CAACkb,KAhBL,EAiBX6T,aAjBW,EAiBIttC,IAjBJ,EAiBUK,QAjBV,EAiBoBg6B,SAjBpB,EAAb;IAFuH;EAoBxH,CA7B4B,CA+B7B;;;EACMiD,kBAAkB,CAACtiC,EAAD,EAAW;IAAA;;IAAA;MACjC,IAAI;QACF;QACA,MAAI,CAACif,iBAAL,SAA+B,MAAI,CAACmzB,iBAAL,CAAuB9P,kBAAvB,CAA0CtiC,EAA1C,EAA8Cq/B,SAA9C,EAA/B,CAFE,CAGF;;QACA,OAAO,MAAI,CAACpgB,iBAAZ;MACD,CALD,CAMA,OAAOtf,KAAP,EAAc;QACZ,MAAI,CAACvF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;UAAEwgB,kBAAkB,EAAE;QAAtB,CAA/B;MACD;IATgC;EAUlC;;EAEKmJ,QAAQ,CAACnB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MAC9G,OAAO,MAAI,CAAC+sC,iBAAL,CAAuB1tB,QAAvB,CACLnB,eAAe,CAACgvB,EADX,EAELhvB,eAAe,CAACivB,QAFX,EAGLjvB,eAAe,CAAC+P,KAHX,EAIL/P,eAAe,CAACkvB,QAJX,EAKLlvB,eAAe,CAACmvB,WALX,EAMLnvB,eAAe,CAACM,SANX,EAOLN,eAAe,CAAC4Y,eAPX,EAQL5Y,eAAe,CAACE,QARX,EASLF,eAAe,CAAC8P,OATX,EAUL9P,eAAe,CAACK,MAVX,EAWLL,eAAe,CAACG,UAXX,EAYLH,eAAe,CAACC,gBAZX,EAaLD,eAAe,CAACI,YAbX,EAcLJ,eAAe,CAACovB,eAdX,EAeLpvB,eAAe,CAACO,WAfX,EAgBLP,eAAe,CAACqvB,WAhBX,EAiBLrvB,eAAe,CAACkb,KAjBX,EAkBL6T,aAlBK,EAmBLttC,IAnBK,EAoBLK,QApBK,EAoBKg6B,SApBL,EAAP,CAD8G,CAsB9G;IAtB8G;EAuB/G,CAnE4B,CAqE7B;;;EACMrf,uBAAuB,CAACvG,IAAD,EAAqB;IAAA;;IAAA;MAChD,IAAI;QACF;QACA,MAAM,MAAI,CAAC24B,iBAAL,CAAuBS,MAAvB,CAA8Bp5B,IAA9B,EAAoC4lB,SAApC,EAAN;QACA,OAAO,IAAP;MACD,CAJD,CAKA,OAAO1/B,KAAP,EAAc;QACZ,IAAIA,KAAK,CAACL,MAAN,IAAgB,GAApB,EAAyB;UACvB,MAAI,CAAC+yC,wBAAL,CAA8Bp3C,WAA9B,CAA0C,mDAA1C,EAA+FlB,+FAA/F;;UACA,OAAO,KAAP;QACD;MACF;IAX+C;EAYjD;;EAEKgR,YAAY,CAACtB,MAAD,EAAiBqpC,MAAjB,EAAiCC,gBAAjC,EAA0D;IAAA;;IAAA;MAC1E,aAAa,MAAI,CAACX,iBAAL,CAAuBrnC,YAAvB,CAAoCtB,MAApC,EAA4CqpC,MAA5C,EAAoDzT,SAApD,EAAb;IAD0E;EAE3E;;EAEK2T,oBAAoB,CAACvpC,MAAD,EAAe;IAAA;;IAAA;MACvC,OAAO,MAAI,CAAC2oC,iBAAL,CAAuBa,0BAAvB,CAAkDxpC,MAAlD,EAA0D41B,SAA1D,EAAP;IADuC;EAExC;;EAEKzL,gBAAgB,CAAC5zB,EAAD,EAAaV,MAAb,EAA2B;IAAA;;IAAA;MAC/C,aAAa,MAAI,CAAC8yC,iBAAL,CAAuBxe,gBAAvB,CAAwC5zB,EAAxC,EAA4CV,MAA5C,EAAoD+/B,SAApD,EAAb;IAD+C;EAEhD;;EAEKn1B,oBAAoB,CAACT,MAAD,EAAiBU,QAAjB,EAAiC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAACioC,iBAAL,CAAuBloC,oBAAvB,CAA4CT,MAA5C,EAAoDU,QAApD,EAA8Dk1B,SAA9D,EAAb;IADyD;EAE1D;;EAEKsG,UAAU,CAAClsB,IAAD,EAA2B;IAAA;;IAAA;MACzC,aAAa,MAAI,CAAC24B,iBAAL,CAAuBS,MAAvB,CAA8Bp5B,IAA9B,EAAoC4lB,SAApC,EAAb;IADyC;EAE1C;;AAtG4B;;;mBAAlB8S,oBAAkB72C,sDAAAA,CAAAA,qEAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,uGAAAA;AAAA;;;SAAlB62C;EAAkB52C,SAAlB42C,kBAAkB;EAAA32C,YAHjB;;;;;;;;;;;;;;;;;;;;;;ACDR,MAAO03C,cAAP,CAAqB;EAEzB;EACAj5C,YAAoB23C,cAApB,EAA4DuB,oBAA5D,EAAsG;IAAlF;IAAwC;EAA+C,CAHlF,CAKzB;;;EACMzkC,gBAAgB,CAACzD,IAAD,EAAemoC,UAAf,EAAmC/tC,QAAnC,EAAmD;IAAA;;IAAA;MACvE,aAAa,KAAI,CAACusC,cAAL,CAAoByB,oBAApB,CAAyCpoC,IAAzC,EAA+CmoC,UAA/C,EAA2D/tC,QAA3D,EAAqEg6B,SAArE,EAAb;IADuE;EAExE,CARwB,CAUzB;;;EACMiU,eAAe,CAACzkC,UAAD,EAAqBG,QAArB,EAAsC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAAC4iC,cAAL,CAAoB2B,iBAApB,CAAsCvkC,QAAtC,EAA+CH,UAA/C,EAA2DwwB,SAA3D,EAAb;IADyD;EAE1D,CAbwB,CAezB;;;EACM94B,mBAAmB,CAACxB,qBAAD,EAA8B;IAAA;;IAAA;MACrD,aAAa,MAAI,CAAC6sC,cAAL,CAAoB4B,0CAApB,CAA+DzuC,qBAA/D,EAAsFs6B,SAAtF,EAAb;IADqD;EAEtD,CAlBwB,CAoBzB;;;EACM35B,kBAAkB,CAAC+tC,SAAD,EAAoBL,UAApB,EAAyC/tC,QAAzC,EAA0D;IAAA;;IAAA;MAChF,aAAa,MAAI,CAAC8tC,oBAAL,CAA0BO,wBAA1B,CAAmDD,SAAnD,EAA8DL,UAA9D,EAA0E/tC,QAA1E,EAAoFg6B,SAApF,EAAb;IADgF;EAEjF,CAvBwB,CAyBzB;;;EACMv4B,6BAA6B,CAAC2sC,SAAD,EAAoBL,UAApB,EAAyC/tC,QAAzC,EAA0D;IAAA;;IAAA;MAC3F,aAAa,MAAI,CAAC8tC,oBAAL,CAA0BQ,mCAA1B,CAA8DF,SAA9D,EAAyEL,UAAzE,EAAqF/tC,QAArF,EAA+Fg6B,SAA/F,EAAb;IAD2F;EAE5F,CA5BwB,CA8BzB;;;EACMoH,2BAA2B,CAACgN,SAAD,EAAoBzvC,IAApB,EAAgC;IAAA;;IAAA;MAC/D,aAAa,MAAI,CAACmvC,oBAAL,CAA0BS,iCAA1B,CAA4DH,SAA5D,EAAuEzvC,IAAvE,EAA6Eq7B,SAA7E,EAAb;IAD+D;EAEhE,CAjCwB,CAmCzB;;;EACMl8B,kBAAkB,CAACC,YAAD,EAAqB;IAAA;;IAAA;MAC3C,aAAa,MAAI,CAAC+vC,oBAAL,CAA0BU,qBAA1B,CAAgDzwC,YAAhD,EAA8Di8B,SAA9D,EAAb;IAD2C;EAE5C;;EACKyU,aAAa,CAAC9kC,QAAD,EAAgB;IAAA;;IAAA;MACjC,aAAa,MAAI,CAAC4iC,cAAL,CAAoBxL,cAApB,CAAmCp3B,QAAnC,EAA6CqwB,SAA7C,EAAb;IADiC;EAElC;;AAzCwB;;;mBAAd6T,gBAAc53C,sDAAAA,CAAAA,2DAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA;AAAA;;;SAAd43C;EAAc33C,SAAd23C,cAAc;EAAA13C,YAFb;;;;;;;;;;;;;;;;;;;;;ACFd;;;AAQM,MAAO2W,cAAP,CAAqB;EAmBzBlY,YAAoB85C,cAApB,EAAkD;IAA9B;IAlBpB,8BAAyB,IAAIj4C,yCAAJ,EAAzB;IACA,8BAAyB,KAAKylC,sBAAL,CAA4ByS,YAA5B,EAAzB;IACA,+BAA0B,IAAIl4C,yCAAJ,EAA1B;IACA,+BAA0B,KAAK4zB,uBAAL,CAA6BskB,YAA7B,EAA1B;IAEA,0BAAqB,IAAIl4C,yCAAJ,EAArB;IACA,iCAA4B,IAAIA,yCAAJ,EAA5B;IACA,wBAAmB,IAAIA,yCAAJ,EAAnB;IACA,gCAA2B,IAAIA,yCAAJ,EAA3B;IAGA,gBAAyB,EAAzB;IACA,wBAAiC,EAAjC;IAIA,+BAAoC,EAApC;EAGC;;EAEK6d,qBAAqB,CAAClQ,MAAD,EAAe;IAAA;;IAAA;MACxC,KAAI,CAACiQ,UAAL,SAAwB,KAAI,CAACq6B,cAAL,CAAoBnqC,GAApB,CAAwBH,MAAxB,EAAgC41B,SAAhC,EAAxB;MACA,KAAI,CAACvsB,QAAL,GAAgB,KAAI,CAAC4G,UAAL,CAAgB5G,QAAhB,CAAyBmhC,OAAzB,GAAmCl4C,MAAnC,CAA0C2Q,CAAC,IAAIA,CAAC,CAAC2S,SAAF,IAAe,KAA9D,CAAhB;MACA,OAAO,KAAI,CAAC3F,UAAZ;IAHwC;EAIzC;;EAEK+Y,iCAAiC,CAACnD,YAAD,EAAqB;IAAA;;IAAA;MAC1D,aAAa,MAAI,CAACykB,cAAL,CAAoBG,4BAApB,CAAiD5kB,YAAjD,EAA+D+P,SAA/D,EAAb;IAD0D;EAE3D;;EAEK9M,6BAA6B,CAACjD,YAAD,EAAuBpW,iBAAvB,EAAsEE,mBAAtE,EAAuHD,wBAAvH,EAA2K;IAAA;;IAAA;MAC5M,aAAa,MAAI,CAAC46B,cAAL,CAAoBI,8BAApB,CAAmD7kB,YAAnD,EAAiEpW,iBAAjE,EAAoFE,mBAApF,EAAyGD,wBAAzG,EAAmIkmB,SAAnI,EAAb;IAD4M;EAE7M;;EAEKpe,UAAU,CAACmzB,aAAD,EAA6B;IAAA;;IAAA;MAC3C,IAAIhhC,OAAO,SAAS,MAAI,CAAC2gC,cAAL,CAAoB1G,MAApB,CAA2B+G,aAAa,CAAC3qC,MAAzC,EAClB2qC,aAAa,CAAC9hB,wBADI,EAElB8hB,aAAa,CAACj0B,WAFI,EAGlBi0B,aAAa,CAACvlC,UAHI,EAIlBulC,aAAa,CAACh0B,iBAJI,EAKlBg0B,aAAa,CAAC/zB,OALI,EAMlB+zB,aAAa,CAACnhB,SANI,EAOlBmhB,aAAa,CAAC9zB,KAPI,EAQlB8zB,aAAa,CAACl0B,OARI,EASlBk0B,aAAa,CAAC9hC,IATI,EAUlB8hC,aAAa,CAAC/0B,SAVI,EAWlB+0B,aAAa,CAAC7zB,QAXI,EAYlB6zB,aAAa,CAAC5zB,UAZI,EAalB4zB,aAAa,CAAC3zB,WAbI,EAclB2zB,aAAa,CAACzzB,qBAdI,EAelByzB,aAAa,CAACvzB,gBAfI,EAgBlBuzB,aAAa,CAACrzB,kBAhBI,EAgBgBse,SAhBhB,EAApB;;MAkBA,IAAIjsB,OAAJ,EAAa;QACX,MAAI,CAACiI,eAAL,SAA6B,MAAI,CAACg5B,0BAAL,CAAgCD,aAAa,CAAC3qC,MAA9C,CAA7B;MACD;;MAED,IAAI2J,OAAO,CAAC3N,WAAR,EAAqBrF,MAArB,GAA8B,CAAlC,EAAqC;QACnC,MAAI,CAACuf,yBAAL,CAA+BjgB,IAA/B,CAAoC0T,OAAO,CAAC3N,WAA5C;MACD;;MAED,MAAI,CAACg1B,iBAAL,CAAuBrnB,OAAvB;;MAEA,OAAOA,OAAP;IA7B2C;EA8B5C;;EAEKrI,YAAY,CAACtB,MAAD,EAAiB6lB,YAAjB,EAAuCwjB,MAAvC,EAAqD;IAAA;;IAAA;MACrE,aAAa,MAAI,CAACiB,cAAL,CAAoBhpC,YAApB,CAAiCtB,MAAjC,EAAyC6lB,YAAzC,EAAuDwjB,MAAvD,EAA+DzT,SAA/D,EAAb;IADqE;EAEtE;;EAEK3O,aAAa,CAACjnB,MAAD,EAAiB0B,SAAjB,EAAkC;IAAA;;IAAA;MAEnD,MAAM,MAAI,CAAC4oC,cAAL,CAAoBO,MAApB,CAA2B7qC,MAA3B,EAAmC0B,SAAnC,EAA8Ck0B,SAA9C,EAAN;;MACA,IAAI1vB,KAAK,GAAG,MAAI,CAACoD,gBAAL,CAAsB4c,SAAtB,CAAgCjjB,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQmL,SAA7C,CAAZ;;MACA,MAAI,CAAC4H,gBAAL,CAAsBkX,MAAtB,CAA6Bta,KAA7B,EAAoC,CAApC;;MACA,MAAI,CAAC6P,kBAAL,CAAwB9f,IAAxB,CAA6ByL,SAA7B;IALmD;EAMpD;;EAEKopC,cAAc,CAAC9qC,MAAD,EAAiB+qC,gBAAjB,EAAuC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAACT,cAAL,CAAoBlB,MAApB,CAA2BppC,MAA3B,EAAmC+qC,gBAAnC,EAAqDnV,SAArD,EAAb;IADyD;EAE1D;;EAEKgV,0BAA0B,CAAC5qC,MAAD,EAAe;IAAA;;IAAA;MAC7C,IAAIgrC,qBAAqB,SAAS,MAAI,CAACV,cAAL,CAAoBW,2BAApB,CAAgDjrC,MAAhD,EAAwD41B,SAAxD,EAAlC;;MACA,MAAI,CAAClN,wBAAL,CAA8BzyB,IAA9B,CAAmC+0C,qBAAnC;;MACA,OAAOA,qBAAP;IAH6C;EAI9C;;EAEKv/B,aAAa,CAACzL,MAAD,EAAiB0L,YAAjB,EAAuCiK,SAAvC,EAAwD;IAAA;;IAAA;MACzE,aAAa,MAAI,CAAC20B,cAAL,CAAoB7+B,aAApB,CAAkCzL,MAAlC,EAA0C0L,YAA1C,EAAwDiK,SAAxD,EAAmEigB,SAAnE,EAAb;IADyE;EAE1E;;EAEKrF,gBAAgB,CAACvwB,MAAD,EAAiB0L,YAAjB,EAAqC;IAAA;;IAAA;MACzD,aAAa,OAAI,CAAC4+B,cAAL,CAAoB/Z,gBAApB,CAAqCvwB,MAArC,EAA6C0L,YAA7C,EAA2DkqB,SAA3D,EAAb;IADyD;EAE1D;;EAEKkM,iBAAiB,CAAC9hC,MAAD,EAAe;IAAA;;IAAA;MACpC,aAAa,OAAI,CAACsqC,cAAL,CAAoBxI,iBAApB,CAAsC9hC,MAAtC,EAA8C41B,SAA9C,EAAb;IADoC;EAErC;;EAEKtP,aAAa,CAAC4kB,QAAD,EAAqBlrC,MAArB,EAAqC0B,SAArC,EAAsD;IAAA;;IAAA;MACvE,aAAa,OAAI,CAAC4oC,cAAL,CAAoBa,cAApB,CAAmCD,QAAnC,EAA6ClrC,MAA7C,EAAqD0B,SAArD,EAAgEk0B,SAAhE,EAAb;IADuE;EAExE;;EAEKwV,cAAc,CAACprC,MAAD,EAAiB0B,SAAjB,EAAkC;IAAA;;IAAA;MACpD,aAAa,OAAI,CAAC4oC,cAAL,CAAoBc,cAApB,CAAmCprC,MAAnC,EAA2C0B,SAA3C,EAAsDk0B,SAAtD,EAAb;IADoD;EAErD;;EAEKzP,iBAAiB,CAACklB,KAAD,EAAgBrrC,MAAhB,EAAgC0B,SAAhC,EAAiD;IAAA;;IAAA;MACtE,aAAa,OAAI,CAAC4oC,cAAL,CAAoBnkB,iBAApB,CAAsCklB,KAAtC,EAA6CrrC,MAA7C,EAAqD0B,SAArD,EAAgEk0B,SAAhE,EAAb;IADsE;EAEvE;;EAEKoD,cAAc;IAAA;;IAAA;MAClB,IAAI,CAAC,OAAI,CAAC7b,WAAV,EAAuB;QACrB,OAAI,CAACA,WAAL,SAAyB,OAAI,CAACmtB,cAAL,CAAoBtR,cAApB,GAAqCpD,SAArC,EAAzB;QACA,OAAO,OAAI,CAACzY,WAAZ;MACD;IAJiB;EAKnB;;EAEK8b,gBAAgB,CAACjvB,OAAD,EAAgB;IAAA;;IAAA;MACpC,aAAa,OAAI,CAACsgC,cAAL,CAAoBrR,gBAApB,CAAqCjvB,OAArC,EAA8C4rB,SAA9C,EAAb;IADoC;EAErC;;EAEK0V,iBAAiB,CAACtrC,MAAD,EAAiBgK,OAAjB,EAAgC;IAAA;;IAAA;MACrD,aAAa,OAAI,CAACsgC,cAAL,CAAoBgB,iBAApB,CAAsCtrC,MAAtC,EAA8CgK,OAA9C,EAAuD4rB,SAAvD,EAAb;IADqD;EAEtD;;EAEKrsB,mBAAmB,CAACvJ,MAAD,EAAiBgK,OAAjB,EAAgC;IAAA;;IAAA;MACvD,aAAa,OAAI,CAACsgC,cAAL,CAAoB/gC,mBAApB,CAAwCvJ,MAAxC,EAAgDgK,OAAhD,EAAyD4rB,SAAzD,EAAb;IADuD;EAExD;;EAEK1Y,WAAW,CAACA,WAAD,EAA4B;IAAA;;IAAA;MAC3C,IAAIquB,aAAa,SAAS,OAAI,CAACjB,cAAL,CAAoBptB,WAApB,CAAgCA,WAAW,CAACiM,MAA5C,EACxBjM,WAAW,CAACkM,SADY,EAExBlM,WAAW,CAACmM,OAFY,EAGxBnM,WAAW,CAACoM,gBAHY,EAIxBpM,WAAW,CAACqM,SAJY,EAKxBrM,WAAW,CAACuM,WALY,EAMxBvM,WAAW,CAACjD,UANY,EAOxBiD,WAAW,CAACwM,iBAPY,EAQxBxM,WAAW,CAACyM,wBARY,EASxBzM,WAAW,CAAC0M,OATY,EAUxB1M,WAAW,CAAC2M,KAVY,EAUL,IAVK,EAUC+L,SAVD,EAA1B;;MAYA,IAAI4V,YAAY,GAAG,OAAI,CAACliC,gBAAL,CAAsB4c,SAAtB,CAAgCjjB,CAAC,IAAIA,CAAC,CAAC1M,EAAF,IAAQg1C,aAAa,CAACh1C,EAA3D,CAAnB;;MACA,OAAI,CAAC+S,gBAAL,CAAsBkX,MAAtB,CAA6BgrB,YAA7B,EAA2C,CAA3C,EAA8CD,aAA9C;;MACA,OAAOA,aAAP;IAf2C;EAgB5C;;EAEKroC,qBAAqB,CAAClD,MAAD,EAASqpC,MAAT,EAAe;IAAA;;IAAA;MACxC,OAAO,OAAI,CAACiB,cAAL,CAAoBpnC,qBAApB,CAA0ClD,MAA1C,EAAkDqpC,MAAlD,EAA0DzT,SAA1D,EAAP;IADwC;EAEzC;;EAEDsL,OAAO,CAAC78B,KAAD,EAAM;IACX,KAAK2L,IAAL,GAAY3L,KAAZ;IACAlO,OAAO,CAACC,GAAR,CAAY,KAAK4Z,IAAjB;EACD;;EAED+Q,mBAAmB,CAAC0qB,WAAD,EAAoB;IACrC,MAAMtkB,MAAM,GAAG,IAAIC,SAAJ,EAAf;IACA,MAAMC,GAAG,GAAGF,MAAM,CAACG,eAAP,CAAuBmkB,WAAvB,EAAoC,WAApC,CAAZ;IAEA,MAAMC,SAAS,GAAGrkB,GAAG,CAACG,gBAAJ,CAAqB,yBAArB,CAAlB;IAEAkkB,SAAS,CAACvvC,OAAV,CAAkBwvC,EAAE,IAAG;MACrB,MAAMC,QAAQ,GAAGD,EAAjB;MACA,MAAME,WAAW,GAAGhtC,KAAK,CAAC8sB,IAAN,CAAWigB,QAAQ,CAAC33B,SAApB,EAA+BzI,IAA/B,CAAoCsgC,GAAG,IAAIA,GAAG,CAAC7hC,UAAJ,CAAe,YAAf,CAA3C,CAApB;;MAEA,IAAI4hC,WAAJ,EAAiB;QACf,MAAMxgB,WAAW,GAAGjjB,QAAQ,CAACyjC,WAAW,CAACx3B,OAAZ,CAAoB,YAApB,EAAkC,EAAlC,CAAD,EAAwC,EAAxC,CAA5B;QACAu3B,QAAQ,CAAC33B,SAAT,CAAmBE,MAAnB,CAA0B03B,WAA1B,EAFe,CAIf;;QACA,IAAIE,UAAU,GAAGH,QAAQ,CAAClgB,aAA1B;;QACA,IAAI,CAACqgB,UAAD,IAAeA,UAAU,CAAC/hC,OAAX,KAAuB,IAA1C,EAAgD;UAC9C,MAAMgiC,OAAO,GAAG/xC,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAhB;UACA8xC,OAAO,CAAC5xC,WAAR,CAAoBwxC,QAApB,EAF8C,CAI9C;;UACA,IAAIG,UAAJ,EAAgB;YACdA,UAAU,CAAC3xC,WAAX,CAAuB4xC,OAAvB;UACD;QACF,CAdc,CAgBf;;;QACAJ,QAAQ,CAAC3qC,KAAT,CAAegrC,UAAf,GAA4B,GAAG5gB,WAAW,GAAG,EAAE,IAA/C;MACD;IACF,CAvBD;IAyBA,OAAOhE,GAAG,CAACltB,IAAJ,CAASyoB,SAAhB;EACD;;EAEKoO,iBAAiB,CAACrnB,OAAD,EAAoB;IAAA;;IAAA;MACzC,OAAI,CAACN,QAAL,CAAc3M,IAAd,CAAmBiN,OAAnB;;MAEA,MAAMuiC,cAAc,GAAG,OAAI,CAACxiC,uBAA5B;;MAEA,IAAIwiC,cAAc,CAACv1C,MAAf,KAA0B,CAA9B,EAAiC;QAC/B,OAAI,CAAC2S,gBAAL,GAAwB,CAAC,GAAG,OAAI,CAACD,QAAT,CAAxB;MACD,CAFD,MAEO;QACL,OAAI,CAACC,gBAAL,GAAwB,OAAI,CAACD,QAAL,CAAc/W,MAAd,CAAqBqX,OAAO,IAClDuiC,cAAc,CAACtiC,KAAf,CAAqBC,GAAG,IACtBF,OAAO,CAACd,IAAR,CAAaiB,IAAb,CAAkBM,CAAC,IAAIA,CAAC,CAACJ,OAAF,CAAU5C,WAAV,GAAwB6C,UAAxB,CAAmCJ,GAAG,CAACzC,WAAJ,EAAnC,CAAvB,CADF,CADsB,CAAxB;MAKD;IAbwC;EAc1C;;AAhNwB;;;mBAAdsB,gBAAc7W,sDAAAA,CAAAA,2DAAAA;AAAA;;;SAAd6W;EAAc5W,SAAd4W,cAAc;EAAA3W,YAFb;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPd;AACA;AAMA;AACA;AACA;;;;;;;AAKM,MAAOq6C,aAAP,CAAoB;EAExB;EACA57C,YAAoBC,WAApB,EAAsD6kB,QAAtD,EAAkF+2B,2BAAlF,EACUzsC,cADV,EACkDC,eADlD,EACkF;IAD9D;IAAkC;IAA4B;IACxE;IAAwC;EAC7C,CALmB,CAOxB;;;EACA4V,qBAAqB,CAAC62B,CAAD,EAAYC,aAAsB,KAAlC,EAAuC;IAE1D,QAAQD,CAAR;MACE,KAAK,CAAL;QACE,OAAO,MAAP;;MACF,KAAK,CAAL;QACE,IAAI,CAACC,UAAL,EAAiB;UACf,OAAO,QAAP;QACD,CAFD,MAEO;UACL,OAAO,UAAP;QACD;;MAEH,KAAK,CAAL;QACE,OAAO,SAAP;;MACF,KAAK,CAAL;QACE,OAAO,QAAP;;MACF,KAAK,CAAL;QACE,OAAO,WAAP;;MACF,KAAK,CAAL;QACE,OAAO,aAAP;;MACF,KAAK,IAAL;QACE,OAAO,YAAP;;MACF;QACE,OAAO,MAAP;IArBJ;EAuBD;;EAEDC,YAAY,CAACnoC,KAAD,EAAiB;IAC3B,QAAQA,KAAR;MACE,KAAK,IAAL;QACE,OAAO,cAAP;;MACF,KAAK,CAAL;QACE,OAAO,UAAP;;MACF,KAAK,CAAL;QACE,OAAO,QAAP;;MACF,KAAK,CAAL;QACE,OAAO,OAAP;;MACF;QACE,OAAO,EAAP;IAVJ;EAYD;;EAEKqR,iBAAiB,CAAC1F,IAAD,EAAU;IAAA;;IAAA;MAC/B,IAAI+zB,WAAW,SAAS,KAAI,CAACtzC,WAAL,CAAiBK,cAAjB,EAAxB;MACA,IAAI27C,cAAc,GAAG,IAArB;;MACA,QAAQz8B,IAAI,CAAC08B,UAAb;QACE,KAAKP,4EAAL;UACE,IAAI,EAAE,OAAM,KAAI,CAAC17C,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAAN,KAAgEukC,WAAW,CAACD,gBAAZ,CAA6Bx9B,QAA7B,CAAsC0J,IAAI,CAACnJ,eAA3C,CAAlE,CAAJ,EACE4lC,cAAc,GAAG,KAAjB;UACF;;QACF,KAAKN,uEAAL;UACE,IAAI,QAAO,KAAI,CAAC17C,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAAP,CAAJ,EACEitC,cAAc,GAAG,KAAjB;UACF;;QACF,KAAKN,qEAAL;UACE,IAAI,EAAE,OAAM,KAAI,CAAC17C,WAAL,CAAiBmB,YAAjB,CAA8B4N,6EAA9B,CAAN,KAAyDukC,WAAW,CAACx+B,QAAZ,IAAwByK,IAAI,CAACzK,QAAxF,CAAJ,EACEknC,cAAc,GAAG,KAAjB;UACF;MAZJ;;MAcA,OAAOA,cAAP;IAjB+B;EAkBhC;;EAEDG,mBAAmB,CAAC1wC,KAAD,EAAW;IAE5B,IAAI2wC,gBAAgB,GAAG3wC,KAAK,CAAC4wC,MAAN,CAAa,CAAClvC,IAAD,EAAOmvC,IAAP,KAAe;MACjD,OAAOnvC,IAAI,CAACovC,YAAL,GAAoBD,IAAI,CAACC,YAAzB,GAAwCD,IAAxC,GAA+CnvC,IAAtD;IACD,CAFsB,EAEpBovC,YAFH;IAIA,OAAO,oBAAoB,KAAK13B,QAAL,CAAc2C,SAAd,CAAwB40B,gBAAxB,EAA0C,QAA1C,CAA3B;EACD;;EAEKtzB,gCAAgC,CAAC7C,WAAD,EAAY;IAAA;;IAAA;MAChD,IAAIm2B,gBAAgB,GAAG,OAAO,MAAI,CAACR,2BAAL,CAAiCY,UAAjC,CAA4Cv2B,WAA5C,EAAyDkf,SAAzD,EAAP,EAA6EsX,OAApG;MACA,OAAO,oBAAoB,MAAI,CAAC53B,QAAL,CAAc2C,SAAd,CAAwB40B,gBAAxB,EAA0C,QAA1C,CAA3B;IAFgD;EAGjD;;EAEKza,sBAAsB,CAACpiB,IAAD,EAAYpP,OAAZ,EAAwB;IAAA;;IAAA;MAClD,MAAMoF,eAAe,SAAS,MAAI,CAACvV,WAAL,CAAiBmB,YAAjB,CAA8B4N,oFAA9B,CAA9B;MACA,MAAMM,cAAc,SAAS,MAAI,CAACrP,WAAL,CAAiBmB,YAAjB,CAA8B4N,mFAA9B,CAA7B;;MAEA,IAAI,CAACwQ,IAAI,CAACiiB,aAAL,IAAsBV,+EAAtB,IAAqDvhB,IAAI,CAACiiB,aAAL,IAAsB,IAA5E,KAAqFjsB,eAAzF,EAA0G;QACxG,UAAUpF,OAAO,CAACwsC,mBAAR,CAA4Bp9B,IAAI,CAACzZ,EAAjC,EAAqCg7B,4EAArC,CAAV,EAA0E;UACxEvhB,IAAI,CAACiiB,aAAL,GAAqBV,4EAArB;UACA,IAAI8b,QAAQ,GAAoB,EAAhC;;UAEA,KAAK,IAAIzuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoR,IAAI,CAACtM,kBAAL,CAAwB/M,MAA5C,EAAoDiI,CAAC,EAArD,EAAyD;YACvD,MAAM7E,IAAI,SAAS,MAAI,CAAC8F,eAAL,CAAqBkiB,kBAArB,CAAwC/R,IAAI,CAACtM,kBAAL,CAAwB9E,CAAxB,CAAxC,EAAoE,CAACoR,IAAI,CAACnJ,eAAN,CAApE,CAAnB;YACAwmC,QAAQ,CAAC3wC,IAAT,CAAc;cAAEvL,IAAI,EAAE,IAAImJ,IAAJ,CAAS,CAACP,IAAI,CAAC5I,IAAN,CAAT,CAAR;cAA+ByJ,QAAQ,EAAEb,IAAI,CAACa;YAA9C,CAAd;UACD;;UAED,MAAM4b,UAAU,GAAkB;YAChCxW,MAAM,EAAEgQ,IAAI,CAACzZ,EADmB;YAEhCkgB,OAAO,EAAE,wDAFuB;YAGhCC,WAAW,EAAE1G,IAAI,CAAC2F,SAAL,IAAkB3F,IAAI,CAACtJ,OAHJ;YAIhCtB,UAAU,EAAE4K,IAAI,CAACpM,KAJe;YAKhC+S,iBAAiB,EAAE3G,IAAI,CAACxI,aAAL,CAAmBpJ,WALN;YAMhCwY,OAAO,EAAE,IANuB;YAOhCC,KAAK,EAAEw2B,QAPyB;YAQhCxkC,IAAI,EAAE,IAR0B;YAShC+M,SAAS,EAAE,KATqB;YAUhCkB,QAAQ,EAAE,KAVsB;YAWhCC,UAAU,EAAE,IAXoB;YAYhCC,WAAW,EAAEjC,iFAZmB;YAahCmC,qBAAqB,EAAEhC,sGAbS;YAchCkC,gBAAgB,EAAEjC,qGAdc;YAehCmC,kBAAkB,EAAEtC,0EAAsBuC;UAfV,CAAlC;UAkBA,MAAM,MAAI,CAAC3X,cAAL,CAAoB4X,UAApB,CAA+BhB,UAA/B,CAAN;UACA,OAAO,IAAP;QACD;MACF,CA/BD,MA+BO,IAAIxG,IAAI,CAACiiB,aAAL,IAAsBV,4EAAtB,IAAkDzxB,cAAtD,EAAsE;QAC3EkQ,IAAI,CAACiiB,aAAL,GAAqBV,+EAArB;QACA,MAAM3wB,OAAO,CAACwsC,mBAAR,CAA4Bp9B,IAAI,CAACzZ,EAAjC,EAAqCg7B,+EAArC,CAAN;QACA,OAAO,IAAP;MACD;;MAED,OAAO,KAAP;IAzCkD;EA0CnD;;AA9HuB;;;mBAAb6a,eAAav6C,sDAAAA,CAAAA,sDAAAA,GAAAA,sDAAAA,CAAAA,sDAAAA,GAAAA,sDAAAA,CAAAA,qEAAAA,GAAAA,sDAAAA,CAAAA,4DAAAA,GAAAA,sDAAAA,CAAAA,8DAAAA;AAAA;;;SAAbu6C;EAAat6C,SAAbs6C,aAAa;EAAAr6C,YAFZ;;;;;;;;;;;;;;;;;;;;;;ACPR,MAAOu7C,eAAP,CAAsB;EAE1B;EACA98C,YAAoB+8C,cAApB,EAAkD;IAA9B;EAAmC,CAH7B,CAK1B;;;EACMvwC,4BAA4B,CAACgtC,SAAD,EAAkB;IAAA;;IAAA;MAClD,OAAO,KAAI,CAACuD,cAAL,CAAoBC,4BAApB,CAAiDxD,SAAjD,EAA4DpU,SAA5D,EAAP;IADkD;EAEnD,CARyB,CAU1B;;;EACM14B,+BAA+B,CAAC8sC,SAAD,EAAkB;IAAA;;IAAA;MACrD,OAAO,MAAI,CAACuD,cAAL,CAAoBE,+BAApB,CAAoDzD,SAApD,EAA+DpU,SAA/D,EAAP;IADqD;EAEtD;;AAbyB;;;mBAAf0X,iBAAez7C,sDAAAA,CAAAA,kEAAAA;AAAA;;;SAAfy7C;EAAex7C,SAAfw7C,eAAe;EAAAv7C,YAFd;;;;;;;;;;;;;;;;;;;;;;ACER,MAAO27C,gBAAP,CAAuB;EAM3B;EACAl9C,YAAoBm9C,eAApB,EAAoD;IAAhC,uCAAgC,CALpD;;IACA,iBAA0B,EAA1B;IACA,gBAAqB,EAArB,CAGoD,CAElD;;IACA,KAAK9J,aAAL;IACA,KAAK+J,YAAL;EAED,CAb0B,CAe3B;;;EACM/J,aAAa;IAAA;;IAAA;MACjB;MACA,OAAO,KAAI,CAACqB,SAAL,SAAuB,KAAI,CAACyI,eAAL,CAAqBE,YAArB,GAAoCjY,SAApC,EAA9B;IAFiB;EAGlB;;EACKgY,YAAY;IAAA;;IAAA;MAChB;MACA,MAAI,CAACtI,QAAL,SAAsB,MAAI,CAACqI,eAAL,CAAqBG,WAArB,GAAmClY,SAAnC,EAAtB;IAFgB;EAGjB;;AAvB0B;;;mBAAhB8X,kBAAgB77C,sDAAAA,CAAAA,mEAAAA;AAAA;;;SAAhB67C;EAAgB57C,SAAhB47C,gBAAgB;EAAA37C,YAFf;;;;;;;;;;;;;;;;;;;;;;ACER,MAAOg8C,eAAP,CAAsB;EAE1Bv9C,YAAoBw9C,cAApB,EAAmD;IAA/B;EAAoC;;EAElDC,iBAAiB,CAACrsC,IAAD,EAAa;IAAA;;IAAA;MAClC,aAAa,KAAI,CAACosC,cAAL,CAAoBC,iBAApB,CAAsCrsC,IAAtC,EAA4Cg0B,SAA5C,EAAb;IADkC;EAEnC;;EACK7T,kBAAkB,CAACngB,IAAD,EAAekiC,gBAAf,EAAyC;IAAA;;IAAA;MAC/D,aAAa,MAAI,CAACkK,cAAL,CAAoB1sC,YAApB,CAAiCM,IAAjC,EAAuCkiC,gBAAvC,EAAyDlO,SAAzD,EAAb;IAD+D;EAEhE;;EACKxjB,uBAAuB,CAACxQ,IAAD,EAAa;IAAA;;IAAA;MACxC,aAAa,MAAI,CAACosC,cAAL,CAAoBE,mBAApB,CAAwCtsC,IAAxC,EAA8Cg0B,SAA9C,EAAb;IADwC;EAEzC;;EACK9zB,kBAAkB,CAACF,IAAD,EAAa;IAAA;;IAAA;MACnC,aAAa,MAAI,CAACosC,cAAL,CAAoBG,uBAApB,CAA4CvsC,IAA5C,EAAkDg0B,SAAlD,EAAb;IADmC;EAEpC;;EAED1zB,gBAAgB,CAACN,IAAD,EAAeC,QAAf,EAAgC;IAC9C,IAAIusC,WAAW,GAAGxsC,IAAI,CAACd,KAAL,CAAW,GAAX,CAAlB;IACA,IAAIc,IAAI,GAAGwsC,WAAW,CAACA,WAAW,CAACz3C,MAAZ,GAAqB,CAAtB,CAAtB;;IAEA,IAAIkL,QAAJ,EAAc;MACZD,IAAI,GAAGA,IAAI,CAACd,KAAL,CAAW,GAAX,EAAgBwb,KAAhB,CAAsB,CAAtB,EAAyB,CAAC,CAA1B,EAA6B0B,IAA7B,CAAkC,GAAlC,IAAyCnc,QAAhD;IACD,CAFD,MAGK;MACH,IAAID,IAAI,CAACd,KAAL,CAAW,GAAX,EAAgB,CAAhB,KAAsB,MAA1B,EAAkC;QAChCc,IAAI,GAAGA,IAAI,CAACd,KAAL,CAAW,GAAX,EAAgBwb,KAAhB,CAAsB,CAAtB,EAAyB,CAAC,CAA1B,EAA6B0B,IAA7B,CAAkC,GAAlC,IAAyC,MAAhD;MACD;IACF;;IACD,OAAOpc,IAAP;EACD;;AA9ByB;;;mBAAfmsC,iBAAel8C,sDAAAA,CAAAA,4DAAAA;AAAA;;;SAAfk8C;EAAej8C,SAAfi8C,eAAe;EAAAh8C,YAFd;;;;;;;;;;;;;;;;;;;;;;ACGR,MAAOs8C,iBAAP,CAAwB;EAE5B;EACA79C,YAAoB89C,cAApB,EAAkD;IAA9B;EACnB;;EAEKC,cAAc,CAACC,eAAD,EAAkC;IAAA;;IAAA;MAEpD,IAAIC,WAAW,SAAS,KAAI,CAACH,cAAL,CAAoBI,oBAApB,CAAyCF,eAAe,CAACG,UAAzD,EAAqEH,eAAe,CAACI,WAArF,EAAkGJ,eAAe,CAACK,cAAlH,EACtBL,eAAe,CAACM,SADM,EACKN,eAAe,CAACO,MADrB,EAC6BnZ,SAD7B,EAAxB;MAEA,OAAO6Y,WAAP;IAJoD;EAKrD;;AAX2B;;;mBAAjBJ,mBAAiBx8C,sDAAAA,CAAAA,kEAAAA;AAAA;;;SAAjBw8C;EAAiBv8C,SAAjBu8C,iBAAiB;EAAAt8C,YAFhB;;;;;;;;;;;;;;;;;;;;ACJd;;;AAYM,MAAOs9C,UAAP,CAAiB;EAKrB7+C,YACU8+C,mBADV,EAEUC,cAFV,EAEwC;IAD9B;IACA;IALV,qBAAkC,EAAlC;IACA,iBAA2B,EAA3B;EAKI;;EAEE/R,gBAAgB;IAAA;;IAAA;MACpB,KAAI,CAACD,aAAL,SAA2B,KAAI,CAAC+R,mBAAL,CACxB9R,gBADwB,GAExB5H,SAFwB,EAA3B;MAGA,OAAO,KAAI,CAAC2H,aAAZ;IAJoB;EAKrB;;EAEKS,cAAc,CAACwR,YAAD,EAAqB;IAAA;;IAAA;MACvC,IAAIvR,WAAW,GAAG,IAAIgR,2DAAJ,EAAlB;MACAhR,WAAW,CAAC1nC,EAAZ,SAAuB,MAAI,CAAC+4C,mBAAL,CAAyBtR,cAAzB,CAAwCwR,YAAxC,EAAsD,MAAI,CAACjS,aAAL,CAAmB5mC,MAAnB,GAA4B,CAAlF,EAAqFi/B,SAArF,EAAvB;MACAqI,WAAW,CAACz8B,IAAZ,GAAmBguC,YAAnB;MACAvR,WAAW,CAACvjB,SAAZ,GAAwB,MAAI,CAAC6iB,aAAL,CAAmB5mC,MAAnB,GAA4B,CAApD;MACAsnC,WAAW,CAACN,SAAZ,GAAwB,EAAxB;;MACA,MAAI,CAACJ,aAAL,CAAmB7gC,IAAnB,CAAwBuhC,WAAxB;IANuC;EAOxC;;EAEKG,iBAAiB,CAACqR,OAAD,EAAwB;IAAA;;IAAA;MAC7C,MAAM,MAAI,CAACH,mBAAL,CAAyBpR,iBAAzB,CAA2CuR,OAA3C,EAAoD7Z,SAApD,EAAN;IAD6C;EAE9C;;EAEDgI,sBAAsB,CAACmB,UAAD,EAAmB;IACvC,OAAO,KAAKxB,aAAL,CAAmB/xB,IAAnB,CAAyBwsB,CAAD,IAAOA,CAAC,CAACzhC,EAAF,IAAQwoC,UAAvC,GAAoDpB,SAA3D;EACD;;EAEK+R,iBAAiB,CAAC3Q,UAAD,EAAmB;IAAA;;IAAA;MACxC,MAAI,CAACxB,aAAL,GAAqB,MAAI,CAACA,aAAL,CAAmBjrC,MAAnB,CAA0B0lC,CAAC,IAAIA,CAAC,CAACzhC,EAAF,IAAQwoC,UAAvC,CAArB;MACA,MAAM,MAAI,CAACuQ,mBAAL,CAAyBI,iBAAzB,CAA2C3Q,UAA3C,EAAuDnJ,SAAvD,EAAN;IAFwC;EAGzC;;EAEK+Z,YAAY;IAAA;;IAAA;MAChB,MAAI,CAAChS,SAAL,SAAuB,MAAI,CAAC4R,cAAL,CAAoBI,YAApB,GAAmC/Z,SAAnC,EAAvB;MACA,OAAO,MAAI,CAAC+H,SAAZ;IAFgB;EAGjB;;EAEKe,WAAW,CAACkR,KAAD,EAAgBhsC,KAAhB,EAA+BisC,MAA/B,EAA6C;IAAA;;IAAA;MAC5D,IAAIxW,QAAQ,GAAG,IAAI8V,wDAAJ,EAAf;MACA9V,QAAQ,CAAC9iC,EAAT,SAAoB,MAAI,CAAC+4C,mBAAL,CAAyBQ,cAAzB,CAAwCF,KAAxC,EAA+ChsC,KAA/C,EAAsDisC,MAAtD,EAA8Dja,SAA9D,EAApB;MACAyD,QAAQ,CAACz1B,KAAT,GAAiBA,KAAjB;MACAy1B,QAAQ,CAACwW,MAAT,GAAkBA,MAAlB;;MACA,MAAI,CAAClS,SAAL,CAAejhC,IAAf,CAAoB28B,QAApB;IAL4D;EAM7D;;EAEKwF,cAAc,CAACE,UAAD,EAAqB1F,QAArB,EAA0C;IAAA;;IAAA;MAC5D,IAAIoW,OAAO,GAAG,IAAIL,kEAAJ,EAAd;MACAK,OAAO,CAAC1Q,UAAR,GAAqBA,UAArB;MACA0Q,OAAO,CAACpW,QAAR,GAAmBA,QAAnB;MACA,MAAM,MAAI,CAACkW,cAAL,CAAoB1Q,cAApB,CAAmC4Q,OAAnC,EAA4C7Z,SAA5C,EAAN;IAJ4D;EAK7D;;EAEKkJ,cAAc,CAACC,UAAD,EAAqBG,UAArB,EAAuC;IAAA;;IAAA;MACzD,MAAM,MAAI,CAACqQ,cAAL,CAAoBzQ,cAApB,CAAmCC,UAAnC,EAA+CG,UAA/C,EAA2DtJ,SAA3D,EAAN;IADyD;EAE1D;;AA7DoB;;;mBAAVyZ,YAAUx9C,sDAAAA,CAAAA,gEAAAA,GAAAA,sDAAAA,CAAAA,2DAAAA;AAAA;;;SAAVw9C;EAAUv9C,SAAVu9C,UAAU;EAAAt9C,YAFT;;;;;;;;;;;;;;;;;;;;;;;;ACFR,MAAOg+C,qBAAP,CAA4B;EAKhC;EACAv/C,YAAoBw/C,oBAApB,EAAyEr/C,MAAzE,EAAuF;IAAnE;IAAqD;EAAmB,CAN5D,CAQhC;;;EACMqqB,iBAAiB,CAAClB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MACvH;MACA,aAAa,KAAI,CAACo0C,oBAAL,CACVh1B,iBADU,CACQlB,eAAe,CAACgvB,EADxB,EAEThvB,eAAe,CAACivB,QAFP,EAGTjvB,eAAe,CAAC+P,KAHP,EAIT/P,eAAe,CAACkvB,QAJP,EAKTlvB,eAAe,CAACmvB,WALP,EAMTnvB,eAAe,CAACM,SANP,EAOTN,eAAe,CAAC4Y,eAPP,EAQT5Y,eAAe,CAACE,QARP,EASTF,eAAe,CAAC8P,OATP,EAUT9P,eAAe,CAACK,MAVP,EAWTL,eAAe,CAACG,UAXP,EAYTH,eAAe,CAACC,gBAZP,EAaTD,eAAe,CAACI,YAbP,EAcTJ,eAAe,CAACovB,eAdP,EAeTpvB,eAAe,CAACO,WAfP,EAgBTP,eAAe,CAACqvB,WAhBP,EAiBTrvB,eAAe,CAACkb,KAjBP,EAkBT6T,aAlBS,EAmBTttC,IAnBS,EAoBTK,QApBS,EAqBVg6B,SArBU,EAAb;IAFuH;EAwBxH,CAjC+B,CAmChC;;;EACMqa,qBAAqB,CAAC15C,EAAD,EAAW;IAAA;;IAAA;MACpC,IAAI,CAACA,EAAL,EAAS;QACP,OAAO,IAAP;MACD;;MAED,IAAI;QACF;QACA,aAAa,MAAI,CAACy5C,oBAAL,CAA0BE,OAA1B,CAAkC35C,EAAlC,EAAsCq/B,SAAtC,EAAb;MACD,CAHD,CAIA,OAAO1/B,KAAP,EAAc;QACZ,MAAI,CAACvF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;UAAEwgB,kBAAkB,EAAE;QAAtB,CAA/B;MACD;IAXmC;EAYrC,CAhD+B,CAkDhC;;;EACM0lB,iCAAiC,CAACjhC,EAAD,EAAW;IAAA;;IAAA;MAChD,IAAI,CAACA,EAAL,EAAS;QACP,OAAO,IAAP;MACD;;MAED,IAAI;QACF;QACA,MAAI,CAACq7B,oBAAL,SAAkC,MAAI,CAACoe,oBAAL,CAA0BE,OAA1B,CAAkC35C,EAAlC,EAAsCq/B,SAAtC,EAAlC,CAFE,CAGF;;QACA,OAAO,MAAI,CAAChE,oBAAZ;MACD,CALD,CAMA,OAAO17B,KAAP,EAAc;QACZ,MAAI,CAACvF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;UAAEwgB,kBAAkB,EAAE;QAAtB,CAA/B;MACD;IAb+C;EAcjD,CAjE+B,CAmEhC;;;EACMkgB,gBAAgB,CAAChiB,IAAD,EAA0BjW,IAA1B,EAAsCo2C,MAAtC,EAAqD;IAAA;;IAAA;MACzE,IAAIC,UAAJ,CADyE,CAGzE;;MACAA,UAAU,GAAG;QAAEj/C,IAAI,EAAE,IAAImJ,IAAJ,CAAS,CAACP,IAAD,CAAT,CAAR;QAA0Ba,QAAQ,EAAEb,IAAI,CAACyH;MAAzC,CAAb,CAJyE,CAKzE;;MACA,IAAId,QAAQ,SAAS,MAAI,CAACsvC,oBAAL,CAClBK,UADkB,CACPrgC,IAAI,CAACzZ,EADE,EACEyZ,IAAI,CAAC2F,SADP,EACkBw6B,MADlB,EAC0BC,UAD1B,EAElBxa,SAFkB,EAArB;MAGA,OAAOl1B,QAAP;IATyE;EAU1E;;EAEKY,YAAY,CAACtB,MAAD,EAAiBqpC,MAAjB,EAAiCC,gBAAjC,EAA0D;IAAA;;IAAA;MAC1E,aAAa,MAAI,CAAC0G,oBAAL,CAA0B1uC,YAA1B,CAAuCtB,MAAvC,EAA+CqpC,MAA/C,EAAuDC,gBAAvD,EAAyE1T,SAAzE,EAAb;IAD0E;EAE3E;;EAEKn1B,oBAAoB,CAACT,MAAD,EAAiBU,QAAjB,EAAiC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAACsvC,oBAAL,CAA0BvvC,oBAA1B,CAA+CT,MAA/C,EAAuDU,QAAvD,EAAiEk1B,SAAjE,EAAb;IADyD;EAE1D;;EAEK3a,QAAQ,CAACnB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MAC9G,OAAO,MAAI,CAACo0C,oBAAL,CAA0B/0B,QAA1B,CAAmCnB,eAAe,CAACgvB,EAAnD,EACLhvB,eAAe,CAACivB,QADX,EAELjvB,eAAe,CAAC+P,KAFX,EAGL/P,eAAe,CAACkvB,QAHX,EAILlvB,eAAe,CAACmvB,WAJX,EAKLnvB,eAAe,CAACM,SALX,EAMLN,eAAe,CAAC4Y,eANX,EAOL5Y,eAAe,CAACE,QAPX,EAQLF,eAAe,CAAC8P,OARX,EASL9P,eAAe,CAACK,MATX,EAULL,eAAe,CAACG,UAVX,EAWLH,eAAe,CAACC,gBAXX,EAYLD,eAAe,CAACI,YAZX,EAaLJ,eAAe,CAACovB,eAbX,EAcLpvB,eAAe,CAACO,WAdX,EAeLP,eAAe,CAACqvB,WAfX,EAgBLrvB,eAAe,CAACkb,KAhBX,EAiBL6T,aAjBK,EAkBLttC,IAlBK,EAmBLK,QAnBK,EAoBJg6B,SApBI,EAAP;IAD8G;EAsB/G;;EAEK2T,oBAAoB,CAACvpC,MAAD,EAAe;IAAA;;IAAA;MACvC,OAAO,MAAI,CAACgwC,oBAAL,CAA0BxG,0BAA1B,CAAqDxpC,MAArD,EAA6D41B,SAA7D,EAAP;IADuC;EAExC;;EACKzL,gBAAgB,CAAC5zB,EAAD,EAAaV,MAAb,EAA2B;IAAA;;IAAA;MAC/C,aAAa,MAAI,CAACm6C,oBAAL,CAA0B7lB,gBAA1B,CAA2C5zB,EAA3C,EAA+CV,MAA/C,EAAuD+/B,SAAvD,EAAb;IAD+C;EAEhD;;EAEKwX,mBAAmB,CAAC72C,EAAD,EAAY07B,aAAZ,EAAuC;IAAA;;IAAA;MAC9D,aAAa,OAAI,CAAC+d,oBAAL,CAA0B5C,mBAA1B,CAA8C72C,EAA9C,EAAiD07B,aAAjD,EAAgE2D,SAAhE,EAAb;IAD8D;EAE/D;;AAzH+B;;;mBAArBma,uBAAqBl+C,sDAAAA,CAAAA,yEAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA;AAAA;;;SAArBk+C;EAAqBj+C,SAArBi+C,qBAAqB;EAAAh+C,YAHpB;;;;;;;;;;;;;;;;;;;;;ACJd;;;;AAKM,MAAO2+C,mBAAP,CAA0B;EAE9B;EACAlgD,YAAoBmgD,mBAApB,EAAsEhgD,MAAtE,EAAoF;IAAhE;IAAkD;EAAmB,CAH3D,CAK9B;;;EACM8iB,uCAAuC,CAACrO,UAAD,EAAqBvP,MAArB,EAAyC6V,YAAzC,EAA+DgG,eAA/D,EAAuFzF,OAAvF,EAAuG2kC,SAAvG,EAAwH1D,OAAxH,EAAuIvD,UAAvI,EAA2J/tC,QAA3J,EAA2K;IAAA;;IAAA;MACtN,aAAa,KAAI,CAAC+0C,mBAAL,CAAyB31B,iBAAzB,CAA2C5V,UAA3C,EAAuDvP,MAAvD,EAA+D6V,YAA/D,EAA6EgG,eAA7E,EAA6FzF,OAA7F,EAAqG2kC,SAArG,EAAgH1D,OAAhH,EAAyHvD,UAAzH,EAAqI/tC,QAArI,EAA+Ig6B,SAA/I,EAAb;IADsN;EAEvN,CAR6B,CAU9B;;;EACMjiB,yBAAyB,CAACmwB,gBAAD,EAA6B1+B,UAA7B,EAAiDvP,MAAjD,EAAsE6V,YAAtE,EAA4FgG,eAA5F,EAAoHzF,OAApH,EAAsI2kC,SAAtI,EAAuJ1D,OAAvJ,EAAsKvD,UAAtK,EAA0L/tC,QAA1L,EAA0M;IAAA;;IAAA;MACvO,aAAa,MAAI,CAAC+0C,mBAAL,CAAyBE,gBAAzB,CAA0C/M,gBAA1C,EAA4D1+B,UAA5D,EAAwEvP,MAAxE,EAAgF6V,YAAhF,EAA8FgG,eAA9F,EAA+GzF,OAA/G,EAAwH2kC,SAAxH,EAAmI1D,OAAnI,EAA4IvD,UAA5I,EAAwJ/tC,QAAxJ,EAAkKg6B,SAAlK,EAAb;IADuO;EAExO,CAb6B,CAe9B;;;EACM7lB,mBAAmB,CAACxZ,EAAD,EAAW;IAAA;;IAAA;MAClC,IAAI;QACF;QACA,aAAa,MAAI,CAACo6C,mBAAL,CAAyB5gC,mBAAzB,CAA6CxZ,EAA7C,EAAiDq/B,SAAjD,EAAb;MACD,CAHD,CAIA,OAAO1/B,KAAP,EAAc;QACZ,MAAI,CAACvF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;UAAEwgB,kBAAkB,EAAE;QAAtB,CAA/B;MACD;IAPiC;EAQnC,CAxB6B,CA0B9B;;;EACM+vB,kBAAkB,CAAC7nB,QAAD,EACtBC,UADsB,EAEtB62B,WAFsB,EAGtBC,0BAHsB,EAItBC,uBAJsB,EAKtBC,qBALsB,EAMtBC,kBANsB,EAOtBxe,eAPsB,EAQtBye,KARsB,EAQH;IAAA;;IAAA;MAEnB;MACA,IAAI1B,OAAO,GAAG,IAAIa,6EAAJ,EAAd;MACAb,OAAO,CAAClqC,QAAR,GAAmByU,QAAnB;MACAy1B,OAAO,CAACrqC,UAAR,GAAqB6U,UAArB;MACAw1B,OAAO,CAAC2B,WAAR,GAAsBN,WAAtB;MACArB,OAAO,CAAC5oC,eAAR,GAA0B6rB,eAA1B;MACA+c,OAAO,CAAC54B,KAAR,GAAgBs6B,KAAhB;MACA1B,OAAO,CAACsB,0BAAR,GAAqCA,0BAArC;MACAtB,OAAO,CAACuB,uBAAR,GAAkCA,uBAAlC;MACAvB,OAAO,CAACwB,qBAAR,GAAgCA,qBAAhC;MACAxB,OAAO,CAACyB,kBAAR,GAA6BA,kBAA7B,CAZmB,CAanB;;MACA,aAAa,MAAI,CAACP,mBAAL,CAAyB/M,MAAzB,CAAgC6L,OAAhC,EAAyC7Z,SAAzC,EAAb;IAdmB;EAepB;;EAEKn1B,oBAAoB,CAACT,MAAD,EAAiBU,QAAjB,EAAiC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAACiwC,mBAAL,CAAyBlwC,oBAAzB,CAA8CT,MAA9C,EAAsDU,QAAtD,EAAgEk1B,SAAhE,EAAb;IADyD;EAE1D;;EACKyM,kBAAkB,CAAC2H,SAAD,EAAW3gC,QAAX,EAAoBwN,KAApB,EAA2Bw6B,aAA3B,EAA0CC,gBAA1C,EAA0D;IAAA;;IAAA;MAChF,IAAI7B,OAAO,GAAG,IAAIgB,6EAAJ,EAAd;MACAhB,OAAO,CAACzF,SAAR,GAAoBA,SAApB;MACAyF,OAAO,CAACpmC,QAAR,GAAmBA,QAAnB;MACAomC,OAAO,CAAC54B,KAAR,GAAgBA,KAAhB;MACA44B,OAAO,CAAC4B,aAAR,GAAwBA,aAAxB;MACA5B,OAAO,CAAC6B,gBAAR,GAA2BA,gBAA3B;MACA,aAAa,MAAI,CAACX,mBAAL,CAAyBj5B,MAAzB,CAAgC+3B,OAAhC,EAAyC7Z,SAAzC,EAAb;IAPgF;EAQjF;;AA/D6B;;;mBAAnB8a,qBAAmB7+C,sDAAAA,CAAAA,uEAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA;AAAA;;;SAAnB6+C;EAAmB5+C,SAAnB4+C,mBAAmB;EAAA3+C,YAFlB;;;;;;;;;;;;;;;;;;;;;ACHd;;;;AAOM,MAAOy/C,kBAAP,CAAyB;EAG7BhhD,YAAoBihD,iBAApB,EAAkE9gD,MAAlE,EAAgF;IAA5D;IAA8C;IAFlE,oBAAiC,EAAjC;EAEqF,CAHxD,CAK7B;;;EACMqqB,iBAAiB,CAAClB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MACvH,OAAO,KAAI,CAAC61C,iBAAL,CAAuBz2B,iBAAvB,CAAyClB,eAAe,CAACgvB,EAAzD,EACLhvB,eAAe,CAACivB,QADX,EAELjvB,eAAe,CAAC+P,KAFX,EAGL/P,eAAe,CAACkvB,QAHX,EAILlvB,eAAe,CAACmvB,WAJX,EAKLnvB,eAAe,CAACM,SALX,EAMLN,eAAe,CAAC4Y,eANX,EAOL5Y,eAAe,CAACE,QAPX,EAQLF,eAAe,CAAC8P,OARX,EASL9P,eAAe,CAACK,MATX,EAULL,eAAe,CAACG,UAVX,EAWLH,eAAe,CAACC,gBAXX,EAYLD,eAAe,CAACI,YAZX,EAaLJ,eAAe,CAACovB,eAbX,EAcLpvB,eAAe,CAACO,WAdX,EAeLP,eAAe,CAACqvB,WAfX,EAgBLrvB,eAAe,CAACkb,KAhBX,EAiBL6T,aAjBK,EAkBLttC,IAlBK,EAmBLK,QAnBK,EAmBKg6B,SAnBL,EAAP;IADuH;EAqBxH;;EAEK8b,0BAA0B,CAAC53B,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MAChI,MAAI,CAAC+1C,YAAL,SAA0B,MAAI,CAAC32B,iBAAL,CAAuBlB,eAAvB,EAAwC+uB,aAAxC,EAAuDttC,IAAvD,EAA6DK,QAA7D,CAA1B;MACA,MAAI,CAAC+1C,YAAL,GAAoB,MAAI,CAACA,YAAL,CAAkBr1B,KAAlB,CAAwB,CAAC/gB,IAAI,GAAG,CAAR,IAAaK,QAArC,EAA+C,CAACL,IAAI,GAAG,CAAR,IAAaK,QAAb,GAAwBA,QAAvE,CAApB;MACA,OAAO,MAAI,CAAC+1C,YAAZ;IAHgI;EAIjI;;EAEK12B,QAAQ,CAACnB,eAAD,EAAmC+uB,aAAnC,EAAoEttC,IAApE,EAAkFK,QAAlF,EAAkG;IAAA;;IAAA;MAC9G,OAAO,MAAI,CAAC61C,iBAAL,CAAuBx2B,QAAvB,CAAgCnB,eAAe,CAACgvB,EAAhD,EACLhvB,eAAe,CAACivB,QADX,EAELjvB,eAAe,CAAC+P,KAFX,EAGL/P,eAAe,CAACkvB,QAHX,EAILlvB,eAAe,CAACmvB,WAJX,EAKLnvB,eAAe,CAACM,SALX,EAMLN,eAAe,CAAC4Y,eANX,EAOL5Y,eAAe,CAACE,QAPX,EAQLF,eAAe,CAAC8P,OARX,EASL9P,eAAe,CAACK,MATX,EAULL,eAAe,CAACG,UAVX,EAWLH,eAAe,CAACC,gBAXX,EAYLD,eAAe,CAACI,YAZX,EAaLJ,eAAe,CAACovB,eAbX,EAcLpvB,eAAe,CAACO,WAdX,EAeLP,eAAe,CAACqvB,WAfX,EAgBLrvB,eAAe,CAACkb,KAhBX,EAiBL6T,aAjBK,EAkBLttC,IAlBK,EAmBLK,QAnBK,EAmBKg6B,SAnBL,EAAP;IAD8G;EAqB/G;;EAEK2K,cAAc,CAAChqC,EAAD,EAAW;IAAA;;IAAA;MAC7B,IAAI;QACF,MAAI,CAACq9B,UAAL,SAAwB,MAAI,CAAC6d,iBAAL,CAAuBG,YAAvB,CAAoCr7C,EAApC,EAAwCq/B,SAAxC,EAAxB;QACA,OAAO,MAAI,CAAChC,UAAZ;MACD,CAHD,CAIA,OAAO19B,KAAP,EAAc;QACZ,IAAIA,KAAK,CAACL,MAAN,KAAiB,GAArB,EAA0B;UACxB,MAAI,CAAClF,MAAL,CAAYW,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;YAAEwgB,kBAAkB,EAAE;UAAtB,CAA/B;QACD;MACF;IAT4B;EAU9B;;EAEKxQ,YAAY,CAACtB,MAAD,EAAiBqpC,MAAjB,EAAiCC,gBAAjC,EAA0D;IAAA;;IAAA;MAC1E,aAAa,MAAI,CAACmI,iBAAL,CAAuBnwC,YAAvB,CAAoCtB,MAApC,EAA4CqpC,MAA5C,EAAoDC,gBAApD,EAAsE1T,SAAtE,EAAb;IAD0E;EAE3E;;EAEK2T,oBAAoB,CAACvpC,MAAD,EAAe;IAAA;;IAAA;MACvC,OAAO,MAAI,CAACyxC,iBAAL,CAAuBjI,0BAAvB,CAAkDxpC,MAAlD,EAA0D41B,SAA1D,EAAP;IADuC;EAExC;;EAEKzL,gBAAgB,CAAC5zB,EAAD,EAAaV,MAAb,EAAgC;IAAA;;IAAA;MACpD,aAAa,MAAI,CAAC47C,iBAAL,CAAuBtnB,gBAAvB,CAAwC5zB,EAAxC,EAA4CV,MAA5C,EAAoD+/B,SAApD,EAAb;IADoD;EAErD;;EAEKn1B,oBAAoB,CAACT,MAAD,EAAiBU,QAAjB,EAAiC;IAAA;;IAAA;MACzD,aAAa,MAAI,CAAC+wC,iBAAL,CAAuBhxC,oBAAvB,CAA4CT,MAA5C,EAAoDU,QAApD,EAA8Dk1B,SAA9D,EAAb;IADyD;EAE1D;;EACKwX,mBAAmB,CAAC72C,EAAD,EAAY07B,aAAZ,EAAuC;IAAA;;IAAA;MAC9D,aAAa,MAAI,CAACwf,iBAAL,CAAuBrE,mBAAvB,CAA2C72C,EAA3C,EAA8C07B,aAA9C,EAA6D2D,SAA7D,EAAb;IAD8D;EAE/D;;EACK0M,iBAAiB,CAACz7B,eAAD,EAAyBjD,KAAzB,EAAsCi9B,QAAtC,EAAuDt7B,QAAvD,EAAuEoQ,SAAvE,EACrB3V,MADqB,EACP6yB,QADO,EACWljB,mBADX,EAC0C9Z,MAD1C,EAC0DyiB,QAD1D,EAC6E1B,OAD7E,EAC6FH,OAD7F,EAC2G;IAAA;;IAAA;MAEhI,IAAIo7B,UAAU,GAAG,IAAIN,qEAAJ,EAAjB;MACAM,UAAU,CAACtsC,QAAX,GAAsBA,QAAtB;MACAssC,UAAU,CAACl8B,SAAX,GAAuBA,SAAvB;MACAk8B,UAAU,CAAC7xC,MAAX,GAAoBA,MAApB;MACA6xC,UAAU,CAACr5B,QAAX,GAAsBqa,QAAtB;MACAgf,UAAU,CAACliC,mBAAX,GAAiCA,mBAAjC;MACAkiC,UAAU,CAACjuC,KAAX,GAAmBA,KAAnB;MACAiuC,UAAU,CAAChrC,eAAX,GAA6BA,eAA7B;MACAgrC,UAAU,CAAChR,QAAX,GAAsBA,QAAtB;MACAgR,UAAU,CAACh8C,MAAX,GAAoBA,MAApB;MACAg8C,UAAU,CAACv5B,QAAX,GAAsBA,QAAtB;MACAu5B,UAAU,CAACj7B,OAAX,GAAqBA,OAArB;MACAi7B,UAAU,CAACp7B,OAAX,GAAqBA,OAArB;MAEA,aAAa,OAAI,CAACg7B,iBAAL,CAAuBK,MAAvB,CAA8BD,UAA9B,EAA0Cjc,SAA1C,EAAb;IAhBgI;EAiBjI;;EACK2M,UAAU,CAACwP,YAAD,EAAeC,iBAAf,EAAgC;IAAA;;IAAA;MAC9C,aAAa,OAAI,CAACP,iBAAL,CAAuBQ,UAAvB,CAAkCF,YAAlC,EAA+CC,iBAA/C,EAAkEpc,SAAlE,EAAb;IAD8C;EAE/C;;AA7G4B;;;mBAAlB4b,oBAAkB3/C,sDAAAA,CAAAA,8DAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA;AAAA;;;SAAlB2/C;EAAkB1/C,SAAlB0/C,kBAAkB;EAAAz/C,YAHjB;;;;;;;;;;;;;;;;;;;;;ACJd;;;AAKM,MAAOmgD,qBAAP,CAA4B;EAEhC;EACA1hD,YAAoB2hD,oBAApB,EAA8D;IAA1C;EAA+C,CAHnC,CAKhC;;;EACMhrC,uBAAuB,CAAC3F,IAAD,EAAejG,IAAf,EAA6BK,QAA7B,EAA6C;IAAA;;IAAA;MACxE,IAAIw2C,iBAAiB,SAAuB,KAAI,CAACD,oBAAL,CAA0BE,wBAA1B,CAAmD7wC,IAAnD,EAAyDjG,IAAzD,EAA+DK,QAA/D,EAAyEg6B,SAAzE,EAA5C;;MACA,IAAI0c,uBAAuB,GAAG//B,8CAAA,CAASA,8CAAA,CAAS6/B,iBAAT,EAA4B,aAA5B,CAAT,EAAqD,OAArD,CAA9B;;MACA,OAAOE,uBAAP;IAHwE;EAIzE,CAV+B,CAYhC;;;EACMxrC,oBAAoB,CAACvQ,EAAD,EAAW;IAAA;;IAAA;MACnC,aAAa,MAAI,CAAC47C,oBAAL,CAA0BK,qBAA1B,CAAgDj8C,EAAhD,EAAoDq/B,SAApD,EAAb;IADmC;EAEpC;;AAf+B;;;mBAArBsc,uBAAqBrgD,sDAAAA,CAAAA,wEAAAA;AAAA;;;SAArBqgD;EAAqBpgD,SAArBogD,qBAAqB;EAAAngD,YAFpB;;;;;;;;;;;;;;;;;;;;ACJd;;;AAKM,MAAO4gD,mBAAP,CAA0B;EAE9BniD,YAAoBoiD,kBAApB,EAA0D;IAAtC;EAA4C;;EAE1DjuB,0BAA0B,CAACpuB,EAAD,EAAG;IAAA;;IAAA;MACjC,aAAa,KAAI,CAACq8C,kBAAL,CAAwBC,wBAAxB,CAAiDt8C,EAAjD,EAAqDq/B,SAArD,EAAb;IADiC;EAElC;;EACKhQ,wBAAwB,CAAClkB,SAAD,EAAkB7L,MAAlB,EAA6C;IAAA;;IAAA;MACzE,IAAI45C,OAAO,GAAG,IAAIiD,uFAAJ,EAAd;MACAjD,OAAO,CAAC/tC,SAAR,GAAoBA,SAApB;MACA+tC,OAAO,CAAC55C,MAAR,GAAiBA,MAAjB;MACA,aAAa,MAAI,CAAC+8C,kBAAL,CAAwBE,mCAAxB,CAA4DrD,OAA5D,EAAqE7Z,SAArE,EAAb;IAJyE;EAK1E;;AAZ6B;;;mBAAnB+c,qBAAmB9gD,sDAAAA,CAAAA,+DAAAA;AAAA;;;SAAnB8gD;EAAmB7gD,SAAnB6gD,mBAAmB;EAAA5gD,YAFlB;;;;;;;;;;;;;;;;;;;;;;ACER,MAAOghD,oBAAP,CAA2B;EAE/BviD,YAAoBwiD,iBAApB,EAAyD;IAArC;EACnB;;EAEKtR,6BAA6B,CAACnrC,EAAD,EAAIgF,IAAJ,EAAkBK,QAAlB,EAAkC;IAAA;;IAAA;MACnE,aAAa,KAAI,CAACo3C,iBAAL,CAAuBtR,6BAAvB,CAAqDnrC,EAArD,EAAwDgF,IAAxD,EAA6DK,QAA7D,EAAuEg6B,SAAvE,EAAb;IADmE;EAEpE;;AAP8B;;;mBAApBmd,sBAAoBlhD,sDAAAA,CAAAA,8DAAAA;AAAA;;;SAApBkhD;EAAoBjhD,SAApBihD,oBAAoB;EAAAhhD,YAFnB;;;;;;;;;;;;;;;;;;;;;ACAd,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,+CAAK;IACL,mDAAO;IACP,2DAAW;IACX,mDAAO;AACT,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAKM,MAAM,yBAAyB;IAEpC,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,WAAW,CACT,OAAe,EACf,IAAiB,EACjB,QAAQ,GAAG,KAAK;QAEhB,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW,CAAC,KAAK;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE;oBAClC,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW,CAAC,OAAO;gBACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE;oBACtC,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW,CAAC,OAAO;gBACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE;oBACtC,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;oBAChC,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBACH,MAAM;SACT;IACH,CAAC;IAED,2BAA2B,CACzB,KAAU;QAEV,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,CAAC;gBACJ,IAAI,CAAC,WAAW,CAAC,6GAA6G,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnJ,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,WAAW,CAAC,4GAA4G,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAClJ,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,WAAW,CAAC,gGAAgG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5J,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,WAAW,CAAC,mHAAmH,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzJ,MAAM;YACR;gBACE,IAAI,CAAC,WAAW,CAAC,iGAAiG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;SAC1I;IACH,CAAC;;kGAxDU,yBAAyB;0HAAzB,yBAAyB,WAAzB,yBAAyB,mBAFxB,MAAM;;;;;;;;;;;;;;;;;;;;;ACTpB;;;;AAKM,MAAOmhD,WAAP,CAAkB;EAKtB1iD,YAAoB2iD,cAApB,EAAyDC,UAAzD,EAAgF;IAA5D;IAAqC;IAHzD,sBAA0B,KAA1B;IACA,kBAAsB,KAAtB;EAGC;;EAEKtiD,cAAc;IAAA;;IAAA;MAClB,IAAIuiD,gBAAgB,GAAGrgD,YAAY,CAACM,OAAb,CAAqB,MAArB,CAAvB;;MACA,IAAI+/C,gBAAgB,KAAK,CAACA,gBAAgB,CAAC/sC,QAAjB,CAA0B,oBAA1B,CAAD,IAAoD,CAAC+sC,gBAAgB,CAAC/sC,QAAjB,CAA0B,gBAA1B,CAA1D,CAApB,EAA4H;QAC1HtT,YAAY,CAACC,UAAb,CAAwB,MAAxB;QACAogD,gBAAgB,GAAG,IAAnB;MACD;;MAED,IAAIxiD,IAAI,GAAGmiB,IAAI,CAACC,KAAL,CAAWogC,gBAAX,CAAX;;MACA,IAAIxiD,IAAI,IAAIA,IAAI,CAAC2F,KAAL,CAAW4Q,WAAX,MAA4B,KAAI,CAACksC,mBAAL,EAAxC,EAAoE;QAClEziD,IAAI,GAAG,IAAP;MACD;;MAED,IAAI,CAACA,IAAL,EAAW;QACT,IAAI;UACFA,IAAI,SAAU,KAAI,CAACuiD,UAAL,CAAgBtiD,cAAhB,GAAiC8kC,SAAjC,EAAd;;UACA,IAAI/kC,IAAJ,EAAU;YACRmC,YAAY,CAACO,OAAb,CAAqB,MAArB,EAA6Byf,IAAI,CAACoB,SAAL,CAAevjB,IAAf,CAA7B;YACA,KAAI,CAACO,UAAL,GAAkB,IAAlB;UACD;QACF,CAND,CAOA,OAAO8E,KAAP,EAAc;UACZ,KAAI,CAAC7E,cAAL,GAAsB,IAAtB;UACA,KAAI,CAACD,UAAL,GAAkB,IAAlB;QACD;MACF,CAZD,MAaK;QACH,KAAI,CAACA,UAAL,GAAkB,IAAlB;MACD;;MAED,OAAOP,IAAP;IA7BkB;EA8BnB;;EAGDyiD,mBAAmB;IACjB,IAAIld,KAAK,GAAG,KAAK+c,cAAL,CAAoBp/C,QAApB,CAA6BC,gBAA7B,IAAiDa,aAA7D;IACA,OAAOuhC,KAAK,EAAEmd,MAAP,CAAc,CAAd,GAAkBnsC,WAAlB,EAAP;EACD;;EAEKsF,kBAAkB;IAAA;;IAAA;MACtB,IAAI7b,IAAI,SAAS,MAAI,CAACC,cAAL,EAAjB;MACA,OAAOD,IAAI,EAAE00B,SAAN,GAAkB,GAAlB,GAAwB10B,IAAI,EAAE20B,QAArC;IAFsB;EAGvB;;EAEKqiB,gBAAgB;IAAA;;IAAA;MACpB,IAAIh3C,IAAI,SAAS,MAAI,CAACC,cAAL,EAAjB;MACA,OAAOD,IAAI,CAAC0F,EAAZ;IAFoB;EAGrB;;EAEK3E,YAAY,CAACD,IAAD,EAAa;IAAA;;IAAA;MAC7B,IAAId,IAAI,SAAS,MAAI,CAACC,cAAL,EAAjB;;MACA,IAAID,IAAJ,EAAU;QACR,OAAQA,IAAI,CAACU,KAAL,CAAW20B,SAAX,CAAqB8R,CAAC,IAAIA,CAAC,IAAIrmC,IAA/B,IAAuC,CAAC,CAAhD;MACD;;MACD,OAAO,KAAP;IAL6B;EAM9B;;EAEKZ,WAAW;IAAA;;IAAA;MACf,IAAIF,IAAI,SAAS,MAAI,CAACC,cAAL,EAAjB;;MACA,IAAID,IAAJ,EAAU;QACR,OAAQA,IAAI,CAACE,WAAb;MACD;IAJc;EAKhB;;EAEKkE,MAAM;IAAA;;IAAA;MACVjC,YAAY,CAACO,OAAb,CAAqB,MAArB,EAA6B,IAA7B;;MACA,MAAI,CAAC4/C,cAAL,CAAoBj8C,cAApB,CAAmC;QAAEhD,OAAO,EAAE,MAAI,CAACi/C,cAAL,CAAoBp/C,QAApB,CAA6BC,gBAA7B;MAAX,CAAnC;IAFU;EAGX;;EAEK+W,4BAA4B,CAAClE,eAAD,EAAwB;IAAA;;IAAA;MACxD,aAAa,MAAI,CAACusC,UAAL,CAAgBI,yBAAhB,CAA0C3sC,eAA1C,EAA2D+uB,SAA3D,EAAb;IADwD;EAEzD;;EAEK5qB,qCAAqC;IAAA;;IAAA;MACzC,aAAa,MAAI,CAACooC,UAAL,CAAgBK,kCAAhB,GAAqD7d,SAArD,EAAb;IADyC;EAE1C;;EAEKjrB,WAAW,CAACpU,EAAD,EAAW;IAAA;;IAAA;MAC1B,aAAa,MAAI,CAAC68C,UAAL,CAAgBzoC,WAAhB,CAA4BpU,EAA5B,EAAgCq/B,SAAhC,EAAb;IAD0B;EAE3B;;EAEK8d,WAAW;IAAA;;IAAA;MACf,aAAa,OAAI,CAACN,UAAL,CAAgBM,WAAhB,GAA8B9d,SAA9B,EAAb;IADe;EAEhB;;EAEK+d,iBAAiB,CAAChK,UAAD,EAAa/tC,QAAb,EAAqB;IAAA;;IAAA;MAC1C,aAAa,OAAI,CAACw3C,UAAL,CAAgBQ,QAAhB,CAAyBjK,UAAzB,EAAqC/tC,QAArC,EAA+Cg6B,SAA/C,EAAb;IAD0C;EAE3C;;EAEKie,eAAe,CAACt9C,EAAD,EAAau9C,KAAb,EAA4B;IAAA;;IAAA;MAC/C,aAAa,OAAI,CAACV,UAAL,CAAgBS,eAAhB,CAAgCt9C,EAAhC,EAAoCu9C,KAApC,EAA2Cle,SAA3C,EAAb;IAD+C;EAEhD;;EAEKv/B,eAAe,CAAC09C,UAAD,EAAqBzvB,MAArB,EAAqC9tB,KAArC,EAAoDoL,IAApD,EAAgE;IAAA;;IAAA;MACnF,aAAa,OAAI,CAACwxC,UAAL,CAAgB/8C,eAAhB,CAAgC09C,UAAhC,EAA4CzvB,MAA5C,EAAoD9tB,KAApD,EAA2DoL,IAA3D,EAAiEg0B,SAAjE,EAAb;IADmF;EAEpF;;EAEKvqB,gBAAgB,CAAC7U,KAAD,EAAc;IAAA;;IAAA;MAClC,aAAa,OAAI,CAAC48C,UAAL,CAAgBY,oBAAhB,CAAqCx9C,KAArC,EAA4Co/B,SAA5C,EAAb;IADkC;EAEnC;;EAEKmS,UAAU,CAACzjB,MAAD,EAAiBjvB,cAAjB,EAA0C4+C,kBAA1C,EAAqE;IAAA;;IAAA;MACnF,IAAIC,oBAAoB,GAAG,IAAIjB,sEAAJ,EAA3B;MAEAiB,oBAAoB,CAAC5vB,MAArB,GAA8BA,MAA9B;MACA4vB,oBAAoB,CAACC,aAArB,GAAqC9+C,cAArC;MACA6+C,oBAAoB,CAAC/+C,kBAArB,GAA0C8+C,kBAA1C;MAEA,aAAa,OAAI,CAACb,UAAL,CAAgBgB,kBAAhB,CAAmCF,oBAAnC,EAAyDte,SAAzD,EAAb;IAPmF;EAQpF;;EACKye,cAAc,CAAC79C,KAAD,EAAa;IAAA;;IAAA;MAC/BL,OAAO,CAACC,GAAR,CAAYI,KAAZ;MACA,aAAa,OAAI,CAAC48C,UAAL,CAAgBiB,cAAhB,CAA+B79C,KAA/B,EAAsCo/B,SAAtC,EAAb;IAF+B;EAGhC;;AAxHqB;;;mBAAXsd,aAAWrhD,sDAAAA,CAAAA,4DAAAA,GAAAA,sDAAAA,CAAAA,wDAAAA;AAAA;;;SAAXqhD;EAAWphD,SAAXohD,WAAW;EAAAnhD,YAFV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNd,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AAExB,oBAAoB;AACpB,oBAAoB;AACpB,uCAAuC;AAE0D;AACV;AACV;AACkB;;;AAExF,MAAM,YAAY,GAAG,IAAI,yDAAc,CAAS,cAAc,CAAC,CAAC;AAmBhE,MAAM,kBAAkB;IAK3B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,iBAAiB,CAAC,qBAAwD;QACtE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,qBAAqB,KAAK,IAAI;YAC9B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aACxE,IAAI,qBAAqB,KAAK,SAAS;YACxC,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,EAAsB,EAAE,WAAsC,EAAE,QAAmC,EAAE,SAAmB;QAC7H,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACjD,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB,CAAC,cAAsB,EAAE,MAAoB;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6DAA6D,CAAC;QACxF,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;QACjF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAgB,CAAC,CAAC;iBACjE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,+BAA+B,CAAC,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB,CAAC,EAAU;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAgB,CAAC,CAAC;iBACjE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,+BAA+B,CAAC,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAClD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,+BAA+B,CAAC,gBAAkC,EAAE,qBAA4C;QAC5G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kFAAkF,CAAC;QAC7G,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI;YAC3D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACrF,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC;QAC/F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sCAAsC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sCAAsC,CAAC,SAAgB,CAAC,CAAC;iBACxE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sCAAsC,CAAC,QAA0B;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,YAA6B;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,YAA6B;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,4BAA4B,CAAC,QAA0B;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,6BAA6B,CAAC,aAAgC;QAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oCAAoC,CAAC,SAAgB,CAAC,CAAC;iBACtE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oCAAoC,CAAC,QAA0B;QACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB,CAAC,OAA8C;QAClE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uDAAuD,CAAC;QAClF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAgB,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,8BAA8B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mCAAmC,CAAC,OAAmD;QACnF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uDAAuD,CAAC;QAClF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAgB,CAAC,CAAC;iBAC5E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0CAA0C,CAAC,QAA0B;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;oFAhmBQ,kBAAkB,yDAKP,4DAAU,0DAAwC,YAAY;mHALzE,kBAAkB,WAAlB,kBAAkB,mBAFf,MAAM;AAunBf,MAAM,WAAW;IAKpB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,QAAQ,CAAC,UAA8B,EAAE,QAA4B;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QACxC,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAiC,CAAC;iBAC9D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAiC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,OAA0B;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,yBAAyB,CAAC,eAA0C;QAChE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4CAA4C,CAAC;QACvE,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,IAAI,IAAI,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC;QAChF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAgB,CAAC,CAAC;iBAClE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAiC,CAAC;iBAC9D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAiC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,gCAAgC,CAAC,QAA0B;QACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,kCAAkC;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oDAAoD,CAAC;QAC/E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,yCAAyC,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yCAAyC,CAAC,SAAgB,CAAC,CAAC;iBAC3E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAiC,CAAC;iBAC9D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAiC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yCAAyC,CAAC,QAA0B;QAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,EAAU;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,KAAoB;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,CAAC;QACnE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,KAAkC;QAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAgB,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,OAAkC;QACjD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAgB,CAAC,CAAC;iBAC3D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAiC,CAAC;iBAC9D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAiC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,UAAqC,EAAE,MAAiC,EAAE,KAAgC,EAAE,IAA+B;QACvJ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAgB,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,KAAgC;QACjD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAiC,CAAC;iBAC9D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAiC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;sEAppBQ,WAAW,yDAKA,4DAAU,0DAAwC,YAAY;4GALzE,WAAW,WAAX,WAAW,mBAFR,MAAM;AAwqBf,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,EAAiB;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,IAA+B,EAAE,UAA8B,EAAE,QAA4B;QAC5G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAgB,CAAC,CAAC;iBAC3D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,KAAgC,EAAE,IAA+B,EAAE,UAA8B,EAAE,QAA4B;QAC/I,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,QAAmC,EAAE,UAAqC;QACxF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,IAA+B,EAAE,UAA8B,EAAE,QAA4B;QAC9G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mCAAmC,CAAC,IAA+B,EAAE,UAA8B,EAAE,QAA4B;QAC7H,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAgB,CAAC,CAAC;iBAC5E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0CAA0C,CAAC,QAA0B;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,0CAA0C,CAAC,qBAAgD;QACvF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,iDAAiD,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iDAAiD,CAAC,SAAgB,CAAC,CAAC;iBACnF;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iDAAiD,CAAC,QAA0B;QAClF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,qBAAgD;QAChE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB,CAAC,SAA6B,EAAE,SAAoC,EAAE,UAAqC,EAAE,UAA8B,EAAE,QAA4B;QAC5L,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAgB,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuD,CAAC;iBACpF;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuD,CAAC;QACjG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,8BAA8B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,+BAA+B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAClE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;4EA7hBQ,cAAc,yDAKH,4DAAU,0DAAwC,YAAY;+GALzE,cAAc,WAAd,cAAc,mBAFX,MAAM;AAkjBf,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,iBAAiB,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QACnhC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAgB,CAAC,CAAC;iBAC3D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAsC,CAAC;iBACnE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAsC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QAC1gC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAA6B;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,KAA6B;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAA6B;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAClE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAA0B,EAAE,MAA0B;QAC/D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC;QACvD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,MAA0B,EAAE,cAAyC;QACtF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,MAAc;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAgB,CAAC,CAAC;iBACnE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iCAAiC,CAAC,QAA0B;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,EAAsB,EAAE,MAA+B;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;kFA7oBQ,iBAAiB,yDAKN,4DAAU,0DAAwC,YAAY;kHALzE,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;AA6qBf,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,wBAAmD,EAAE,WAAsC,EAAE,UAAqC,EAAE,iBAA4C,EAAE,OAAkC,EAAE,SAAoC,EAAE,KAAyC,EAAE,OAAkC,EAAE,IAAiC,EAAE,SAA8B,EAAE,QAA6B,EAAE,UAA+B,EAAE,WAA2C,EAAE,qBAAwD,EAAE,gBAA8C,EAAE,kBAAkD;QAC1qB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACjD,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,IAAI;YAC7D,IAAI,IAAI,oBAAoB,GAAG,kBAAkB,CAAC,EAAE,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC;QACpF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,CAAC;QAC7G,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YACzC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;YAC7C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;;YAE7D,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;;YAE5D,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;YAC/C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;;YAE9D,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;YACjD,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,SAAS;YACrE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;;YAEzE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,SAAS;YAC3D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;;YAEpE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,KAAK,SAAS;YAC/D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;;YAEtE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,MAAc;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,UAAU,CAAC,SAAgB,CAAC,CAAC;iBAC5C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAClE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,UAAU,CAAC,QAA0B;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,4BAA4B,CAAC,YAAoB;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8CAA8C,CAAC;QACzE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mCAAmC,CAAC,SAAgB,CAAC,CAAC;iBACrE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mCAAmC,CAAC,QAA0B;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,8BAA8B,CAAC,YAAgC,EAAE,iBAAgE,EAAE,mBAAkE,EAAE,wBAAuE;QAC1Q,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4CAA4C,CAAC;QACvE,IAAI,YAAY,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC/D,IAAI,YAAY,KAAK,SAAS;YAC/B,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,IAAI;YAC7D,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC3D,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,oBAAoB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC9G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI;YACjE,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC/D,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,sBAAsB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAChH;YACA,CAAC,CAAC,CAAC;QACP,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,wBAAwB,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzE,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,2BAA2B,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBACrH;YACA,CAAC,CAAC,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAgB,CAAC,CAAC;iBACvE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qCAAqC,CAAC,QAA0B;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,MAA0B,EAAE,SAA6B;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,SAA6B,EAAE,YAAgC,EAAE,MAA0B;QACpG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,YAAY,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC/D,IAAI,YAAY,KAAK,SAAS;YAC/B,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,MAA0B,EAAE,YAA8B;QAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,YAAY,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC/D,IAAI,YAAY,KAAK,SAAS;YAC/B,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5G,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,2BAA2B,CAAC,MAAc;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAgB,CAAC,CAAC;iBACpE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kCAAkC,CAAC,QAA0B;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,MAA0B,EAAE,YAAgC,EAAE,SAAoC;QAC5G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,YAAY,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC/D,IAAI,YAAY,KAAK,SAAS;YAC/B,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAgB,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,MAA0B,EAAE,MAA0B;QACnE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,YAAoB;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4CAA4C,CAAC;QACvE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAqC,EAAE,MAA0B,EAAE,SAA6B;QAC3G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,KAAyB,EAAE,MAA0B,EAAE,SAA6B;QAClG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aACxD,IAAI,KAAK,KAAK,SAAS;YACxB,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,MAA0B,EAAE,SAA6B;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC;QAC1D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,OAAkC;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAClE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,MAA0B,EAAE,OAAkC;QAC5E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuC,CAAC;iBACpE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,MAA0B,EAAE,IAA+B;QAC3E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,MAA0B,EAAE,SAA6B,EAAE,OAAkC,EAAE,gBAAqC,EAAE,SAAoC,EAAE,WAAsC,EAAE,UAAqC,EAAE,iBAA4C,EAAE,wBAAmD,EAAE,OAAkC,EAAE,KAAgC,EAAE,KAAyC;QACrd,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6BAA6B,CAAC;QACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;;YAE1D,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;YAC7C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;;YAE7D,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YACzC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,SAAS;YAC3D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;;YAEpE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;YAC7C,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;YACjD,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;YAC/C,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS;YAC7D,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,wBAAwB,KAAK,IAAI,IAAI,wBAAwB,KAAK,SAAS;YAC3E,QAAQ,CAAC,MAAM,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YACzC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACrC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,CAAC;QAE7G,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,eAA2C;QAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAgB,CAAC,CAAC;iBAC3D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,MAA0B,EAAE,MAA0B;QACxE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,4BAA4B,CAAC,QAA0B;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;4EAxwCQ,cAAc,yDAKH,4DAAU,0DAAwC,YAAY;+GALzE,cAAc,WAAd,cAAc,mBAFX,MAAM;AAqxCf,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,4BAA4B,CAAC,SAAwB;QACjD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mCAAmC,CAAC,SAAgB,CAAC,CAAC;iBACrE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mCAAmC,CAAC,QAA0B;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,+BAA+B,CAAC,SAAwB;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0CAA0C,CAAC;QACrE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sCAAsC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sCAAsC,CAAC,SAAgB,CAAC,CAAC;iBACxE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sCAAsC,CAAC,QAA0B;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;4EA9GQ,cAAc,yDAKH,4DAAU,0DAAwC,YAAY;+GALzE,cAAc,WAAd,cAAc,mBAFX,MAAM;AA2Hf,MAAM,eAAe;IAKxB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,YAAY;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAmC,CAAC;iBAChE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAmC,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;8EAtHQ,eAAe,yDAKJ,4DAAU,0DAAwC,YAAY;gHALzE,eAAe,WAAf,eAAe,mBAFZ,MAAM;AAqIf,MAAM,oBAAoB;IAK7B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,wBAAwB,CAAC,SAAwB,EAAE,UAA8B,EAAE,QAA4B;QAC3G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAgB,CAAC,CAAC;iBACjE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuD,CAAC;iBACpF;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuD,CAAC;QACjG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,+BAA+B,CAAC,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,+BAA+B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAClE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mCAAmC,CAAC,SAAwB,EAAE,UAA8B,EAAE,QAA4B;QACtH,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC;QAChF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0CAA0C,CAAC,SAAgB,CAAC,CAAC;iBAC5E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAuD,CAAC;iBACpF;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAuD,CAAC;QACjG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0CAA0C,CAAC,QAA0B;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,+BAA+B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAClE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iCAAiC,CAAC,SAAwB,EAAE,IAAmB;QAC3E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yDAAyD,CAAC;QACpF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wCAAwC,CAAC,SAAgB,CAAC,CAAC;iBAC1E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wCAAwC,CAAC,QAA0B;QACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,YAA2B;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6CAA6C,CAAC;QACxE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,4BAA4B,CAAC,QAA0B;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;wFA3OQ,oBAAoB,yDAKT,4DAAU,0DAAwC,YAAY;qHALzE,oBAAoB,WAApB,oBAAoB,mBAFjB,MAAM;AA0Pf,MAAM,eAAe;IAKxB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,YAAY,CAAC,IAA+B,EAAE,gBAA6C;QACvF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI;YAC3D,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,IAA+B;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,CAAC;QAChE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB,CAAC,IAA+B;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAgB,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,8BAA8B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,IAA+B;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;8EA5NQ,eAAe,yDAKJ,4DAAU,0DAAwC,YAAY;gHALzE,eAAe,WAAf,eAAe,mBAFZ,MAAM;AAwOf,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,oBAAoB,CAAC,UAAqC,EAAE,WAAsC,EAAE,cAAyC,EAAE,SAAoC,EAAE,UAA4C;QAC7N,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACjD,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;YAC/C,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAE7G,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;4EAtEQ,cAAc,yDAKH,4DAAU,0DAAwC,YAAY;+GALzE,cAAc,WAAd,cAAc,mBAFX,MAAM;AAsFf,MAAM,mBAAmB;IAK5B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,IAA+B,EAAE,SAA6B;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,EAAsB;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAChD,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,UAA8B,EAAE,KAAgC,EAAE,MAAiC;QAC9G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,OAAyB;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;sFAvRQ,mBAAmB,yDAKR,4DAAU,0DAAwC,YAAY;oHALzE,mBAAmB,WAAnB,mBAAmB,mBAFhB,MAAM;AA+Sf,MAAM,qBAAqB;IAK9B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,EAAU;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,cAAc,CAAC,SAAgB,CAAC,CAAC;iBAChD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,cAAc,CAAC,QAA0B;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,QAAuB,EAAE,SAAoC;QACvE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC;QACtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAgB,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QACnhC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA2C,CAAC;iBACxE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA2C,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QAC1gC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA2C,CAAC;iBACxE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA2C,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,SAAoC,EAAE,MAA2B,EAAE,IAAsC;QAChI,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAA0B,EAAE,MAA0B,EAAE,gBAAqC;QACtG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,gBAAgB,KAAK,IAAI;YACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACnE,IAAI,gBAAgB,KAAK,SAAS;YACnC,IAAI,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC;QAClF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,MAA0B,EAAE,cAAyC;QACtF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,CAAC;QACnE,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAoC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,OAAsC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,MAAc;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+CAA+C,CAAC;QAC1E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAgB,CAAC,CAAC;iBACnE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iCAAiC,CAAC,QAA0B;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,EAAsB,EAAE,MAA+B;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,CAAC;QACnE,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iCAAiC,CAAC,WAAsC;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yDAAyD,CAAC;QACpF,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACjD,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wCAAwC,CAAC,SAAgB,CAAC,CAAC;iBAC1E;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wCAAwC,CAAC,QAA0B;QACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,EAAsB,EAAE,aAAwC;QAChF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC;QACtE,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI;YACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAChE,IAAI,aAAa,KAAK,SAAS;YAChC,IAAI,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;0FA3zBQ,qBAAqB,yDAKV,4DAAU,0DAAwC,YAAY;sHALzE,qBAAqB,WAArB,qBAAqB,mBAFlB,MAAM;AAi1Bf,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,iBAAiB,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QACnhC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAsC,CAAC;iBACnE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAsC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,kBAAsC,EAAE,wBAAmD,EAAE,qBAAgD,EAAE,wBAAmD,EAAE,2BAA6C,EAAE,yBAAoD,EAAE,+BAA0D,EAAE,wBAAmD,EAAE,uBAAkD,EAAE,sBAAsD,EAAE,0BAAqD,EAAE,gCAA6D,EAAE,4BAAuD,EAAE,+BAAwD,EAAE,2BAAsD,EAAE,4BAAqD,EAAE,qBAAmD,EAAE,eAAoD,EAAE,UAA8B,EAAE,QAA4B;QAC1gC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,kBAAkB,KAAK,IAAI;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACrE,IAAI,kBAAkB,KAAK,SAAS;YACrC,IAAI,IAAI,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACtF,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,2BAA2B,KAAK,IAAI;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;aAC9E,IAAI,2BAA2B,KAAK,SAAS;YAC9C,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzJ,IAAI,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,KAAK,IAAI;YAC7E,IAAI,IAAI,4BAA4B,GAAG,kBAAkB,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,GAAG,CAAC;QACpG,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,EAAE,GAAG,+BAA+B,CAAC,GAAG,GAAG,CAAC;QAChH,IAAI,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,KAAK,IAAI;YAC3E,IAAI,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAClG,IAAI,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,KAAK,IAAI;YACzE,IAAI,IAAI,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC;QAChG,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAI;YACvE,IAAI,IAAI,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;QAC9F,IAAI,0BAA0B,KAAK,SAAS,IAAI,0BAA0B,KAAK,IAAI;YAC/E,IAAI,IAAI,6BAA6B,GAAG,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC,GAAG,GAAG,CAAC;QACtG,IAAI,gCAAgC,KAAK,SAAS,IAAI,gCAAgC,KAAK,IAAI;YAC3F,gCAAgC,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mCAAmC,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,EAAE,GAAG,4BAA4B,CAAC,GAAG,GAAG,CAAC;QAC1G,IAAI,+BAA+B,KAAK,SAAS,IAAI,+BAA+B,KAAK,IAAI;YACzF,IAAI,IAAI,kCAAkC,GAAG,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAAG,+BAA+B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACrK,IAAI,2BAA2B,KAAK,SAAS,IAAI,2BAA2B,KAAK,IAAI;YACjF,IAAI,IAAI,8BAA8B,GAAG,kBAAkB,CAAC,EAAE,GAAG,2BAA2B,CAAC,GAAG,GAAG,CAAC;QACxG,IAAI,4BAA4B,KAAK,SAAS,IAAI,4BAA4B,KAAK,IAAI;YACnF,IAAI,IAAI,+BAA+B,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC5J,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;YACrE,IAAI,IAAI,wBAAwB,GAAG,kBAAkB,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC5F,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvD,KAAK,IAAI,IAAI,IAAI,IAAI;oBAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC5G;YACA,CAAC,CAAC,CAAC;QACP,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAA0B,EAAE,MAA0B,EAAE,gBAAqC;QACtG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC;QACvD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,gBAAgB,KAAK,IAAI;YACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACnE,IAAI,gBAAgB,KAAK,SAAS;YACnC,IAAI,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC;QAClF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,MAA0B,EAAE,cAAyC;QACtF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAiC;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,KAAiC;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAgC,CAAC;iBAC7D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAgC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7B;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,MAAc;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2CAA2C,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iCAAiC,CAAC,SAAgB,CAAC,CAAC;iBACnE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACvE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA0C,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iCAAiC,CAAC,QAA0B;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,EAAsB,EAAE,MAA+B;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,EAAsB,EAAE,aAAwC;QAChF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uCAAuC,CAAC;QAClE,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,aAAa,KAAK,IAAI;YACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAChE,IAAI,aAAa,KAAK,SAAS;YAChC,IAAI,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA+B,CAAC;iBAC5D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA+B,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,YAAgC,EAAE,iBAAqC;QAC9E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,YAAY,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC/D,IAAI,YAAY,KAAK,SAAS;YAC/B,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,iBAAiB,KAAK,IAAI;YAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACpE,IAAI,iBAAiB,KAAK,SAAS;YACpC,IAAI,IAAI,oBAAoB,GAAG,kBAAkB,CAAC,EAAE,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC;QACpF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAsC,CAAC;iBACnE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAsC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;kFAntBQ,iBAAiB,yDAKN,4DAAU,0DAAwC,YAAY;kHALzE,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;AAguBf,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,SAAS,CAAC,OAAiC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAgB,CAAC,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,gBAAgB,CAAC,QAA0B;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,WAAsC;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACjD,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA2C,CAAC;iBACxE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA2C,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;kFA9GQ,iBAAiB,yDAKN,4DAAU,0DAAwC,YAAY;kHALzE,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;AA+Hf,MAAM,mBAAmB;IAK5B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,mBAAmB,CAAC,EAAiB;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAgB,CAAC,CAAC;iBAC5D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8C,CAAC;iBAC3E;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8C,CAAC;QACxF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,UAAqC,EAAE,MAAsC,EAAE,YAAuC,EAAE,eAA0C,EAAE,OAAkC,EAAE,SAAkC,EAAE,OAAgC,EAAE,UAA8B,EAAE,QAA4B;QACxV,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,IAAI,IAAI,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC;QAChF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACnG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC7F,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAgD,CAAC;iBAC7E;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAgD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5D;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,gBAAsC,EAAE,UAAqC,EAAE,MAAsC,EAAE,YAAuC,EAAE,eAA0C,EAAE,OAAkC,EAAE,SAAkC,EAAE,OAAgC,EAAE,UAA8B,EAAE,QAA4B;QAC/X,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC;QACvD,IAAI,gBAAgB,KAAK,IAAI;YACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACnE,IAAI,gBAAgB,KAAK,SAAS;YACnC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;YACzD,IAAI,IAAI,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC;QAChF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;YAC7C,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACnG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAC7F,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAgD,CAAC;iBAC7E;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAgD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5D;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAkC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAkC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,0BAA0B;aACvC,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,4DAA4D,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,IAAI,QAAQ,EAAE;gBACV,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACH,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxG,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACvF;YACD,OAAO,wCAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9G;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,MAA0B,EAAE,cAAyC;QACtF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI;YACvD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2BAA2B,CAAC,QAA0B;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;sFAhYQ,mBAAmB,yDAKR,4DAAU,0DAAwC,YAAY;oHALzE,mBAAmB,WAAnB,mBAAmB,mBAFhB,MAAM;AA6Yf,MAAM,oBAAoB;IAK7B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,wBAAwB,CAAC,IAA+B,EAAE,UAA8B,EAAE,QAA4B;QAClH,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6BAA6B,CAAC;QACxD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAgB,CAAC,CAAC;iBACjE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAoC,CAAC;iBACjE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAoC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,+BAA+B,CAAC,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAChD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,EAAiB;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAkC,CAAC;iBAC/D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAkC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,4BAA4B,CAAC,QAA0B;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;wFA5HQ,oBAAoB,yDAKT,4DAAU,0DAAwC,YAAY;qHALzE,oBAAoB,WAApB,oBAAoB,mBAFjB,MAAM;AAyIf,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAgB,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,6BAA6B,CAAC,EAA6B,EAAE,UAA8B,EAAE,QAA4B;QACrH,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC;QAC1D,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAC/B,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oCAAoC,CAAC,SAAgB,CAAC,CAAC;iBACtE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAwC,CAAC;iBACrE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAwC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oCAAoC,CAAC,QAA0B;QACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;kFAhIQ,iBAAiB,yDAKN,4DAAU,0DAAwC,YAAY;kHALzE,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;AA+If,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,YAAY;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAClE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACjD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,KAAgC,EAAE,MAAiC;QAC3E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YACvC,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8B,CAAC;iBAC3D;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8B,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAExE,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,UAA8B,EAAE,UAA8B;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC3C,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,OAA8B;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACzD;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA4B,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;4EAhOQ,cAAc,yDAKH,4DAAU,0DAAwC,YAAY;+GALzE,cAAc,WAAd,cAAc,mBAFX,MAAM;AAgPf,MAAM,eAAe;IAKxB,YAAgC,IAAgB,EAAoC,OAAgB;QAF1F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,QAAQ,CAAC,UAAqC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAsC,CAAC;iBACnE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAsC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA8C,CAAC;iBAC3E;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA8C,CAAC;QACxF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC1D;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,8BAA8B,CAAC,QAAyB;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6CAA6C,CAAC;QACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;QACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAgB,CAAC,CAAC;iBACvE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAA2C,CAAC;iBACxE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAA2C,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qCAAqC,CAAC,QAA0B;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,IAAmB;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,CAAC;QAChE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,iBAA2C;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAEnD,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,6DAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,kEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,gDAAgB,CAAC,CAAC,CAAyC,CAAC;iBACtE;aACJ;;gBACG,OAAO,gDAAgB,CAAC,SAAS,CAAyC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,8DAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,wCAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wDAAmB,CAAC,CAAC,aAAqB,EAAE,EAAE;gBACnF,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,wCAAa,CAAC,IAAW,CAAC,CAAC;IACtC,CAAC;;8EAlRQ,eAAe,yDAKJ,4DAAU,0DAAwC,YAAY;gHALzE,eAAe,WAAf,eAAe,mBAFZ,MAAM;AAuRtB,2EAA2E;AACpE,MAAM,IAAI;IAEb,YAAY,IAAY;QACpB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAMD,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,mEAAS;IACT,qEAAU;IACV,2EAAa;IACb,2EAAa;IACb,qEAAU;IACV,2EAAa;AACjB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAEM,MAAM,YAAY;IAKrB,YAAY,IAAoB;QAC5B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAe,eAAe;IAMjC,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,eAAgB,SAAQ,eAAe;IAchD,YAAY,IAAuB;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3G,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChG,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC3D;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACvF,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACjF,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAiBD,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,yDAAO;IACP,2DAAQ;IACR,+DAAU;IACV,iEAAW;IACX,2DAAQ;IACR,iEAAW;AACf,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,iFAAqB;IACrB,6EAAmB;IACnB,6EAAmB;AACvB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAEM,MAAM,eAAe;IAaxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBAClC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,EAAS,CAAC;gBACjC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACrC,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,cAAc,GAAG,EAAS,CAAC;gBAChC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC;oBACpC,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe;gBACjC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAC5B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc;gBAChC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAgBM,MAAM,aAAa;IAMtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC/F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,UAAU;IAKnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACvH;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxG,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,qCAAqC;IAI9C,YAAY,IAA6C;QACrD,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,EAAS,CAAC;gBACjC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACrC,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe;gBACjC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,0CAA0C;IAInD,YAAY,IAAkD;QAC1D,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,0CAA0C,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,OAAO;IAqBhB,YAAY,IAAe;QACvB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACtC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzG,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAwBM,MAAM,OAAO;IAMhB,YAAY,IAAe;QACvB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,iBAAiB;IAgB1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACtC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBM,MAAM,yBAAyB;IAKlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACzG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,UAAU;IAgBnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACrD;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAClI;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7F,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtG,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBM,MAAM,UAAU;IAKnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,aAAa;IActB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC5F,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAiBM,MAAM,iBAAiB;IAI1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC9F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,WAAW;IAepB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC1F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAkBM,MAAM,UAAU;IAKnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,oBAAoB;IAI7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC9F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,gBAAgB;IAKzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,+BAA+B;IAQxC,YAAY,IAAuC;QAC/C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,+BAA+B,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,gBAAgB;IAgBzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC1F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBM,MAAM,WAAY,SAAQ,eAAe;IA0B5C,YAAY,IAAmB;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAS,CAAC;gBACrC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBACzC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAChI;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB;gBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACjH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA6BM,MAAM,cAAe,SAAQ,WAAW;IAO3C,YAAY,IAAsB;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3G,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACvH;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAUM,MAAe,kBAAkB;IAEpC,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAKM,MAAe,MAAO,SAAQ,kBAAkB;IAKnD,YAAY,IAAc;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,MAAM;IAIf,YAAY,IAAc;QACtB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOD,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,6CAAQ;IACR,iDAAU;IACV,iDAAU;IACV,mEAAmB;IACnB,uDAAa;IACb,iDAAU;IACV,uDAAa;IACb,yDAAc;IACd,2CAAO;AACX,CAAC,EAVW,WAAW,KAAX,WAAW,QAUtB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,6DAAiB;IACjB,mDAAY;IACZ,+CAAU;AACd,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAEM,MAAM,UAAU;IASnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC5F,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAYD,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,mEAAiB;IACjB,6DAAc;AAClB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,yCAAQ;IACR,iDAAY;IACZ,6CAAU;IACV,2CAAS;AACb,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAEM,MAAM,cAAc;IAIvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOD,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,mDAAa;IACb,qDAAc;AAClB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAEM,MAAM,oBAAoB;IAwB7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAS,CAAC;gBACrC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBACzC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB;gBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA2BM,MAAM,oBAAoB;IAsB7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3G,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAyBM,MAAM,kBAAkB;IAO3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAS,CAAC;gBACrC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBACzC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClF;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3E;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB;gBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACvD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5D;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAUM,MAAM,wBAAwB;IAejC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACtC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC/D;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAkBM,MAAM,UAAU;IAgBnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,GAAG,EAAS,CAAC;gBACtB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC1B,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI;gBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBD,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,mDAAW;IACX,+CAAS;IACT,iDAAU;IACV,uDAAa;IACb,iEAAkB;IAClB,mEAAmB;AACvB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAEM,MAAM,aAAc,SAAQ,eAAe;IAM9C,YAAY,IAAqB;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,aAAa;IAOtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAUM,MAAM,OAAQ,SAAQ,eAAe;IAgBxC,YAAY,IAAe;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,GAAG,EAAS,CAAC;gBACtB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC1B,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI;gBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBM,MAAM,UAAW,SAAQ,eAAe;IAM3C,YAAY,IAAkB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,aAAa;IAQtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC/F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,0BAA0B;IAGnC,YAAY,IAAkC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACtC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAMM,MAAM,eAAe;IAgBxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1D;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,GAAG,EAAS,CAAC;gBACtB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC1B,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI;gBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAmBD,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,uEAAsB;IACtB,uEAAsB;IACtB,6DAAiB;IACjB,qDAAa;IACb,mDAAY;IACZ,yDAAe;IACf,2DAAgB;IAChB,6DAAiB;IACjB,uEAAsB;IACtB,qEAAqB;IACrB,oFAA6B;AACjC,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB;AAEM,MAAM,UAAU;IAQnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC1F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,SAAS;IAIlB,YAAY,IAAiB;QACzB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,+BAA+B;IAQxC,YAAY,IAAuC;QAC/C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,+BAA+B,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,gBAAgB;IAUzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACpG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtF,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtF,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAaM,MAAM,oBAAoB;IAK7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,cAAc;IAMvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,WAAW;IAKpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,gBAAgB;IAMzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AASM,MAAM,QAAS,SAAQ,eAAe;IAKzC,YAAY,IAAgB;QACxB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,iBAAkB,SAAQ,WAAW;IAI9C,YAAY,IAAyB;QACjC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,2BAA2B;IAsBpC,YAAY,IAAmC;QAC3C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAS,CAAC;gBACrC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBACzC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACzI;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB;gBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1H,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAyBM,MAAM,cAAe,SAAQ,WAAW;IAK3C,YAAY,IAAsB;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9G,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,wBAAwB;IAuBjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAS,CAAC;gBACrC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBACzC,IAAI,CAAC,mBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,EAAS,CAAC;gBACnC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACvC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;SAC/C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB;gBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB;gBACnC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA0BD,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,yDAAY;IACZ,mFAAyB;AAC7B,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAEM,MAAM,wBAAwB;IAQjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,mBAAmB;IAQ5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,sBAAsB;IAwB/B,YAAY,IAA8B;QACtC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/H,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE;gBAC/C,IAAI,CAAC,qBAAqB,GAAG,EAAS,CAAC;gBACvC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC;oBAC3C,IAAI,CAAC,qBAAsB,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9E;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3H,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChI,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACrD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,wBAAwB,GAAG,EAAS,CAAC;gBAC1C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,0BAA0B,CAAC;oBAC9C,IAAI,CAAC,wBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;YACnC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,qBAAqB;gBACvC,IAAI,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnG,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5G,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClH,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;YAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB;gBAC1C,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA2BM,MAAM,oBAAoB;IAI7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,uBAAuB;IAUhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACrG,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE;gBACrD,IAAI,CAAC,2BAA2B,GAAG,EAAS,CAAC;gBAC7C,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,6BAA6B,CAAC;oBACjD,IAAI,CAAC,2BAA4B,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1F;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,EAAE;gBACzD,IAAI,CAAC,+BAA+B,GAAG,EAAS,CAAC;gBACjD,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,iCAAiC,CAAC;oBACrD,IAAI,CAAC,+BAAgC,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClG;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACpH,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE;YACjD,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,CAAC;YACzC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,2BAA2B;gBAC7C,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/D;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE;YACrD,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,CAAC;YAC7C,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,+BAA+B;gBACjD,IAAI,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAaM,MAAM,6BAA6B;IAoBtC,YAAY,IAAqC;QAC7C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACxE,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3J,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC1I;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;QACvE,IAAI,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/I,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7H,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3G,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5G,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAuBM,MAAM,sBAAsB;IAI/B,YAAY,IAA8B;QACtC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;SAC/C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,iCAAiC;IAQ1C,YAAY,IAAyC;QACjD,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACxG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,mBAAmB;IAI5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,eAAe;IAKxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,yBAAyB;IAWlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAChE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;QACrE,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC/D,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAcM,MAAM,UAAU;IAInB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,yBAAyB;IAQlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAWM,MAAM,cAAc;IAevB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC9G;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtF,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAkBM,MAAM,eAAe;IAOxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAUM,MAAM,qBAAqB;IAI9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC3F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOM,MAAM,cAAc;IAKvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACnG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,cAAc;IAKvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,UAAU;IAKnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACrG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,oBAAoB;IAK7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAQM,MAAM,iBAAiB;IAI1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAOD,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,qDAAQ;IACR,uDAAS;IACT,iFAAsB;AAC1B,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAEM,MAAM,wBAAwB;IAKjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC3F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAoBM,MAAM,gBAAiB,SAAQ,KAAK;IAOvC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QACxG,KAAK,EAAE,CAAC;QASF,uBAAkB,GAAG,IAAI,CAAC;QAPhC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAC9B,OAAO,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC3C,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACrH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACvC,OAAO,gDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,gDAAgB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IACzB,OAAO,IAAI,4CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACH,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAE,KAAK,CAAC,MAAc,CAAC,MAAM,CAAC,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;;;;;;;;;;;;;;;;AC13ZD,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;GAKG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;;;;;ACdtE;;GAEG;AAC6B;AACe;AAGF;AACY;AAElD,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAEF,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,uEAAuB,SAAS,CAAC,CAAC,eAAe,CAAC,sDAAS,CAAC;KACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACvBlC;;;;;;;;;;ACAA","sources":["./src/api-authorization/role-guard.service.ts","./src/app/Common/ReplacePipe.ts","./src/app/Common/Sort.ts","./src/app/Common/SortDirective.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/b2c-config.ts","./src/app/components/Inputs/file-upload-button/file-upload-button.component.ts","./src/app/components/Inputs/file-upload-button/file-upload-button.component.html","./src/app/components/clients/clients-detail/clients-detail.component.ts","./src/app/components/clients/clients-detail/clients-detail.component.html","./src/app/components/clients/clients-detail/ngbd-sortable-header.directive.ts","./src/app/components/common/action-button/action-button.component.ts","./src/app/components/common/action-button/action-button.component.html","./src/app/components/common/attachment-list/attachment-list.component.ts","./src/app/components/common/attachment-list/attachment-list.component.html","./src/app/components/common/confirmation-modal/confirmation-modal.component.ts","./src/app/components/common/confirmation-modal/confirmation-modal.component.html","./src/app/components/common/cookie-consent/cookie-consent.component.ts","./src/app/components/common/cookie-consent/cookie-consent.component.html","./src/app/components/common/filters/clients-search/clients-search.component.ts","./src/app/components/common/filters/clients-search/clients-search.component.html","./src/app/components/common/filters/multiple-filter-search/multiple-filter-search.component.ts","./src/app/components/common/filters/multiple-filter-search/multiple-filter-search.component.html","./src/app/components/common/filters/network-member-filter/network-member-filter.component.ts","./src/app/components/common/filters/network-member-filter/network-member-filter.component.html","./src/app/components/common/filters/payment-filter/payment-filter.component.ts","./src/app/components/common/filters/payment-filter/payment-filter.component.html","./src/app/components/common/filters/status-filter/status-filter.component.ts","./src/app/components/common/filters/status-filter/status-filter.component.html","./src/app/components/common/filters/tag-filter/tag-filter.component.ts","./src/app/components/common/filters/tag-filter/tag-filter.component.html","./src/app/components/common/filters/users-search/users-search.component.ts","./src/app/components/common/filters/users-search/users-search.component.html","./src/app/components/common/filters/year-filter/year-filter.component.ts","./src/app/components/common/filters/year-filter/year-filter.component.html","./src/app/components/common/footer/footer.component.ts","./src/app/components/common/footer/footer.component.html","./src/app/components/common/header/header.component.ts","./src/app/components/common/header/header.component.html","./src/app/components/common/message-box/message-box.component.ts","./src/app/components/common/message-box/message-box.component.html","./src/app/components/common/modal-basic/modal-basic.component.ts","./src/app/components/common/modal-basic/modal-basic.component.html","./src/app/components/common/modal/modal.component.ts","./src/app/components/common/modal/modal.component.html","./src/app/components/common/nav-menu/nav-menu.component.ts","./src/app/components/common/nav-menu/nav-menu.component.html","./src/app/components/common/refresh-task-view/refresh-task-view.component.ts","./src/app/components/common/refresh-task-view/refresh-task-view.component.html","./src/app/components/common/visual-loading/loading-spinner/loading-spinner.component.ts","./src/app/components/common/visual-loading/loading-spinner/loading-spinner.component.html","./src/app/components/illustrations/illustration-detail/illustration-detail.component.ts","./src/app/components/illustrations/illustration-detail/illustration-detail.component.html","./src/app/components/illustrations/illustration-list/illustration-list.component.ts","./src/app/components/illustrations/illustration-list/illustration-list.component.html","./src/app/components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component.ts","./src/app/components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component.html","./src/app/components/tasks/boolean-task/boolean-task-list/boolean-task-list.component.ts","./src/app/components/tasks/boolean-task/boolean-task-list/boolean-task-list.component.html","./src/app/components/tasks/comment-task/comment-form/comment-form.component.ts","./src/app/components/tasks/comment-task/comment-form/comment-form.component.html","./src/app/components/tasks/comment-task/comment-item/comment-item.component.ts","./src/app/components/tasks/comment-task/comment-item/comment-item.component.html","./src/app/components/tasks/comment-task/comment-list/comment-list.component.ts","./src/app/components/tasks/comment-task/comment-list/comment-list.component.html","./src/app/components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component.ts","./src/app/components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component.html","./src/app/components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component.ts","./src/app/components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component.html","./src/app/components/tasks/informative-task/informative-detail/informative-detail.component.ts","./src/app/components/tasks/informative-task/informative-detail/informative-detail.component.html","./src/app/components/tasks/informative-task/informative-item/informative-item.component.ts","./src/app/components/tasks/informative-task/informative-item/informative-item.component.html","./src/app/components/tasks/informative-task/informative-list/informative-list.component.ts","./src/app/components/tasks/informative-task/informative-list/informative-list.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/interceptors/error-catching.interceptor.ts","./src/app/models/EmbeddedEnvelope.ts","./src/app/models/RequestIllustration.ts","./src/app/models/enums/CommentType.ts","./src/app/models/enums/NotificaionFrequency.ts","./src/app/models/enums/NotificationType.ts","./src/app/models/enums/processIds.ts","./src/app/models/enums/user-actions.ts","./src/app/models/enums/user-roles.ts","./src/app/models/illustrationRequestInputMetadata.ts","./src/app/pages/Reports/reports.component.ts","./src/app/pages/Reports/reports.component.html","./src/app/pages/account-input-detail-page/account-input-detail-page.component.ts","./src/app/pages/account-input-detail-page/account-input-detail-page.component.html","./src/app/pages/account-input-list-page/account-input-list-page.component.ts","./src/app/pages/account-input-list-page/account-input-list-page.component.html","./src/app/pages/approvals-detail-page/approvals-detail-page.component.ts","./src/app/pages/approvals-detail-page/approvals-detail-page.component.html","./src/app/pages/approvals-list-page/approvals-list-page.component.ts","./src/app/pages/approvals-list-page/approvals-list-page.component.html","./src/app/pages/auth/login-failed/login-failed.component.ts","./src/app/pages/auth/login-failed/login-failed.component.html","./src/app/pages/clients/clients.component.ts","./src/app/pages/clients/clients.component.html","./src/app/pages/e-signature/esignature.component.ts","./src/app/pages/e-signature/esignature.component.html","./src/app/pages/faq/faq-categories/faq-categories.component.ts","./src/app/pages/faq/faq-categories/faq-categories.component.html","./src/app/pages/faq/faq.component.ts","./src/app/pages/faq/faq.component.html","./src/app/pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component.ts","./src/app/pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component.html","./src/app/pages/finalized-accounts-list-page/finalized-accounts-list-page.component.ts","./src/app/pages/finalized-accounts-list-page/finalized-accounts-list-page.component.html","./src/app/pages/illustration-input-detail-page/illustration-input-detail-page.component.html","./src/app/pages/illustration-input-detail-page/illustration-input-detail-page.component.ts","./src/app/pages/illustration-input-list-page/illustration-input-list-page.component.ts","./src/app/pages/illustration-input-list-page/illustration-input-list-page.component.html","./src/app/pages/illustration-input-request-detail-page/illustration-input-request-detail-page.component.ts","./src/app/pages/illustration-input-request-detail-page/illustration-input-request-detail-page.component.html","./src/app/pages/messages/messages.component.ts","./src/app/pages/messages/messages.component.html","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/not-found/not-found.component.html","./src/app/pages/overview/overview.component.ts","./src/app/pages/overview/overview.component.html","./src/app/pages/payments-detail-page/payments-detail-page.component.html","./src/app/pages/payments-detail-page/payments-detail-page.component.ts","./src/app/pages/payments-list-page/payments-list-page.component.ts","./src/app/pages/payments-list-page/payments-list-page.component.html","./src/app/pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component.html","./src/app/pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component.ts","./src/app/pages/pooling-permissions-list-page/pooling-permissions-list-page.component.ts","./src/app/pages/pooling-permissions-list-page/pooling-permissions-list-page.component.html","./src/app/pages/request-illustration/request-illustration.component.ts","./src/app/pages/request-illustration/request-illustration.component.html","./src/app/pages/service-fees-detail-page/service-fees-detail-page.component.html","./src/app/pages/service-fees-detail-page/service-fees-detail-page.component.ts","./src/app/pages/service-fees-list-page/service-fees-list-page.component.ts","./src/app/pages/service-fees-list-page/service-fees-list-page.component.html","./src/app/pages/supporting-files/supporting-files.component.ts","./src/app/pages/supporting-files/supporting-files.component.html","./src/app/pages/terms-and-conditions/terms-and-conditions.component.ts","./src/app/pages/terms-and-conditions/terms-and-conditions.component.html","./src/app/pages/unauthorized/unauthorized.component.ts","./src/app/pages/unauthorized/unauthorized.component.html","./src/app/services/accounts/accounts.service.ts","./src/app/services/boolean-task/boolean-task.service.ts","./src/app/services/clients.service.ts","./src/app/services/comment.service.ts","./src/app/services/common/common.service.ts","./src/app/services/contacts/contacts.service.ts","./src/app/services/countries/countries.service.ts","./src/app/services/document.service.ts","./src/app/services/e-signature/e-signature.service.ts","./src/app/services/faq.service.ts","./src/app/services/file-upload-task/file-upload-task.service.ts","./src/app/services/illustration/illustration.service.ts","./src/app/services/informative.service.ts","./src/app/services/network-members/network-members.service.ts","./src/app/services/notification.service.ts","./src/app/services/opportunities.service.ts","./src/app/services/popup-notifications/popup-notifications.service.ts","./src/app/services/user.service.ts","./src/app/web-api-client.ts","./src/environments/environment.ts","./src/main.ts","ignored|D:\\a\\1\\s\\src\\WebUI\\ClientApp\\node_modules\\xlsx-js-style\\dist|fs","ignored|D:\\a\\1\\s\\src\\WebUI\\ClientApp\\node_modules\\xlsx-js-style\\dist|stream"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, UrlSegment } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { UserService } from '../app/services/user.service';\r\nimport { PopupNotificationsService, MessageType } from '../app/services/popup-notifications/popup-notifications.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleGuardService implements CanActivate {\r\n isFinancial: boolean;\r\n\r\n constructor(private userService: UserService,\r\n private popupNotificationService: PopupNotificationsService, private router: Router) {\r\n this.checkUserRole();\r\n }\r\n\r\n async checkUserRole() {\r\n var user = (await this.userService.getCurrentUser());\r\n this.isFinancial = !user && user.isFinancial;\r\n }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot): Promise {\r\n const authorizedRoles = route.data.authorizedRoles;\r\n if (!this.userService.loadedUser)\r\n return false;\r\n\r\n if (this.userService.isUnauthorized) {\r\n this.router.navigate([\"unauthorized\"]);\r\n return false;\r\n }\r\n\r\n /* if (route.url[0].path == \"service-fees\" && ! this.isFinancial)\r\n {\r\n this.popupNotificationService.showMessage('You are not authorized to access this page.', MessageType.Warning);\r\n return false;\r\n } */\r\n \r\n if (!(await this.userService.getCurrentUser())?.roles) {\r\n this.popupNotificationService.showMessage(\"Your account doesn't have any role.\", MessageType.Warning);\r\n return false;\r\n }\r\n\r\n let userHasRole = false;\r\n if (authorizedRoles) {\r\n for (let role of authorizedRoles) {\r\n userHasRole = await this.userService.isUserInRole(role);\r\n if (userHasRole) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!userHasRole) {\r\n this.popupNotificationService.showMessage('You are not authorized to access this page.', MessageType.Warning);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'replace' })\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(value: string, strToReplace: string, replacementStr: string): string {\r\n\r\n if (!value || !strToReplace || !replacementStr) {\r\n return value;\r\n }\r\n\r\n return value.replace(strToReplace, replacementStr);\r\n }\r\n}","export class Sort {\r\n\r\n private sortOrder = 1;\r\n private collator = new Intl.Collator(undefined, {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n });\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n public startSort(property, order, type = \"\") {\r\n if (order === \"desc\") {\r\n this.sortOrder = -1;\r\n }\r\n return (a, b) => {\r\n if (type === \"date\") {\r\n return this.sortData(new Date(a[property]), new Date(b[property]));\r\n }\r\n else {\r\n return this.collator.compare(a[property], b[property]) * this.sortOrder;\r\n }\r\n }\r\n }\r\n\r\n private sortData(a, b) {\r\n if (a < b) {\r\n return -1 * this.sortOrder;\r\n } else if (a > b) {\r\n return 1 * this.sortOrder;\r\n } else {\r\n return 0 * this.sortOrder;\r\n }\r\n }\r\n}","import { Directive, Input, ElementRef, Renderer2, HostListener } from '@angular/core';\r\nimport { Sort } from './Sort';\r\n\r\n\r\n\r\n@Directive({\r\n selector: '[appSort]'\r\n})\r\nexport class SortDirective {\r\n\r\n @Input() appSort: {list:any[],prop:string};\r\n constructor(private renderer: Renderer2, private targetElem: ElementRef) { }\r\n @Input() property:string\r\n\r\n @HostListener(\"click\")\r\n sortData() {\r\n // Create Object of Sort Class\r\n const sort = new Sort();\r\n // Get Reference Of Current Clicked Element\r\n const elem = this.targetElem.nativeElement;\r\n // Get In WHich Order list should be sorted by default it should be set to desc on element attribute\r\n const order = elem.getAttribute(\"data-order\");\r\n // Get The Property Type specially set [data-type=date] if it is date field\r\n const type = elem.getAttribute(\"data-type\");\r\n // Get The Property Name from Element Attribute\r\n const property = this.appSort.prop;\r\n console.log(property);\r\n \r\n if (order === \"desc\") {\r\n this.appSort.list.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"asc\");\r\n }\r\n else {\r\n this.appSort.list.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"desc\");\r\n }\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MsalGuard } from \"@azure/msal-angular\";\r\nimport { BrowserUtils } from \"@azure/msal-browser\";\r\nimport { IllustrationDetailComponent } from \"./components/illustrations/illustration-detail/illustration-detail.component\";\r\nimport { IllustrationListComponent } from \"./components/illustrations/illustration-list/illustration-list.component\";\r\n\r\nimport { BooleanTaskDetailComponent } from \"./components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component\";\r\nimport { FileUploadTaskDetailComponent } from \"./components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component\";\r\nimport { InformativeDetailComponent } from \"./components/tasks/informative-task/informative-detail/informative-detail.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { AccountInputDetailPageComponent } from \"./pages/account-input-detail-page/account-input-detail-page.component\";\r\nimport { AccountInputListPageComponent } from \"./pages/account-input-list-page/account-input-list-page.component\";\r\nimport { ApprovalsDetailPageComponent } from \"./pages/approvals-detail-page/approvals-detail-page.component\";\r\nimport { ApprovalsListPageComponent } from \"./pages/approvals-list-page/approvals-list-page.component\";\r\nimport { LoginFailedComponent } from \"./pages/auth/login-failed/login-failed.component\";\r\nimport { ClientsComponent } from \"./pages/clients/clients.component\";\r\nimport { FaqComponent } from \"./pages/faq/faq.component\";\r\nimport { IllustrationInputDetailPageComponent } from \"./pages/illustration-input-detail-page/illustration-input-detail-page.component\";\r\nimport { IllustrationInputListPageComponent } from \"./pages/illustration-input-list-page/illustration-input-list-page.component\";\r\n\r\nimport { MessagesComponent } from \"./pages/messages/messages.component\";\r\nimport { NotFoundComponent } from \"./pages/not-found/not-found.component\";\r\nimport { OverviewComponent } from \"./pages/overview/overview.component\";\r\nimport { PaymentsDetailPageComponent } from \"./pages/payments-detail-page/payments-detail-page.component\";\r\nimport { PaymentsListPageComponent } from \"./pages/payments-list-page/payments-list-page.component\";\r\nimport { PoolingPermissionsDetailPageComponent } from \"./pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component\";\r\nimport { PoolingPermissionsListPageComponent } from \"./pages/pooling-permissions-list-page/pooling-permissions-list-page.component\";\r\nimport { RequestIllustrationComponent } from \"./pages/request-illustration/request-illustration.component\";\r\nimport { ServiceFeesDetailPageComponent } from \"./pages/service-fees-detail-page/service-fees-detail-page.component\";\r\nimport { ServiceFeesListPageComponent } from \"./pages/service-fees-list-page/service-fees-list-page.component\";\r\nimport { ReportsComponent } from \"./pages/Reports/reports.component\";\r\nimport { SupportingFilesComponent } from \"./pages/supporting-files/supporting-files.component\";\r\nimport { UnauthorizedComponent } from \"./pages/unauthorized/unauthorized.component\";\r\nimport { RoleGuardService } from \"../api-authorization/role-guard.service\";\r\nimport { EsignatureComponent } from \"./pages/e-signature/esignature.component\";\r\nimport { FinalizedAccountsListPageComponent } from \"./pages/finalized-accounts-list-page/finalized-accounts-list-page.component\";\r\nimport { FinalizedAccountsDetailPageComponent } from \"./pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component\";\r\nimport { TermsAndConditionsComponent } from \"./pages/terms-and-conditions/terms-and-conditions.component\";\r\nimport { IllustrationInputRequestDetailPageComponent } from \"./pages/illustration-input-request-detail-page/illustration-input-request-detail-page.component\";\r\n\r\nexport const routes: Routes = [\r\n { path: \"\", component: OverviewComponent, canActivate: [MsalGuard] },\r\n {\r\n // Needed for hash routing\r\n path: \"error\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n // Needed for hash routing\r\n path: \"state\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n // Needed for hash routing\r\n path: \"code\",\r\n component: OverviewComponent,\r\n },\r\n {\r\n path: \"login-failed\",\r\n component: LoginFailedComponent,\r\n },\r\n {\r\n path: \"clients\",\r\n component: ClientsComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: ['Collaborator', 'NetworkMember']\r\n }\r\n },\r\n { path: \"faq\", component: FaqComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"service-fees\",\r\n component: ServiceFeesListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"service-fees/:id\",\r\n component: ServiceFeesDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments\",\r\n component: PaymentsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments-mu\",\r\n component: PaymentsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments/:id\",\r\n component: PaymentsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"payments-mu/:id\",\r\n component: PaymentsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"pooling-permission\",\r\n component: PoolingPermissionsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"pooling-permission/:id\",\r\n component: PoolingPermissionsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustration-input\",\r\n component: IllustrationInputListPageComponent,\r\n canActivate: [MsalGuard],\r\n },\r\n {\r\n path: \"illustration-input/:id\",\r\n component: IllustrationInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustration-input-request/:id\",\r\n component: IllustrationInputRequestDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input\",\r\n component: AccountInputListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input/:id\",\r\n component: AccountInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"account-input/:id/:clientId\",\r\n component: AccountInputDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n { path: \"messages\", component: MessagesComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"all-illustrations\",\r\n component: IllustrationListComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustrations/:id\",\r\n component: IllustrationDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"illustration-request\",\r\n component: RequestIllustrationComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"reports/:reportName\",\r\n component: ReportsComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"supporting-files\",\r\n component: SupportingFilesComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n { path: \"wiki\", component: HomeComponent, canActivate: [MsalGuard] },\r\n {\r\n path: \"file-upload/:process/:id\",\r\n component: FileUploadTaskDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"boolean-task/:process/:id\",\r\n component: BooleanTaskDetailComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval\",\r\n component: ApprovalsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval/:id\",\r\n component: ApprovalsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval-mu\",\r\n component: ApprovalsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"approval-mu/:id\",\r\n component: ApprovalsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"e-sign\",\r\n component: EsignatureComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"finalized-accounts\",\r\n component: FinalizedAccountsListPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"annual-report/:id\",\r\n component: FinalizedAccountsDetailPageComponent,\r\n canActivate: [MsalGuard, RoleGuardService],\r\n data: {\r\n authorizedRoles: [\"Collaborator\", \"NetworkMember\"],\r\n },\r\n },\r\n {\r\n path: \"terms-and-conditions\",\r\n component: TermsAndConditionsComponent,\r\n canActivate: [MsalGuard]\r\n },\r\n {\r\n path: \"unauthorized\",\r\n component: UnauthorizedComponent\r\n },\r\n { path: \"404\", component: NotFoundComponent, canActivate: [MsalGuard] },\r\n { path: \"**\", component: NotFoundComponent, canActivate: [MsalGuard] },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n useHash: true,\r\n // Don't perform initial navigation in iframes or popups\r\n /*initialNavigation:\r\n !BrowserUtils.isInIframe() && !BrowserUtils.isInPopup()\r\n ? 'enabled'\r\n : 'disabled',*/\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { NavigationCancel, Router } from '@angular/router';\r\nimport { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular';\r\nimport { EventMessage, EventType, InteractionType, InteractionStatus, AuthenticationResult, } from '@azure/msal-browser';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { apiConfig, b2cPolicies } from './b2c-config';\r\nimport { UserService } from './services/user.service';\r\nimport { UserDto } from './web-api-client';\r\nimport { UserAction } from './models/enums/user-actions';\r\n\r\ninterface Payload extends AuthenticationResult {\r\n idTokenClaims: {\r\n tfp?: string;\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n})\r\n\r\nexport class AppComponent implements OnInit {\r\n title = 'app';\r\n isIframe = false;\r\n loginDisplay = false;\r\n loadingAccount = true;\r\n notAuthenticated = false;\r\n termsAndConditionsAccepted = false;\r\n redirectUrl = \"\";\r\n\r\n private readonly _destroying$ = new Subject();\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private authService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n public userService: UserService,\r\n public router: Router\r\n ) {\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n localStorage.removeItem(\"networkMemberId\");\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationCancel) {\r\n if (!this.isIframe) {\r\n if (!localStorage.getItem(\"RedirectUrl\")) {\r\n localStorage.setItem(\"RedirectUrl\", event.url);\r\n }\r\n }\r\n }\r\n })\r\n\r\n this.isIframe = window !== window.parent && !window.opener;\r\n this.loadingAccount = true;\r\n //We need to request the token in silent to make sure if the user is logged in. This will trigger the login flow\r\n setTimeout(() => {\r\n if (!this.isIframe) {\r\n this.checkAndSetActiveAccount();\r\n if (this.authService.instance.getActiveAccount()) {\r\n this.authService.instance.acquireTokenSilent({ ...apiConfig, account: this.authService.instance.getActiveAccount() });\r\n }\r\n else\r\n this.authService.loginRedirect();\r\n }\r\n }, 1000\r\n );\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS))\r\n .subscribe(async (result: EventMessage) => {\r\n this.notAuthenticated = false;\r\n const payload = result.payload as AuthenticationResult;\r\n\r\n if (payload.idTokenClaims['tfp'] === b2cPolicies.names.editProfile) {\r\n window.alert('Profile has been updated successfully. \\nPlease sign-in again.');\r\n return this.logout();\r\n }\r\n\r\n this.loadingAccount = false;\r\n\r\n this.authService.instance.setActiveAccount(payload.account);\r\n if (this.userService.isUnauthorized) {\r\n return;\r\n }\r\n\r\n var user = await this.userService.getCurrentUser();\r\n\r\n if (!user)\r\n return;\r\n\r\n if (user.termsAndConditions == null || !user.termsAndConditions.approved || user.privacyNotices == null || !user.privacyNotices.approved) {\r\n this.router.navigateByUrl(\"terms-and-conditions\");\r\n }\r\n else {\r\n this.termsAndConditionsAccepted = true;\r\n }\r\n\r\n this.checkAndSetActiveAccount();\r\n\r\n if (localStorage.getItem(\"RedirectUrl\")) {\r\n this.router.navigateByUrl(localStorage.getItem(\"RedirectUrl\"));\r\n localStorage.removeItem(\"RedirectUrl\");\r\n }\r\n\r\n this.logUserAccess();\r\n\r\n this.loadingAccount = false;\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE || msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE), takeUntil(this._destroying$))\r\n .subscribe(async (result: EventMessage) => {\r\n this.loadingAccount = false;\r\n this.notAuthenticated = true;\r\n\r\n // redirect to login page if user is not logged in\r\n if (!this.userService.isUnauthorized) {\r\n setTimeout(() => {\r\n this.authService.loginRedirect();\r\n }, 3000);\r\n }\r\n });\r\n\r\n this.msalBroadcastService.inProgress$\r\n .pipe(filter((status: InteractionStatus) => status === InteractionStatus.None), takeUntil(this._destroying$))\r\n .subscribe(async () => {\r\n await this.setLoginDisplay();\r\n });\r\n\r\n this.authService.handleRedirectObservable().subscribe({\r\n next: (result: AuthenticationResult) => {\r\n },\r\n error: (error) => console.log(error)\r\n });\r\n }\r\n\r\n async logUserAccess() {\r\n var user = await this.userService.getCurrentUser();\r\n\r\n this.userService.logUserActivity(UserAction.Login, user.id, user.email, \"\");\r\n }\r\n\r\n async setLoginDisplay() {\r\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\r\n }\r\n\r\n checkAndSetActiveAccount() {\r\n /**\r\n * If no active account set but there are accounts signed in, sets first account to active account\r\n * To use active account set here, subscribe to inProgress$ first in your component\r\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\r\n */\r\n const activeAccount = this.authService.instance.getActiveAccount();\r\n\r\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\r\n const accounts = this.authService.instance.getAllAccounts();\r\n this.authService.instance.setActiveAccount(accounts[0]);\r\n }\r\n }\r\n\r\n logout() {\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.logoutPopup({\r\n mainWindowRedirectUri: '/',\r\n });\r\n } else {\r\n this.authService.logoutRedirect();\r\n }\r\n\r\n let user: UserDto;\r\n this.userService.getCurrentUser().then(usr => user = usr);\r\n }\r\n\r\n editProfile() {\r\n const editProfileFlowRequest = {\r\n scopes: ['openid'],\r\n authority: b2cPolicies.authorities.editProfile.authority,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n }\r\n}\r\n","
\r\n

Hello, we are checking your authentication.

\r\n

You are not authenticated and you will be redirected to the login page.

\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { API_BASE_URL } from './web-api-client';\r\nimport { FileUploadButtonComponent } from './components/Inputs/file-upload-button/file-upload-button.component';\r\nimport { RequestIllustrationComponent } from './pages/request-illustration/request-illustration.component';\r\nimport { FileUploadTaskDetailComponent } from './components/tasks/file-upload-task/file-upload-task-detail/file-upload-task-detail.component';\r\nimport { FileUploadTaskListComponent } from './components/tasks/file-upload-task/file-upload-task-list/file-upload-task-list.component';\r\nimport { InformativeListComponent } from './components/tasks/informative-task/informative-list/informative-list.component';\r\nimport { InformativeDetailComponent } from './components/tasks/informative-task/informative-detail/informative-detail.component';\r\nimport { InformativeItemComponent } from './components/tasks/informative-task/informative-item/informative-item.component';\r\nimport { HeaderComponent } from './components/common/header/header.component';\r\nimport { NavMenuComponent } from './components/common/nav-menu/nav-menu.component';\r\nimport { CommentItemComponent } from './components/tasks/comment-task/comment-item/comment-item.component';\r\nimport { CommentListComponent } from './components/tasks/comment-task/comment-list/comment-list.component';\r\nimport { CommentDetailComponent } from './components/tasks/comment-task/comment-form/comment-form.component';\r\nimport { OverviewComponent } from './pages/overview/overview.component';\r\nimport { IllustrationListComponent } from './components/illustrations/illustration-list/illustration-list.component';\r\nimport { IllustrationDetailComponent } from './components/illustrations/illustration-detail/illustration-detail.component';\r\nimport { BooleanTaskDetailComponent } from './components/tasks/boolean-task/boolean-task-detail/boolean-task-detail.component';\r\nimport { BooleanTaskListComponent } from './components/tasks/boolean-task/boolean-task-list/boolean-task-list.component';\r\nimport { ClientsComponent } from './pages/clients/clients.component';\r\nimport { ClientsDetailComponent } from './components/clients/clients-detail/clients-detail.component';\r\nimport { ClientsSearchComponent } from './components/common/filters/clients-search/clients-search.component';\r\nimport { FooterComponent } from './components/common/footer/footer.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgxEditorModule } from 'ngx-editor';\r\nimport { QuillModule } from 'ngx-quill'\r\nimport { FileSaverModule } from 'ngx-filesaver';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CookieConsentComponent } from './components/common/cookie-consent/cookie-consent.component';\r\nimport { ActionButtonComponent } from './components/common/action-button/action-button.component'; \r\n\r\nimport {\r\n IPublicClientApplication,\r\n PublicClientApplication,\r\n InteractionType,\r\n BrowserCacheLocation,\r\n LogLevel,\r\n} from '@azure/msal-browser';\r\nimport {\r\n MsalGuard,\r\n MsalInterceptor,\r\n MsalBroadcastService,\r\n MsalInterceptorConfiguration,\r\n MsalModule,\r\n MsalService,\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INSTANCE,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MsalGuardConfiguration,\r\n MsalRedirectComponent,\r\n} from '@azure/msal-angular';\r\n\r\nimport { b2cPolicies, apiConfig } from './b2c-config';\r\nimport { LoginFailedComponent } from './pages/auth/login-failed/login-failed.component';\r\nimport { ServiceFeesListPageComponent } from './pages/service-fees-list-page/service-fees-list-page.component';\r\nimport { PaymentsListPageComponent } from './pages/payments-list-page/payments-list-page.component';\r\nimport { ApprovalsListPageComponent } from './pages/approvals-list-page/approvals-list-page.component';\r\nimport { AccountInputListPageComponent } from './pages/account-input-list-page/account-input-list-page.component';\r\nimport { PoolingPermissionsListPageComponent } from './pages/pooling-permissions-list-page/pooling-permissions-list-page.component';\r\nimport { NetworkMemberFilterComponent } from './components/common/filters/network-member-filter/network-member-filter.component';\r\nimport { FaqComponent } from './pages/faq/faq.component';\r\nimport { FaqCategoriesComponent } from './pages/faq/faq-categories/faq-categories.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ConfirmationModalComponent } from './components/common/confirmation-modal/confirmation-modal.component';\r\nimport { MessageBoxComponent } from './components/common/message-box/message-box.component';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { ServiceFeesDetailPageComponent } from './pages/service-fees-detail-page/service-fees-detail-page.component';\r\nimport { PaymentsDetailPageComponent } from './pages/payments-detail-page/payments-detail-page.component';\r\nimport { PoolingPermissionsDetailPageComponent } from './pages/pooling-permissions-detail-page/pooling-permissions-detail-page.component';\r\nimport { AccountInputDetailPageComponent } from './pages/account-input-detail-page/account-input-detail-page.component';\r\nimport { ApprovalsDetailPageComponent } from './pages/approvals-detail-page/approvals-detail-page.component';\r\nimport { AttachmentListComponent } from './components/common/attachment-list/attachment-list.component';\r\nimport { ModalBasicComponent } from './components/common/modal-basic/modal-basic.component';\r\nimport { UnauthorizedComponent } from './pages/unauthorized/unauthorized.component';\r\nimport { ErrorCatchingInterceptor } from './interceptors/error-catching.interceptor';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { IllustrationInputDetailPageComponent } from './pages/illustration-input-detail-page/illustration-input-detail-page.component';\r\nimport { IllustrationInputListPageComponent } from './pages/illustration-input-list-page/illustration-input-list-page.component';\r\nimport { NgbdSortableHeaderDirective } from './components/clients/clients-detail/ngbd-sortable-header.directive';\r\nimport { RefreshTaskViewComponent } from './components/common/refresh-task-view/refresh-task-view.component';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { UsersSearchComponent } from './components/common/filters/users-search/users-search.component';\r\nimport { MultipleFilterSearchComponent } from './components/common/filters/multiple-filter-search/multiple-filter-search.component';\r\nimport { PowerBIEmbedModule } from 'powerbi-client-angular';\r\nimport { ReportsComponent } from './pages/Reports/reports.component';\r\nimport { EsignatureComponent } from './pages/e-signature/esignature.component';\r\nimport { FinalizedAccountsDetailPageComponent } from './pages/finalized-accounts-detail-page/finalized-accounts-detail-page.component';\r\nimport { FinalizedAccountsListPageComponent } from './pages/finalized-accounts-list-page/finalized-accounts-list-page.component';\r\nimport { ReplacePipe } from './Common/ReplacePipe';\r\nimport { StatusFilterComponent } from './components/common/filters/status-filter/status-filter.component';\r\nimport { YearFilterComponent } from './components/common/filters/year-filter/year-filter.component';\r\nimport { TermsAndConditionsComponent } from './pages/terms-and-conditions/terms-and-conditions.component';\r\nimport { SortDirective } from './Common/SortDirective';\r\nimport { PaymentFilterComponent } from './components/common/filters/payment-filter/payment-filter.component';\r\nimport { TagFilterComponent } from './components/common/filters/tag-filter/tag-filter.component';\r\nimport { LoadingSpinnerComponent } from './components/common/visual-loading/loading-spinner/loading-spinner.component';\r\nimport { IllustrationInputRequestDetailPageComponent } from './pages/illustration-input-request-detail-page/illustration-input-request-detail-page.component';\r\n\r\nconst isIE =\r\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\r\n window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: '919de41c-4399-4183-8334-bd1167d351ad',\r\n authority: b2cPolicies.authorities.signUpSignIn.authority,\r\n redirectUri: '/',\r\n postLogoutRedirectUri: '/',\r\n knownAuthorities: [b2cPolicies.authorityDomain],\r\n navigateToLoginRequestUrl: true,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE, // set to true for IE 11\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false,\r\n },\r\n },\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set(apiConfig.uri, apiConfig.scopes);\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap,\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: [...apiConfig.scopes],\r\n },\r\n loginFailedRoute: 'login-failed',\r\n };\r\n}\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent,\r\n NgbdSortableHeaderDirective,\r\n FileUploadButtonComponent,\r\n RequestIllustrationComponent,\r\n FileUploadTaskDetailComponent,\r\n FileUploadTaskListComponent,\r\n InformativeListComponent,\r\n InformativeDetailComponent,\r\n InformativeItemComponent,\r\n HeaderComponent,\r\n CommentItemComponent,\r\n CommentListComponent,\r\n CommentDetailComponent,\r\n ReportsComponent,\r\n OverviewComponent,\r\n IllustrationListComponent,\r\n IllustrationDetailComponent,\r\n BooleanTaskDetailComponent,\r\n BooleanTaskListComponent,\r\n ClientsComponent,\r\n ClientsDetailComponent,\r\n ClientsSearchComponent,\r\n LoginFailedComponent,\r\n ServiceFeesListPageComponent,\r\n PaymentsListPageComponent,\r\n ApprovalsListPageComponent,\r\n AccountInputListPageComponent,\r\n PoolingPermissionsListPageComponent,\r\n FaqComponent,\r\n NetworkMemberFilterComponent,\r\n FaqCategoriesComponent,\r\n ConfirmationModalComponent,\r\n MessageBoxComponent,\r\n NotFoundComponent,\r\n ServiceFeesDetailPageComponent,\r\n PaymentsDetailPageComponent,\r\n PoolingPermissionsDetailPageComponent,\r\n AccountInputDetailPageComponent,\r\n ApprovalsDetailPageComponent,\r\n AttachmentListComponent,\r\n ModalBasicComponent,\r\n AttachmentListComponent,\r\n UnauthorizedComponent,\r\n IllustrationInputDetailPageComponent,\r\n IllustrationInputListPageComponent,\r\n RefreshTaskViewComponent,\r\n UsersSearchComponent,\r\n MultipleFilterSearchComponent,\r\n EsignatureComponent,\r\n FinalizedAccountsDetailPageComponent,\r\n FinalizedAccountsListPageComponent,\r\n ReplacePipe,\r\n FooterComponent,\r\n ReplacePipe,\r\n StatusFilterComponent,\r\n YearFilterComponent,\r\n CookieConsentComponent,\r\n TermsAndConditionsComponent,\r\n SortDirective,\r\n PaymentFilterComponent,\r\n TagFilterComponent,\r\n LoadingSpinnerComponent, \r\n ActionButtonComponent,\r\n IllustrationInputRequestDetailPageComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n FontAwesomeModule,\r\n HttpClientModule,\r\n FormsModule,\r\n MsalModule,\r\n PowerBIEmbedModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot({\r\n timeOut: 10000,\r\n positionClass: 'toast-bottom-right',\r\n preventDuplicates: true,\r\n }),\r\n ModalModule.forRoot(),\r\n ReactiveFormsModule,\r\n BsDatepickerModule.forRoot(),\r\n NgbModule,\r\n TextFieldModule,\r\n NgxEditorModule,\r\n QuillModule.forRoot(),\r\n FileSaverModule,\r\n NgxDocViewerModule\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA\r\n ],\r\n providers: [\r\n // { provide: HTTP_INTERCEPTORS, useClass: AuthorizeInterceptor, multi: true },\r\n // { provide: API_BASE_URL, useValue: 'https://insurope-collaboration-platform-dev.azurewebsites.net' },\r\n { provide: API_BASE_URL, useValue: '' },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorCatchingInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n DatePipe,\r\n CookieService\r\n ],\r\n bootstrap: [AppComponent, MsalRedirectComponent],\r\n\r\n})\r\nexport class AppModule { }\r\n","/**\r\n * Enter here the user flows and custom policies for your B2C application\r\n * To learn more about user flows, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\r\n * To learn more about custom policies, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\r\n */\r\nexport const b2cPolicies = {\r\n names: {\r\n signUpSignIn: 'B2C_1_signupSignin',\r\n editProfile: '',\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority:\r\n 'https://insuropeb2c2.b2clogin.com/insuropeb2c2.onmicrosoft.com/B2C_1_signupSignin',\r\n },\r\n editProfile: {\r\n authority:\r\n 'https://insuropeb2c2.b2clogin.com/insuropeb2c2.onmicrosoft.com/B2C_1_signin',\r\n },\r\n },\r\n authorityDomain: 'insuropeb2c2.b2clogin.com',\r\n};\r\n\r\n/**\r\n * Enter here the coordinates of your web API and scopes for access token request\r\n * The current application coordinates were pre-registered in a B2C tenant.\r\n */\r\nexport const apiConfig: { scopes: string[]; uri: string } = {\r\n scopes: [\r\n 'https://insuropeb2c2.onmicrosoft.com/919de41c-4399-4183-8334-bd1167d351ad/user-access',\r\n ],\r\n uri: '/',\r\n // uri: 'https://insurope-collaboration-platform-dev.azurewebsites.net',\r\n};\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-file-upload-button',\r\n templateUrl: './file-upload-button.component.html',\r\n styleUrls: ['./file-upload-button.component.scss']\r\n})\r\nexport class FileUploadButtonComponent implements OnInit {\r\n\r\n // needed import params\r\n @Input() fileTypes: string = \"\";\r\n @Input() acceptMultipleFiles: boolean = false;\r\n @ViewChild('uploadInput') uploadInput;\r\n // declare output params\r\n @Output() fileUploaded = new EventEmitter<{ isUploaded: boolean, message: string, files?: File[] }>();\r\n // constructor\r\n constructor() { }\r\n\r\n // oninit\r\n ngOnInit(): void {\r\n }\r\n\r\n // called when uploading files\r\n onFileSelected(event) {\r\n // notify parent if files has been uploaded\r\n if (event.target.files.length > 0) {\r\n let files: File[] = [];\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n files.push(event.target.files[i]);\r\n }\r\n this.fileUploaded.emit({ isUploaded: true, message: event.target.files.length + \" file(s) have been selected\", files: files });\r\n }\r\n else\r\n this.fileUploaded.emit({ isUploaded: false, message: \"no files were selected\" });\r\n this.uploadInput.nativeElement.value = '';\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, SimpleChanges, ViewChildren } from '@angular/core';\r\nimport { faDownload } from '@fortawesome/free-solid-svg-icons';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { ContactsService } from 'src/app/services/contacts/contacts.service';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { AccountDto, ContactDto, CrmAttachmentDto, ExpansionPlanDto, PaginatedListOfCrmAttachmentDto, PaginatedListOfExpansionPlanDto, TechnicalContact } from 'src/app/web-api-client';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgbdSortableHeaderDirective, SortEvent } from './ngbd-sortable-header.directive';\r\n\r\n@Component({\r\n selector: 'app-clients-detail',\r\n templateUrl: './clients-detail.component.html',\r\n styleUrls: ['./clients-detail.component.scss']\r\n})\r\nexport class ClientsDetailComponent implements OnInit {\r\n\r\n // take the client as input\r\n @Input() client: AccountDto;\r\n\r\n sortColumn: string;\r\n sortDirection: string;\r\n\r\n technicalContact: TechnicalContact;\r\n companyContact: ContactDto;\r\n consultantContact: ContactDto;\r\n loadingContacts: boolean = false;\r\n\r\n expansionPlans: PaginatedListOfExpansionPlanDto;\r\n loadingExpansionPlans: boolean = false;\r\n exportingExpansionPlans: boolean = false;\r\n\r\n // hold the attachments\r\n attachments: PaginatedListOfCrmAttachmentDto;\r\n attachmentsSizes: string[] = [];\r\n loadingAttachments: boolean = false;\r\n \r\n @Input() loadingImportantFiles: boolean = false;\r\n\r\n contractualDocuments: PaginatedListOfCrmAttachmentDto;\r\n contractualDocumentsSizes: string[] = [];\r\n loadingContractualDocuments: boolean = false;\r\n\r\n @Input() latestAnnualReportId: string;\r\n @Input() latestCompositionReportId: string;\r\n @Input() latestDividendPaymentLetterId: string;\r\n\r\n @Output() changeClientViewActiveTab = new EventEmitter();\r\n\r\n // take the sortable headers\r\n @ViewChildren(NgbdSortableHeaderDirective) headers: QueryList;\r\n\r\n // hold the view to display\r\n viewToDisplay: string = 'info';\r\n\r\n // fa icons\r\n faDownload = faDownload;\r\n\r\n sizes: string[] = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\" ];\r\n \r\n pageSize: number = 20;\r\n public expansionPlansPageNumber: number = 1;\r\n public attachmentsPageNumber: number = 1;\r\n public contractualDocumentsPageNumber: number = 1;\r\n\r\n // constructor\r\n constructor(private clientsService: ClientsService,\r\n private accountService: AccountsService,\r\n private popupNotifications: PopupNotificationsService,\r\n private contactsService: ContactsService) { }\r\n\r\n // oninit method\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.client && changes.client.currentValue) { //changes.client check if it has change and changes.client.currentValue check if it's null\r\n this.loadContacts();\r\n this.loadContractualDocuments(); \r\n this.loadAttachments();\r\n this.loadExpansionPlans();\r\n }\r\n }\r\n \r\n // download an attachment\r\n async downloadAttachment(attachmentId: string) {\r\n this.loadingContractualDocuments = true;\r\n this.loadingAttachments = true;\r\n this.loadingImportantFiles = true;\r\n let file = await this.clientsService.downloadAttachment(attachmentId);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n const blob: any = new Blob([file.data], { type: file.data.type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = file.fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n this.loadingContractualDocuments = false;\r\n this.loadingAttachments = false;\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n // change view method\r\n changeView(view: string) {\r\n this.changeClientViewActiveTab.emit(view);\r\n this.viewToDisplay = view;\r\n }\r\n\r\n async downloadLatestAccountingExcel() {\r\n try {\r\n this.loadingImportantFiles = true;\r\n let file = await this.accountService.getAccountExcelFile(this.client.externalAccountNumber);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n const blob: any = new Blob([file.data], { type: file.data.type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = file.fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n } catch (error) {\r\n if (error.status == 404) {\r\n this.popupNotifications.showMessage(\"There was no excel file found for this account.\", MessageType.Warning);\r\n }\r\n }\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n async loadExpansionPlans(page?: number) {\r\n this.loadingExpansionPlans = true;\r\n if (page) {\r\n this.expansionPlansPageNumber = page;\r\n }\r\n this.expansionPlans = await this.accountService.getAccountExpansionPlan(this.client.id, this.expansionPlansPageNumber, this.pageSize, this.sortColumn, this.sortDirection);\r\n this.loadingExpansionPlans = false;\r\n }\r\n\r\n async loadAttachments(page?: number) {\r\n this.loadingAttachments = true;\r\n if (page) {\r\n this.attachmentsPageNumber = page;\r\n }\r\n this.attachments = await this.clientsService.getClientContracts(this.client.id, this.attachmentsPageNumber, this.pageSize);\r\n this.attachments.items.forEach(att => {\r\n let order = 0;\r\n let len = att.fileSize;\r\n while (len >= 1024 && order < this.sizes.length - 1) {\r\n order ++;\r\n len = len / 1024;\r\n }\r\n this.attachmentsSizes.push(((order == 0 || order == 1) ? len.toFixed() : len.toFixed(2)) + \" \" + this.sizes[order]);\r\n });\r\n this.loadingAttachments = false;\r\n }\r\n\r\n async loadContacts() {\r\n this.loadingContacts = true;\r\n try {\r\n if (this.client.externalAccountNumber) {\r\n this.technicalContact = await this.clientsService.getTechnicalContact(this.client.externalAccountNumber);\r\n }\r\n } catch (error) {}\r\n\r\n try {\r\n this.companyContact = await this.contactsService.GetPrimaryContactFromAccount(this.client.id);\r\n } catch (error) {\r\n }\r\n \r\n try {\r\n this.consultantContact = await this.contactsService.GetConsultantContactFromAccount(this.client.id);\r\n } catch (error) {\r\n }\r\n this.loadingContacts = false;\r\n }\r\n\r\n async loadContractualDocuments(page?: number) {\r\n this.loadingContractualDocuments = true;\r\n if (page) {\r\n this.contractualDocumentsPageNumber = page;\r\n }\r\n this.contractualDocuments = await this.clientsService.getClientContractualDocuments(this.client.id, this.contractualDocumentsPageNumber, this.pageSize);\r\n this.contractualDocuments.items.forEach(att => {\r\n let order = 0;\r\n let len = att.fileSize;\r\n while (len >= 1024 && order < this.sizes.length - 1) {\r\n order ++;\r\n len = len / 1024;\r\n }\r\n this.contractualDocumentsSizes.push(((order == 0 || order == 1) ? len.toFixed() : len.toFixed(2)) + \" \" + this.sizes[order]);\r\n });\r\n this.loadingContractualDocuments = false;\r\n }\r\n\r\n async exportexcel()\r\n {\r\n if (!this.exportingExpansionPlans)\r\n {\r\n this.exportingExpansionPlans = true;\r\n let elements = (await this.accountService.getAccountExpansionPlan(this.client.id, 1, this.expansionPlans.totalCount, null, null)).items.map(({ id, account, ...item }) => item);\r\n \r\n // create worksheet from the list\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(elements);\r\n \r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Expansion plans');\r\n \r\n /* save to file */\r\n XLSX.writeFile(wb, this.client.accountName + \".xlsx\");\r\n \r\n this.exportingExpansionPlans = false;\r\n }\r\n }\r\n\r\n // method called when sorting header click\r\n async onSort({ column, direction }: SortEvent) {\r\n // reset other headers\r\n this.headers.forEach(header => {\r\n if (header.sortable !== column) {\r\n header.direction = '';\r\n }\r\n });\r\n\r\n this.sortColumn = column;\r\n this.sortDirection = direction;\r\n\r\n await this.loadExpansionPlans(this.expansionPlansPageNumber);\r\n \r\n }\r\n\r\n counter(i: number) {\r\n return new Array(i);\r\n}\r\n\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Type

\r\n {{ client.type }}\r\n
\r\n \r\n
\r\n

Pooling System

\r\n {{ client.accountX.systems }}\r\n
\r\n \r\n
\r\n

Dividend paid

\r\n {{ client.accountX.dividend }}\r\n
\r\n\r\n
\r\n

Currency

\r\n {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Pool starting date

\r\n {{ client.accountX.pooldate | date }}\r\n
\r\n \r\n
\r\n

Comments

\r\n {{ client.accountX.poolComments }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Result

\r\n {{ client.accountX.result | number }} {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Carry Forward Result

\r\n {{ client.accountX.carry_forward_result | number }} {{ client.currencyCode }}\r\n
\r\n\r\n
\r\n

Last account

\r\n {{ client.accountX.last_Account }}\r\n
\r\n\r\n
\r\n

Total pooled lives

\r\n {{ client.accountX.lives }}\r\n
\r\n\r\n
\r\n

Total pooled premium - common currency

\r\n {{ client.accountX.premium | number }} {{ client.currencyCode }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Important files\r\n
\r\n

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

Current {{ client.accountX.currentPooledCountries }} Pooled Countries (EP)

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

Current {{ client.accountX.currentPRCountries }} Non-Pooled Countries (EP)

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

Acc manager

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

Name

\r\n {{ client.accountManager.userInfo.userName }}\r\n
\r\n \r\n
\r\n

Phone nr

\r\n {{ client.accountManager.userInfo.phone }}\r\n
\r\n
\r\n

Mobile nr

\r\n {{ client.accountManager.userInfo.mobile }}\r\n
\r\n
\r\n

Region

\r\n {{ client.accountManager.userInfo.region }}\r\n
\r\n
\r\n

Country

\r\n {{ client.accountManager.userInfo.address.country }}\r\n
\r\n
\r\n
\r\n
\r\n

Support

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

Name

\r\n {{ client.divisionalManager.userInfo.userName }}\r\n
\r\n \r\n
\r\n

Phone nr

\r\n {{ client.divisionalManager.userInfo.phone }}\r\n
\r\n
\r\n

Mobile nr

\r\n {{ client.divisionalManager.userInfo.mobile }}\r\n
\r\n
\r\n

Region

\r\n {{ client.divisionalManager.userInfo.region }}\r\n
\r\n
\r\n

Country

\r\n {{ client.divisionalManager.userInfo.address.country }}\r\n
\r\n
\r\n
\r\n
\r\n

Technical

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

Name

\r\n {{ technicalContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ technicalContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ technicalContact.phone }}\r\n
\r\n
\r\n
\r\n
\r\n

Company

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

Name

\r\n {{ companyContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ companyContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ companyContact.workPhone }}\r\n
\r\n
\r\n
\r\n
\r\n

Consultant

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

Name

\r\n {{ consultantContact.name }}\r\n
\r\n
\r\n

Email

\r\n {{ consultantContact.email }}\r\n
\r\n
\r\n

Phone nr

\r\n {{ consultantContact.workPhone }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Contractual documents

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

There are no contractual documents.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AttachmentUserModified DateSizeDownload
{{ contractualDocument.description }}{{ contractualDocument.createUser.userName }}{{ contractualDocument.modifyDate | date:'d MMM y' }}{{ contractualDocumentsSizes[i] }}
\r\n\r\n
0 && contractualDocuments?.totalPages > 1\">\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Attachments

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

There are no attachments.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DescriptionUserAttached DateSizeDownload
{{ attachment.description }}{{ attachment.createUser.userName }}{{ attachment.attachDate | date:'d MMM y' }}{{ attachmentsSizes[i] }}
\r\n\r\n
0 && attachments?.totalPages > 1\">\r\n \r\n
\r\n\r\n
\r\n
\r\n

Expansion plans

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

There are no expansion plans.

\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AccountCountryLocal Company NameStatusPooled since / Renewal DateBenefitsEmployeesPremium in pool currencyCommentsBroker ContactCompany ContactInsurerNetwork
{{ expansionPlan.account.accountName }}{{ expansionPlan.country }}{{ expansionPlan.local_company_name }}{{ expansionPlan.status }}{{ expansionPlan.startDate | date:'dd MMM yyyy' }}{{ expansionPlan.benefits }}{{ expansionPlan.employees }}{{ expansionPlan.premiumPoolCurrency | number }}{{ expansionPlan.comments }}{{ expansionPlan.brokerComtact }}{{ expansionPlan.companyContact }}{{ expansionPlan.insurer }}{{ expansionPlan.insNetwork }}
\r\n
\r\n
0 && expansionPlans?.totalPages > 1\">\r\n \r\n
\r\n\r\n
","import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ExpansionPlanDto } from 'src/app/web-api-client';\r\n\r\nexport type SortColumn = keyof ExpansionPlanDto | '';\r\nexport type SortDirection = 'asc' | 'desc' | '';\r\nconst rotate: { [key: string]: SortDirection } = { 'asc': 'desc', 'desc': '', '': 'asc' };\r\n\r\nexport interface SortEvent {\r\n column: SortColumn;\r\n direction: SortDirection;\r\n}\r\n\r\n@Directive({\r\n selector: 'th[sortable]',\r\n host: {\r\n '[class.asc]': 'direction === \"asc\"',\r\n '[class.desc]': 'direction === \"desc\"',\r\n '(click)': 'rotate()'\r\n }\r\n})\r\nexport class NgbdSortableHeaderDirective {\r\n\r\n @Input() sortable: SortColumn = '';\r\n @Input() direction: SortDirection = '';\r\n @Output() sort = new EventEmitter();\r\n\r\n // method to change the direction\r\n rotate() {\r\n this.direction = rotate[this.direction];\r\n this.sort.emit({ column: this.sortable, direction: this.direction });\r\n }\r\n\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-action-button',\r\n templateUrl: './action-button.component.html',\r\n styleUrls: ['./action-button.component.scss']\r\n})\r\nexport class ActionButtonComponent implements OnInit {\r\n \r\n @Input() buttonName: string;\r\n @Input() shouldBeDisabled: boolean;\r\n @Input() action: () => void;\r\n\r\n async ngOnInit() {\r\n }\r\n\r\n performAction(){\r\n if(this.action){\r\n this.action();\r\n }\r\n }\r\n}\r\n","\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { faDownload } from '@fortawesome/free-solid-svg-icons';\r\nimport * as FileSaver from 'file-saver';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Attachment, AttachmentDTO } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-attachment-list',\r\n templateUrl: './attachment-list.component.html',\r\n styleUrls: ['./attachment-list.component.scss']\r\n})\r\nexport class AttachmentListComponent implements OnInit {\r\n\r\n // take list of attachments as input\r\n @Input() attachments: Attachment[] = [];\r\n @Input() commentAttachments: AttachmentDTO[] = []\r\n @Input() isSystemAttachment: boolean = false;\r\n @Input() adminDbAttachments: string[];\r\n @Input() illustrationAttachments: string[];\r\n\r\n @Input() service: any;\r\n\r\n // take title as input\r\n @Input() title: string = \"Files\";\r\n\r\n // hold the task id\r\n taskId: string;\r\n\r\n // fa icons\r\n faDownload = faDownload;\r\n faCircleXmark = faCircleXmark\r\n // display the loading indicator or not\r\n downloadingFile: boolean = false;\r\n isCollaborator:boolean = false;\r\n // constructor\r\n constructor(private activatedroute: ActivatedRoute, \r\n private popupNotificationsService: PopupNotificationsService, \r\n private commentService: CommentService, \r\n public documentService: DocumentService, private userService: UserService) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.attachments.sort((a, b) => new Date(b.fileDate).getTime() - new Date(a.fileDate).getTime());\r\n }\r\n\r\n async downloadFileFromPath(filePath: string) {\r\n // downloading started\r\n this.downloadingFile = true;\r\n // get the download string\r\n this.service.downloadFileFromPath(this.taskId, filePath).then((downloadString) => {\r\n let fileName = filePath.split('/').pop();\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + downloadString;\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', fileName);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n }).catch((error: { status: number; }) => {\r\n // if the error is forbidden\r\n if (error.status == 403) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"You are not authorized to download this file, please contact insuropexchange@insurope.com\", MessageType.Warning);\r\n }\r\n // if the error is not found\r\n else if (error.status == 404) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"File not found\", MessageType.Error);\r\n }\r\n else {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"An error occurred while downloading the file\", MessageType.Error);\r\n }\r\n // downloading finished\r\n this.downloadingFile = false;\r\n });\r\n }\r\n\r\n // method to download the file\r\n async downloadFile(file: Attachment) {\r\n // downloading started\r\n this.downloadingFile = true;\r\n\r\n // get the download string\r\n this.service.downloadFile(this.taskId, file.id, this.isSystemAttachment).then((downloadString) => {\r\n\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + downloadString;\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n }).catch((error) => {\r\n // if the error is forbidden\r\n if (error.status == 403) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"You are not authorized to download this file, please contact insuropexchange@insurope.com\", MessageType.Warning);\r\n }\r\n // if the error is not found\r\n else if (error.status == 404) {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"File not found\", MessageType.Error);\r\n }\r\n else {\r\n // show the error message\r\n this.popupNotificationsService.showMessage(\"An error occurred while downloading the file\", MessageType.Error);\r\n }\r\n\r\n // downloading finished\r\n this.downloadingFile = false;\r\n });\r\n }\r\n\r\n // method to download the file\r\n async downloadCommentFile(file: AttachmentDTO) {\r\n this.downloadingFile = true;\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + await this.commentService.downloadFile(file.commentId, this.taskId, file.id);\r\n\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n this.downloadingFile = false;\r\n }\r\n\r\n async downloadAdminDbFile(path: string) {\r\n var fileType = path.split(\".\")[1];\r\n\r\n if (fileType != \"docx\" && fileType != \"doc\") {\r\n this.downloadFileFromPath(path);\r\n return;\r\n }\r\n\r\n this.downloadingFile = true;\r\n var file = await this.documentService.getAdminDbDocToPdf(path);\r\n const imageBlob = this.dataURItoBlob(file);\r\n var newPath = this.documentService.sanitizeFileName(path, \".pdf\")\r\n var test = new File([imageBlob], newPath, { type: 'application/pdf' });\r\n FileSaver.saveAs(test)\r\n this.downloadingFile = false;\r\n }\r\n\r\n dataURItoBlob(dataURI) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'application/pdf' });\r\n return blob;\r\n }\r\n\r\n deleteFile(file:AttachmentDTO){\r\n if(confirm(\"Are you sure to delete the file \"+file.name+\" ?\")){\r\n this.commentAttachments = this.commentAttachments.filter(x=>x.id != file.id);\r\n this.commentService.deleteFileFromComment(this.taskId,file.id);\r\n }\r\n }\r\n\r\n formatdate(fileDate: Date) {\r\n\r\n if (fileDate.getTime() < new Date('Mon Jan 01 0001 00:17:30 GMT+0017').getTime()) {\r\n return '';\r\n }\r\n else {\r\n return fileDate?.toLocaleDateString('en-US', { month: 'short', day: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' });\r\n }\r\n\r\n }\r\n \r\n}\r\n","
\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

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

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(file.name) }}\r\n at {{ formatdate(file.fileDate) }}\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Accounting Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(filePath) }}\r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Discussion Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(file?.name) }}\r\n at {{ formatdate(file.fileDate) }}\r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"card d-flex flex-grow-1\" style=\"width: 25%;\">\r\n
\r\n

Illustration Attachment\r\n
\r\n Loading...\r\n
\r\n

\r\n
\r\n
    \r\n
  • \r\n {{ this.documentService.sanitizeFileName(filePath) }}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n

No files for this task

\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-confirmation-modal',\r\n templateUrl: './confirmation-modal.component.html',\r\n styleUrls: ['./confirmation-modal.component.scss']\r\n})\r\nexport class ConfirmationModalComponent implements OnInit {\r\n\r\n // input parameters\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n\r\n // constructor\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n // on init method\r\n ngOnInit(): void {\r\n }\r\n\r\n // decline method\r\n public decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n // accept method\r\n public accept() {\r\n this.activeModal.close(true);\r\n }\r\n\r\n // dismiss method\r\n public dismiss() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","\r\n
\r\n

{{ title }}

\r\n \r\n
\r\n\r\n\r\n
\r\n {{ message }}\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-cookie-consent',\r\n templateUrl: './cookie-consent.component.html',\r\n styleUrls: ['./cookie-consent.component.scss']\r\n})\r\nexport class CookieConsentComponent implements OnInit {\r\n\r\n acceptedCookies: boolean = false;\r\n\r\n constructor(private cookieService: CookieService) { }\r\n\r\n ngOnInit(): void {\r\n this.checkCookieConsent();\r\n }\r\n\r\n checkCookieConsent(): void {\r\n const cookiesAccepted = this.cookieService.get('cookiesAccepted');\r\n this.acceptedCookies = cookiesAccepted === 'true';\r\n }\r\n\r\n acceptCookies(): void {\r\n this.cookieService.set('cookiesAccepted', 'true', 365, '/'); \r\n this.acceptedCookies = true;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n

By clicking on Accept, you agree to our privacy policy and our use of cookies to enhance your experience \r\n on our website. To learn more about how we use cookies and how you can manage them, \r\n please refer to our cookie policy.

\r\n
\r\n \r\n
\r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-clients-search',\r\n templateUrl: './clients-search.component.html',\r\n styleUrls: ['./clients-search.component.scss']\r\n})\r\nexport class ClientsSearchComponent implements OnInit {\r\n\r\n clickedOnClient: boolean = false;\r\n @Input() isOnClientView: boolean;\r\n @Output() clientEmitter = new EventEmitter();\r\n\r\n searchResult: AccountDto[];\r\n searchingClient: boolean = false;\r\n\r\n @ViewChild('searchClientField', { static: true }) searchInputField: ElementRef;\r\n\r\n constructor(private clientsService: ClientsService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n if (localStorage.getItem('clientName') || localStorage.getItem('clientId')) {\r\n this.searchInputField.nativeElement.value = localStorage.getItem('clientName');\r\n }\r\n\r\n if (this.isOnClientView) {\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 3),\r\n // Time in milliseconds between key events\r\n debounceTime(200),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnClient = false;\r\n this.fetchClients(text);\r\n });\r\n }\r\n else {\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 4),\r\n // Time in milliseconds between key events\r\n debounceTime(200),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnClient = false;\r\n this.loadClientByName(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n }\r\n\r\n async fetchClients(term: string) {\r\n if (term === '') {\r\n return this.searchResult = [];\r\n }\r\n this.searchingClient = true;\r\n this.searchResult = await this.clientsService.getClientsByName(term, 0, 10);\r\n this.searchingClient = false;\r\n }\r\n\r\n async loadClientByName(accountName) {\r\n this.clickedOnClient = true;\r\n\r\n localStorage.setItem('clientName', accountName);\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientName: accountName },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.searchResult = [];\r\n this.searchInputField.nativeElement.value = accountName;\r\n }\r\n\r\n async loadClient(client: AccountDto) {\r\n this.clickedOnClient = true;\r\n this.searchInputField.nativeElement.value = client.accountName;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientId: client.id },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.searchResult = [];\r\n this.clientEmitter.emit(client);\r\n this.searchInputField.nativeElement.value = client.accountName;\r\n }\r\n\r\n async clearSearch() {\r\n localStorage.removeItem('clientId');\r\n localStorage.removeItem('clientName');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientName: null, clientId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.clientEmitter.emit(null);\r\n this.searchResult = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
    \r\n
  • \r\n

    {{ client.accountName }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-multiple-filter-search',\r\n templateUrl: './multiple-filter-search.component.html',\r\n styleUrls: ['./multiple-filter-search.component.scss']\r\n})\r\nexport class MultipleFilterSearchComponent implements OnInit {\r\n\r\n\r\n filters: Array = new Array(10)\r\n title: string = \"\";\r\n printMessage: boolean;\r\n @Input() isOnOverview: boolean;\r\n isNetworkMember: boolean;\r\n @Input() isOnIllustration: boolean = false;\r\n @Input() isPayments: boolean = false;\r\n @Input() process: string;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private userService: UserService, private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.changeFilter(0);\r\n this.title = this.getTitle(0);\r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n if (params.get(\"networkMemberId\") == null && params.get(\"subscriberId\") == null && params.get(\"clientId\") == null) {\r\n this.printMessage = true;\r\n } else {\r\n this.printMessage = false;\r\n }\r\n })\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n }\r\n\r\n changeFilter(index) {\r\n this.filters = new Array(10);\r\n this.filters[index] = true;\r\n this.title = this.getTitle(index)\r\n this.printMessage = true;\r\n }\r\n\r\n getTitle(index) {\r\n switch (index) {\r\n case 0:\r\n return \"network Member\";\r\n case 1:\r\n return \"subcriber\";\r\n case 2:\r\n return \"client\";\r\n default:\r\n return \"network Member\";\r\n }\r\n }\r\n\r\n get isPaymentsRoute(): boolean {\r\n const currentUrl = this.router.url;\r\n return currentUrl.includes('payments');\r\n }\r\n\r\n}\r\n","
\r\n

Filters

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-network-member-filter',\r\n templateUrl: './network-member-filter.component.html',\r\n styleUrls: ['./network-member-filter.component.scss']\r\n})\r\nexport class NetworkMemberFilterComponent implements OnInit {\r\n\r\n // search indicators\r\n searchingNetworkMembers: boolean = false;\r\n filteredNetworkMembers: AccountDto[] = [];\r\n clickedOnNm: boolean = false;\r\n\r\n @Output() networkMemberEmitter = new EventEmitter();\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public networkMemberService: NetworkMembersService) { }\r\n\r\n async ngOnInit() {\r\n var networkMemberId = this.activatedRoute.snapshot.queryParams['networkMemberId'] ?? localStorage.getItem('networkMemberId');\r\n\r\n if (networkMemberId) {\r\n localStorage.setItem('networkMemberId', networkMemberId);\r\n\r\n var account = await this.networkMemberService.getNetworkMemberById(networkMemberId);\r\n this.searchInputField.nativeElement.value = account.accountName;\r\n }\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater then 1\r\n filter(res => res.length >= 2),\r\n // Time in milliseconds between key events\r\n debounceTime(50),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnNm = false;\r\n this.fetchNM(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n\r\n async fetchNM(term: string) {\r\n if (term === '') {\r\n return this.filteredNetworkMembers = [];\r\n }\r\n this.searchingNetworkMembers = true;\r\n this.filteredNetworkMembers = await this.networkMemberService.getNetworkMembersByName(term.toLowerCase(), 0, 30);\r\n this.searchingNetworkMembers = false;\r\n }\r\n\r\n async selectNm(nmId: string) {\r\n this.clickedOnNm = true;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: nmId },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n\r\n var account = (await this.networkMemberService.getNetworkMemberById(nmId))\r\n localStorage.setItem('networkMemberId', account.id);\r\n\r\n this.searchInputField.nativeElement.value = account.accountName;\r\n }\r\n\r\n async loadNetworkMember(networkMember: AccountDto) {\r\n this.clickedOnNm = true;\r\n this.searchInputField.nativeElement.value = networkMember.accountName;\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: networkMember.id },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n this.networkMemberEmitter.emit(networkMember);\r\n this.searchInputField.nativeElement.value = networkMember.accountName;\r\n }\r\n\r\n async clearSearch() {\r\n localStorage.removeItem('networkMemberId');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredNetworkMembers = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
    \r\n
  • \r\n

    {{nm.accountName }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
\r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { PayToEnum } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-payment-filter',\r\n templateUrl: './payment-filter.component.html',\r\n styleUrls: ['./payment-filter.component.scss']\r\n})\r\nexport class PaymentFilterComponent implements OnInit {\r\n \r\n optionsPay: PayToEnum[] = [null, PayToEnum.Insurope, PayToEnum.Client, PayToEnum.Other];\r\n filteredOptions:PayToEnum []= this.optionsPay;\r\n selectedPayTo: PayToEnum = null; \r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter();\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public commonService : CommonService) { }\r\n\r\n ngOnInit(): void {\r\n var storagePayTo = localStorage.getItem(\"payTo\");\r\n if (storagePayTo == \"null\") {\r\n this.selectedPayTo = null;\r\n } else {\r\n this.selectedPayTo = parseInt(localStorage.getItem(\"payTo\")) //parseInt(storagePayTo, 10);\r\n }\r\n }\r\n\r\n selectPayTo(event) {\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { payTo: event, },\r\n queryParamsHandling: 'merge', \r\n });\r\n this.selectedPayTo = event; \r\n this.filteredOptions = this.optionsPay;\r\n localStorage.setItem(\"payTo\", event);\r\n //this.subscriberId.emit(event.toString());\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, map } from 'rxjs';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-status-filter',\r\n templateUrl: './status-filter.component.html',\r\n styleUrls: ['./status-filter.component.scss']\r\n})\r\nexport class StatusFilterComponent implements OnInit {\r\n searchingStatus: boolean = false;\r\n options: TasksStatus [] = [TasksStatus.Open, TasksStatus.InProgress, TasksStatus.Finalized,TasksStatus.Closed,null ];\r\n filteredOptions:TasksStatus []= this.options;\r\n selected:TasksStatus = null;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter();\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public commonService : CommonService) { }\r\n\r\n async ngOnInit() {\r\n var storageStatus = localStorage.getItem(\"status\");\r\n if(storageStatus == \"null\"){\r\n this.selected = null;\r\n }else{\r\n this.selected = parseInt(localStorage.getItem(\"status\"))\r\n }\r\n \r\n }\r\n selectStatus(event){\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { status: event, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.selected = event;\r\n this.filteredOptions = this.options;\r\n localStorage.setItem(\"status\",event);\r\n \r\n }\r\n\r\n \r\n}","
\r\n \r\n
\r\n \r\n
\r\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { fromEvent, map, filter, debounceTime, distinctUntilChanged, Subscription, Observable } from 'rxjs';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { CommentDto, CommentTagDto } from 'src/app/web-api-client';\r\nimport { faCircleXmark } from \"@fortawesome/free-regular-svg-icons\";\r\n\r\n@Component({\r\n selector: 'app-tag-filter',\r\n templateUrl: './tag-filter.component.html',\r\n styleUrls: ['./tag-filter.component.scss']\r\n})\r\nexport class TagFilterComponent implements OnInit {\r\n searchingTags: boolean = false;\r\n filteredTags: CommentTagDto[] = [];\r\n clickedOnTag: boolean = false;\r\n selectedTags: string[] = [];\r\n\r\n tagSelectedSubscription: Subscription;\r\n\r\n @Input() discussionId: string;\r\n @Input() tagSelected: Observable = new Observable();\r\n @Output() filteredCommentsEventEmitter = new EventEmitter();\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n\r\n faCircleXmark = faCircleXmark;\r\n\r\n constructor(public CommentService: CommentService) { }\r\n\r\n async ngOnInit() {\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.tagSelectedSubscription = this.tagSelected.subscribe((tags: string) => { this.addTag(tags); });\r\n }\r\n\r\n async fetchTags() {\r\n this.clickedOnTag = false;\r\n this.searchingTags = true;\r\n\r\n if (this.selectedTags.length == 0) {\r\n this.filteredTags = [];\r\n this.filteredCommentsEventEmitter.emit(this.CommentService.comments);\r\n this.searchingTags = false;\r\n return;\r\n }\r\n\r\n const filteredComments = this.filterCommentsByTag();\r\n this.filteredCommentsEventEmitter.emit(\r\n filteredComments.sort((a, b) => b.messageSent.getTime() - a.messageSent.getTime())\r\n );\r\n this.searchingTags = false;\r\n }\r\n\r\n async clearSearch() {\r\n this.filteredTags = [];\r\n this.selectedTags = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.fetchTags();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.tagSelectedSubscription.unsubscribe();\r\n }\r\n\r\n //filter with list tags\r\n filterCommentsByTag() {\r\n this.CommentService.tagFilterSelectedValues = this.selectedTags;\r\n return this.CommentService.comments.filter(comment =>\r\n this.selectedTags.every(tag =>\r\n comment.tags.some(e => e.tagName.toLowerCase().startsWith(tag.toLowerCase()))\r\n )\r\n );\r\n }\r\n\r\n //add tags to list\r\n addTag(tags?: string) {\r\n var tagName: string;\r\n\r\n if (tags) {\r\n tagName = tags;\r\n }\r\n else {\r\n tagName = this.searchInputField.nativeElement.value.trim();\r\n }\r\n\r\n if (tagName && !this.selectedTags.includes(tagName)) {\r\n this.selectedTags.push(tagName);\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.fetchTags();\r\n }\r\n }\r\n\r\n //Remove tags from list\r\n removeTag(tag: string) {\r\n this.selectedTags = this.selectedTags.filter(t => t !== tag);\r\n this.fetchTags();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ tag }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
\r\n\r\n\r\n","\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserDto } from 'src/app/web-api-client';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, map } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-users-search',\r\n templateUrl: './users-search.component.html',\r\n styleUrls: ['./users-search.component.scss']\r\n})\r\n\r\nexport class UsersSearchComponent implements OnInit {\r\n // search indicators\r\n searchingUsers: boolean = false;\r\n filteredUsers: UserDto[] = [];\r\n clickedOnUser: boolean = false;\r\n users: UserDto[] = [];\r\n isInternal: boolean = false;\r\n inputGroup: FormGroup;\r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() inOverview: boolean = false;\r\n @ViewChild('searchField', { static: true }) searchInputField: ElementRef;\r\n @Output() subscriberId = new EventEmitter<{ id: string, user: UserDto }>();\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, public userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.inputGroup = new FormGroup({ search: new FormControl() });\r\n\r\n let selectedUserId = localStorage.getItem('subscriberId');\r\n if (selectedUserId) {\r\n var user = await this.userService.getUserById(selectedUserId);\r\n this.searchInputField.nativeElement.value = user.preferredEmail;\r\n }\r\n\r\n this.isInternal = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n if (this.isInternal) {\r\n if (this.networkMemberId) {\r\n this.users = await this.userService.getAllUsersByNetworkMemberId(this.networkMemberId);\r\n }\r\n }\r\n else {\r\n this.users = await this.userService.getAllUsersByConnectedNetworkMemberId();\r\n }\r\n\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keyup').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n // if character length greater than 1\r\n filter(res => res.length >= 3),\r\n // Time in milliseconds between key events\r\n debounceTime(50),\r\n // If previous query is diffent from current \r\n distinctUntilChanged()\r\n // subscription for response\r\n ).subscribe((text: string) => {\r\n this.clickedOnUser = false;\r\n this.fetchUser(text);\r\n });\r\n\r\n fromEvent(this.searchInputField.nativeElement, 'keydown').pipe(\r\n // get value\r\n map((event: any) => {\r\n return event.target.value;\r\n }),\r\n filter(res => res.length < 1),\r\n ).subscribe((text: string) => {\r\n this.clearSearch();\r\n });\r\n }\r\n\r\n async fetchUser(term: string) {\r\n if (term === '') {\r\n this.filteredUsers = [];\r\n }\r\n\r\n this.searchingUsers = true;\r\n\r\n if (this.isInternal && !this.networkMemberId) {\r\n this.filteredUsers = await this.userService.getAllSubscriber(term)\r\n }\r\n else {\r\n this.filteredUsers = this.users.filter((val) =>\r\n val.preferredEmail.toLowerCase().includes(term.toLowerCase())\r\n );\r\n }\r\n\r\n this.searchingUsers = false;\r\n }\r\n\r\n async selectUser(id: string) {\r\n let user: UserDto = null;\r\n user = this.filteredUsers.find(x => x.id == id);\r\n\r\n // if (!this.isInternal) {\r\n // let currentUser = (await this.userService.getCurrentUser()).networkMemberIds\r\n // user = await this.userService.getUserByIdByNM(id, currentUser);\r\n // } else {\r\n // user = await this.userService.getUserById(id);\r\n // }\r\n\r\n this.searchInputField.nativeElement.value = user.preferredEmail;\r\n localStorage.setItem(\"subscriberId\", user.id);\r\n\r\n this.addSubscriber(id, user);\r\n this.filteredUsers = [];\r\n }\r\n\r\n async clearSearch() {\r\n this.filteredUsers = [];\r\n localStorage.removeItem('subscriberId');\r\n\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { subscriberId: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n\r\n this.filteredUsers = [];\r\n this.searchInputField.nativeElement.value = \"\";\r\n }\r\n\r\n addSubscriber(id: string, user: UserDto) {\r\n\r\n if (this.inOverview) {\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { subscriberId: id, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n } else {\r\n this.subscriberId.emit({ id, user });\r\n }\r\n }\r\n}\r\n\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n

    {{ user?.preferredEmail }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n Searching...\r\n
\r\n
\r\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbAlertModule, NgbDatepickerModule, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { parseDate } from 'ngx-bootstrap/chronos';\r\n\r\n@Component({\r\n selector: 'app-year-filter',\r\n templateUrl: './year-filter.component.html',\r\n styleUrls: ['./year-filter.component.scss']\r\n})\r\nexport class YearFilterComponent implements OnInit {\r\n\tmodel: NgbDateStruct;\r\n dateInput : Date\r\n @ViewChild('yearField', { static: true }) searchInputField: ElementRef;\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,) { }\r\n\r\n ngOnInit(): void {\r\n var dateString = localStorage.getItem('dueDate')\r\n if(dateString != null){\r\n this.dateInput = parseDate(dateString+\"-01-01\");\r\n }else{\r\n this.dateInput = null;\r\n }\r\n \r\n }\r\n async clearSearch() {\r\n localStorage.removeItem('dueDate');\r\n this.router.navigate(\r\n [], \r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { dueDate: null },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n this.searchInputField.nativeElement.value = \"\";\r\n this.dateInput = null;\r\n }\r\n changeDate(event:Date){\r\n var year = event.getFullYear();\r\n localStorage.setItem('dueDate',year.toString())\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { dueDate: year, },\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n \r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalComponent } from '../modal/modal.component';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor(private modalService: NgbModal, public documentService: DocumentService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openModal(type: string, title: string) {\r\n let url = '';\r\n if (type === 'privacy') {\r\n url = 'https://insuropestoragedev.blob.core.windows.net/publiccontainer/privacy-notice/Privacy notice.pdf';\r\n } else if (type === 'terms') {\r\n url = 'https://insuropestoragedev.blob.core.windows.net/publiccontainer/terms-and-conditions/Terms and Conditions.pdf';\r\n }\r\n const modalRef = this.modalService.open(ModalComponent, { size: 'lg' });\r\n modalRef.componentInstance.url = url;\r\n modalRef.componentInstance.title = title;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { faBell } from '@fortawesome/free-regular-svg-icons';\r\nimport { faEnvelope } from '@fortawesome/free-regular-svg-icons';\r\nimport { faUser } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n faBell = faBell;\r\n faEnvelope = faEnvelope;\r\n faUser = faUser;\r\n userName : string;\r\n user:UserDto;\r\n constructor(public userService : UserService) { }\r\n\r\n async ngOnInit(){\r\n this.userName = await this.userService.getCurrentUserName();\r\n }\r\n}\r\n","
\r\n
\r\n

Hello {{userName}}

\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-message-box',\r\n templateUrl: './message-box.component.html',\r\n styleUrls: ['./message-box.component.scss']\r\n})\r\nexport class MessageBoxComponent implements OnInit {\r\n\r\n // input parameters\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() type: string;\r\n @Input() btnOkText: string;\r\n @Input() btnCancelText: string;\r\n @Input() dismissable: boolean = false;\r\n\r\n // output parameters\r\n @Output() declineEmitter = new EventEmitter();\r\n @Output() acceptEmitter = new EventEmitter();\r\n @Output() closeEmitter = new EventEmitter();\r\n\r\n // constructor\r\n constructor() { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n }\r\n\r\n // decline method\r\n decline() {\r\n this.declineEmitter.emit();\r\n }\r\n\r\n // accept method\r\n accept() {\r\n this.acceptEmitter.emit();\r\n }\r\n\r\n // close method\r\n close() {\r\n this.closeEmitter.emit();\r\n }\r\n\r\n}\r\n","
\r\n \r\n

{{ title }}

\r\n \r\n

{{ message }}

\r\n \r\n

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

\r\n\r\n \r\n\r\n
","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport {\r\n ModalDismissReasons,\r\n NgbActiveModal,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { FaqService } from \"src/app/services/faq.service\";\r\nimport { FaqCategoryDto, QuestionDto } from \"src/app/web-api-client\";\r\n\r\n@Component({\r\n selector: \"ngbd-modal-basic\",\r\n templateUrl: \"./modal-basic.component.html\",\r\n})\r\nexport class ModalBasicComponent implements OnInit {\r\n @Input() category: FaqCategoryDto;\r\n @Input() question: QuestionDto;\r\n @Input() isQuestion: boolean;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n public faqService: FaqService\r\n ) {}\r\n closeResult = \"\";\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return \"by pressing ESC\";\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return \"by clicking on a backdrop\";\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n saveCat() {\r\n this.faqService.updateFaqCateogry(this.category);\r\n this.activeModal.close(false);\r\n }\r\n\r\n deleteCat() {\r\n this.faqService.deleteFaqCategory(this.category.id);\r\n this.activeModal.close(false);\r\n }\r\n\r\n saveQuest() {\r\n this.faqService.updateQuestion(this.category.id, this.question);\r\n this.activeModal.close(false);\r\n }\r\n\r\n deleteQuest() {\r\n this.faqService.deleteQuestion(this.category.id, this.question.id);\r\n this.activeModal.close(true);\r\n }\r\n\r\n close() {\r\n this.activeModal.close(false);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n Update category\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Update question\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'], \r\n standalone: true, \r\n imports:[NgxDocViewerModule]\r\n})\r\nexport class ModalComponent implements OnInit {\r\n\r\n loading: boolean = true;\r\n @Input() title: string;\r\n url: string;\r\n\r\n constructor(public activeModal: NgbActiveModal ) { }\r\n\r\n async ngOnInit(): Promise {\r\n\r\n this.loading = true;\r\n }\r\n \r\n}\r\n","
\r\n
\r\n

{{ title }}

\r\n \r\n
\r\n
\r\n \r\n
Loading...
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { faEye } from '@fortawesome/free-regular-svg-icons';\r\nimport { faFile } from '@fortawesome/free-regular-svg-icons';\r\nimport { faHandshake } from '@fortawesome/free-regular-svg-icons';\r\nimport { faCalculator } from '@fortawesome/free-solid-svg-icons';\r\nimport { faCreditCard } from '@fortawesome/free-regular-svg-icons';\r\nimport { faMugHot } from '@fortawesome/free-solid-svg-icons';\r\nimport { faChartLine } from '@fortawesome/free-solid-svg-icons';\r\nimport { faEnvelope } from '@fortawesome/free-regular-svg-icons';\r\nimport { faCircleQuestion } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { environment } from 'src/environments/environment'\r\nimport { PowerBiReportDetails, ReportingClient } from 'src/app/web-api-client';\r\nimport { routes } from 'src/app/app-routing.module';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent {\r\n w = window.innerWidth;\r\n isExpanded: boolean = false;\r\n isDisabled: boolean = true;\r\n // fontawesome\r\n faChevronDown = faChevronDown;\r\n faEye = faEye;\r\n faFile = faFile;\r\n faHandshake = faHandshake;\r\n faCalculator = faCalculator;\r\n faCreditCard = faCreditCard;\r\n faMugHot = faMugHot;\r\n faChartLine = faChartLine;\r\n faEnvelope = faEnvelope;\r\n faCircleQuestion = faCircleQuestion;\r\n isDevelopment: boolean = true;\r\n\r\n // if the current user is a network member or not\r\n isNetworkMember: boolean;\r\n // if the current user is a client or not\r\n isClient: boolean;\r\n isFinancial: boolean;\r\n reportsSubMenuItems: PowerBiReportDetails[] = null;\r\n\r\n toggleNav() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n constructor(private userService: UserService, private reportingClient: ReportingClient, private router : Router) { }\r\n\r\n async ngOnInit() {\r\n this.isDisabled = this.w > 992 ? true : false;\r\n this.isExpanded = this.w > 992 ? true : false;\r\n\r\n // determine if the current user is a network member or not\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n // determine if the current user is a client or not\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n\r\n this.isFinancial = (await this.userService.getCurrentUser()).isFinancial;\r\n this.isDevelopment = environment.production == false\r\n this.createReportsSubMenu();\r\n }\r\n\r\n onResize(event) {\r\n this.w = window.innerWidth;\r\n this.isDisabled = this.w > 992 ? true : false;\r\n this.isExpanded = this.w > 992 ? true : false;\r\n }\r\n \r\n reloadPage() {\r\n var currentPath = this.router.url;;\r\n console.log(currentPath);\r\n \r\n if(currentPath == '/illustration-request'){\r\n window.location.reload();\r\n }\r\n \r\n }\r\n\r\n createReportsSubMenu() {\r\n this.reportingClient.getReportsName().subscribe(res => { this.reportsSubMenuItems = res; });\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-refresh-task-view',\r\n templateUrl: './refresh-task-view.component.html',\r\n styleUrls: ['./refresh-task-view.component.scss']\r\n})\r\nexport class RefreshTaskViewComponent implements OnInit {\r\n @Input() cron: string;\r\n @Input() lastModified: string;\r\n\r\n dateModified: string;\r\n\r\n constructor(public datePipe: DatePipe) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.lastModified === undefined){\r\n this.dateModified =\"\";\r\n }else{\r\n this.dateModified = this.datePipe.transform(this.lastModified, \"medium\");\r\n }\r\n \r\n }\r\n}\r\n","Last refresh: {{ this.dateModified }}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\nexport class LoadingSpinnerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n Loading ...\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IllustrationService } from 'src/app/services/illustration/illustration.service';\r\nimport { DomSanitizer, Title } from '@angular/platform-browser';\r\nimport { DiscussionDto, IllustrationRequestDto, TaskSubscribersDto, TaskUserSusbscriptionDto } from 'src/app/web-api-client';\r\nimport { revisionOptionMpp } from 'src/app/models/RevisionOptionMpp';\r\nimport * as FileSaver from 'file-saver';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\n\r\n@Component({\r\n selector: 'app-illustration-detail',\r\n templateUrl: './illustration-detail.component.html',\r\n styleUrls: ['./illustration-detail.component.scss']\r\n})\r\nexport class IllustrationDetailComponent implements OnInit {\r\n\r\n // hold the illustration id\r\n illustrationId: string;\r\n // hold the illustration\r\n illustration: IllustrationRequestDto;\r\n // hold the uploaded files\r\n uploadedFiles: File[] = [];\r\n loadingMppFile: boolean = false;\r\n revisionOptionMpp: revisionOptionMpp[] = [];\r\n illustrationAttachments: string[] = [];\r\n discussion: DiscussionDto;\r\n processId: string = ProcessIds.illustrations;\r\n\r\n taskSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public location: Location,\r\n public illustrationService: IllustrationService,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title,\r\n private router: Router,\r\n public documentService: DocumentService,\r\n private toastrService: ToastrService,\r\n private commentService: CommentService) { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n // get the illustration\r\n this.getIllustration();\r\n }\r\n\r\n // method to get the illustration\r\n async getIllustration() {\r\n // take the parameters from the url\r\n this.illustrationId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n\r\n try {\r\n // get the illustration by id\r\n this.illustration = await this.illustrationService.getIllustrationById(this.illustrationId);\r\n this.commentService.task = this.illustration;\r\n this.discussion = await this.commentService.getDiscussionByTaskId(this.illustration.id);\r\n this.commentService.discussion = this.discussion;\r\n this.commentService.comments = this.commentService.discussion?.comments;\r\n\r\n this.illustration.illustrationRevisions.sort((a, b) => a.revisionNumber >= b.revisionNumber ? -1 : 1).forEach(x => {\r\n let filePathList: string[] = [];\r\n\r\n //Get MPPs filePath\r\n let mppFilePaths = x.illustrationRevisionOptions.filter(t => t.sentToNetworkMemberDate > new Date('1/1/0001 12:00:00 AM') && t.pdfmppPath != null && t.deleted != true)\r\n .map(function (a) { return \"GeneratedMPP/\" + a.id + \"/\" + a.pdfmppName });\r\n filePathList.push(...mppFilePaths);\r\n\r\n //Get MLOCs filePath\r\n let locFilePaths = x.illustrationRevisionOptions.filter(t => t.sentToNetworkMemberDate > new Date('1/1/0001 12:00:00 AM') && t.pdflocPath != null && t.deleted != true)\r\n .map(function (a) { return \"GeneratedMPP/\" + a.id + \"/\" + a.pdflocName });\r\n filePathList.push(...locFilePaths);\r\n\r\n this.revisionOptionMpp.push({ revisionId: x.id, filesPath: filePathList, revisionNumber: x.revisionNumber, finalizedDate: x.finalizedSupportDate })\r\n }\r\n );\r\n\r\n\r\n this.illustration.illustrationRevisions.forEach((rev) => {\r\n rev.illustrationRevisionAttachments.map(att => this.illustrationAttachments.push(att.filePath + \"/\" + att.fileName));\r\n });\r\n\r\n let internalSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: this.illustration.salesRepresentative.mail,\r\n preferredEmail: this.illustration.salesRepresentative.mail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n let networkMemberSubscribers: TaskUserSusbscriptionDto[];\r\n\r\n this.illustration.networkMemberSubscribers.forEach(subscriberEmail => {\r\n let networkMemberSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: subscriberEmail,\r\n preferredEmail: subscriberEmail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n this.taskSubscribers.networkMemberSubscribers.push(networkMemberSubscriber);\r\n });\r\n\r\n this.taskSubscribers.insuropeSubscribers.push(internalSubscriber);\r\n\r\n if (this.illustration.salesRepresentative.mail != this.illustration.supportRepresentative.mail) {\r\n let internalSubscriber: TaskUserSusbscriptionDto = {\r\n active: true,\r\n email: this.illustration.supportRepresentative.mail,\r\n preferredEmail: this.illustration.supportRepresentative.mail\r\n } as TaskUserSusbscriptionDto;\r\n\r\n this.taskSubscribers.insuropeSubscribers.push(internalSubscriber);\r\n }\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n // if the illustration is not found, redirect to the 404 page\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // set the title\r\n this.titleService.setTitle(this.illustration.clientName + \" | Insurope\");\r\n }\r\n\r\n // sanitize the url to download the files\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n async downloadMppFile(path: string) {\r\n this.loadingMppFile = true;\r\n try {\r\n var file = await this.documentService.geIllustrationtDocument(path);\r\n } catch (e) {\r\n this.loadingMppFile = false;\r\n this.toastrService.error(\"An error occured during the MPP file downloading\")\r\n }\r\n const imageBlob = this.dataURItoBlob(file);\r\n var newPath = this.documentService.sanitizeFileName(path, \".pdf\");\r\n var test = new File([imageBlob], newPath, { type: 'application/pdf' });\r\n FileSaver.saveAs(test)\r\n this.loadingMppFile = false;\r\n }\r\n\r\n dataURItoBlob(dataURI) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'application/pdf' });\r\n return blob;\r\n }\r\n}\r\n","\r\n
\r\n\r\n \r\n \r\n\r\n \r\n

{{illustration?.clientName}}

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

Request date

\r\n {{ illustration.illustrationRevisions[0]?.requestDate | date }}\r\n
\r\n\r\n
\r\n

Stage

\r\n {{ illustration.illustrationStage.name }}\r\n
\r\n\r\n
\r\n

Sales representative

\r\n {{ illustration.salesRepresentative?.displayName }}\r\n
\r\n\r\n
\r\n

Support representative

\r\n {{ illustration.supportRepresentative?.displayName }}\r\n
\r\n\r\n
\r\n

Network member

\r\n {{ illustration.networkMember?.accountName }}\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n

Existing Insurope pool

\r\n {{ illustration.insuropeTypeOfBusiness? 'Yes' : 'No' }}\r\n
\r\n\r\n
\r\n

Insurope pooled plan renewal

\r\n {{ illustration.renewal? 'Yes' : 'No' }}\r\n
\r\n\r\n
\r\n

Pooling system

\r\n {{\r\n illustration.illustrationRevisions[0].illustrationRevisionOptions[0].optionGeneralOutput.poolingSystem\r\n }}\r\n
\r\n\r\n
\r\n

Common Currency

\r\n {{ illustration.commonCurrencyId }}\r\n
\r\n\r\n
\r\n

Poolable

\r\n {{ illustration.illustrationRevisions[0].poolable? 'Yes' : 'No' }}\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n

Finalized Mpp

\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
Illustration versionFinalization dateMpp files
\r\n
\r\n {{ revision.revisionNumber}}\r\n
\r\n
\r\n
\r\n {{ revision.finalizedDate | date }}\r\n
\r\n
0\">\r\n \r\n \r\n

No mpp file

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

Additional comments

\r\n {{ illustration.statusComment }}\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Location } from \"@angular/common\";\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\r\nimport { faBars, faTh } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { IllustrationService } from \"src/app/services/illustration/illustration.service\";\r\nimport { NetworkMembersService } from \"src/app/services/network-members/network-members.service\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { AccountDto, IllustrationRequestDto, TasksStatus, } from \"src/app/web-api-client\";\r\nimport * as _ from \"underscore\";\r\n\r\n@Component({\r\n selector: \"app-illustration-list\",\r\n templateUrl: \"./illustration-list.component.html\",\r\n styleUrls: [\"./illustration-list.component.scss\"],\r\n})\r\nexport class IllustrationListComponent implements OnInit {\r\n\r\n // hold the list of the illustrations\r\n illustrations: IllustrationRequestDto[] = [];\r\n\r\n // if the user is a networkmember or not\r\n isNetworkMember: boolean;\r\n isTableView: boolean;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n\r\n // determine if the filter needs to be shown\r\n @Input() displayFilter: boolean = true;\r\n @Input() onOverview: boolean = false;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkmember: AccountDto = null;\r\n // loading indicator\r\n loadingIllustrations: boolean = false;\r\n hideShowMoreBtn: boolean = false;\r\n\r\n params: ParamMap;\r\n clientName: string;\r\n\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Date\", property: \"displayDate\" },{ head: \"Country\", property: \"subtitle\" }, { head: \"Status\", property: \"status.value\" }]\r\n // constructor\r\n constructor(\r\n public location: Location,\r\n private illustrationService: IllustrationService,\r\n private userService: UserService,\r\n private activatedroute: ActivatedRoute,\r\n private titleService: Title,\r\n private networkMembersService: NetworkMembersService\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit(): Promise {\r\n // determine if the user is a network member\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.titleService.setTitle(\"All Illustrations | Insurope\");\r\n // subscribe to the route params\r\n this.activatedroute.queryParamMap.subscribe(async (params) => this.loadIllustrations(params));\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n\r\n if (this.isTableViewStoredValueKey) {\r\n let isTableView = localStorage.getItem(this.isTableViewStoredValueKey);\r\n var storedValue = JSON.parse(isTableView)\r\n if (isTableView) this.changeIsTableViewValue(storedValue);\r\n // set the title\r\n }\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingIllustrations) {\r\n this.page++;\r\n await this.loadIllustrations(null, true);\r\n }\r\n\r\n }\r\n\r\n // method to get the illustrations\r\n async loadIllustrations(params?: any, loadMore?: boolean) {\r\n\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n let newItems;\r\n\r\n // loading started\r\n this.loadingIllustrations = true;\r\n\r\n if (params?.get(\"networkMemberId\") && params.has(\"clientId\")) {\r\n this.networkmember = await this.networkMembersService.getNetworkMemberById(params?.get(\"networkMemberId\"));\r\n }\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientName = params?.get(\"clientName\");\r\n var subscriberId = params?.get('subscriberId');\r\n var statusCode = localStorage.getItem('status');\r\n var status = TasksStatus[statusCode];\r\n var dueDate = localStorage.getItem('dueDate');\r\n if (subscriberId) {\r\n var subscriberEmail = (await this.userService.getUserById(subscriberId)).preferredEmail;\r\n }\r\n\r\n\r\n if (!loadMore) {\r\n this.illustrations = [];\r\n this.page = 1\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n // load the illustrations\r\n newItems = await this.illustrationService.getMyOrganizationIllustrationsPaginated(\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n else {\r\n if (!params.has('networkMemberId')) {\r\n // load the illustrations\r\n let networkMemberIDs: string[] = [];\r\n newItems = await this.illustrationService.getIllustrationsPaginated(\r\n networkMemberIDs,\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n else {\r\n // load the illustrations\r\n let nmId = params?.get(\"networkMemberId\") ? params?.get(\"networkMemberId\") : localStorage.getItem('networkMemberId');\r\n let networkMemberIDs: string[] = [];\r\n if (!this.clientName && nmId) {\r\n networkMemberIDs.push(nmId);\r\n }\r\n newItems = await this.illustrationService.getIllustrationsPaginated(\r\n networkMemberIDs,\r\n clientName,\r\n status,\r\n subscriberId,\r\n subscriberEmail,\r\n parseInt(dueDate),\r\n null,\r\n null,\r\n this.page,\r\n this.pageSize\r\n );\r\n }\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n let updatedItems = newItems.map(illustration => {\r\n let updatedIllustration = illustration;\r\n\r\n // if (illustration.illustrationStage.name != \"Finalized\") {\r\n // updatedIllustration.illustrationStage.name = \"In-progress\";\r\n // }\r\n\r\n return updatedIllustration;\r\n });\r\n\r\n this.illustrations = this.illustrations.concat(updatedItems);\r\n\r\n if (this.illustrations.length == 0) {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.add(\"d-none\");\r\n }\r\n else {\r\n document.getElementById(\"illustrations-view-btn\")?.classList.remove(\"d-none\");\r\n }\r\n\r\n // loading finished\r\n this.loadingIllustrations = false;\r\n }\r\n\r\n changeIsTableViewValue(value: boolean) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n replace(value: string, oldCharacter: string, newCharacter: string) {\r\n if (!value || !oldCharacter || !newCharacter) {\r\n return value;\r\n }\r\n\r\n return value.replace(oldCharacter, newCharacter);\r\n }\r\n\r\n getFinalizedSupportDate(illustration: IllustrationRequestDto): Date {\r\n var maxDate = new Date(_.max(illustration.illustrationRevisions.map(x => x.finalizedSupportDate)));\r\n return maxDate;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n

All illustrations

\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ClientNetwork MemberCountryPoolableFinalized DateStatus
{{ item.clientName }}{{ item.networkMember?.accountName }}{{ item.countries[0]?.name | titlecase}}{{\".\"}}{{ item.illustrationRevisions[0]?.poolable? 'Yes' : 'No' }}{{ item.illustrationRevisions[0]?.finalizedSupportDate | date }} {{item.illustrationStage.name | replace :'-':' '}}
\r\n
\r\n
\r\n\r\n
There are no illustrations
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
","import { DatePipe, Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AttachmentDTO, BooleanTaskDto, CommentDto, CommentType, NotificationStatus } from 'src/app/web-api-client';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileParameter } from 'src/app/web-api-client';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { Subscription } from 'rxjs';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\n\r\n@Component({\r\n selector: 'app-boolean-task-detail',\r\n templateUrl: './boolean-task-detail.component.html',\r\n styleUrls: ['./boolean-task-detail.component.scss']\r\n})\r\n\r\nexport class BooleanTaskDetailComponent implements OnInit {\r\n dateTime = new Date()\r\n // hold the task id\r\n taskId: string;\r\n attachments: FileParameter[] = [];\r\n // hold the task\r\n task: BooleanTaskDto;\r\n status: string;\r\n process: string;\r\n commentAttachments: AttachmentDTO[] = [];\r\n // fa icons\r\n faCheck = faCheck;\r\n faTimes = faTimes;\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n displayTaskAction: boolean = true;\r\n\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n gfg = false;\r\n comments: CommentDto[] = [];\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public booleanTaskService: BooleanTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n private titleService: Title,\r\n public commonService: CommonService,\r\n private commentService: CommentService,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // loading started\r\n this.loadingTask = true;\r\n\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n // determine if the user is a network member\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.task = this.booleanTaskService.activeBooleanTask;\r\n this.status = this.commonService.getTaskStatusByNumber(this.task.status.value, true);\r\n\r\n this.displayTaskAction = await this.commonService.displayTaskAction(this.task);\r\n\r\n this.process = this.task.processId;\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n // loading finished\r\n this.loadingTask = false;\r\n\r\n // set the title\r\n this.titleService.setTitle(this.task.title + \" | Insurope\");\r\n }\r\n\r\n // method to approve the task\r\n async approveDisaproveTask() {\r\n // change the status\r\n let approvedTask = this.task;\r\n if ((approvedTask.value == false || approvedTask.value == null) ! && this.isNetworkMember) {\r\n approvedTask.value = true;\r\n\r\n if (await this.booleanTaskService.changeTaskBooleanStatus(approvedTask)) {\r\n this.task.value = true;\r\n var commentDto: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: \"

The task has been approved

\",\r\n processName: this.process,\r\n clientName: this.task.title,\r\n networkMemberName: this.task.networkMember.accountName,\r\n country: this.task.country,\r\n files: null,\r\n tags: null,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n commentType: CommentType.Comment,\r\n notificationFrequency: NotificationFrequency.Instantly,\r\n notificationType: NotificationType.EmailNotification,\r\n notificationStatus:NotificationStatus.New\r\n }\r\n\r\n await this.commentService.addComment(commentDto);\r\n\r\n }\r\n }\r\n else if (approvedTask.value == true && this.isCollaborator) {\r\n approvedTask.value = false;\r\n this.task.value = false;\r\n await this.booleanTaskService.changeTaskBooleanStatus(approvedTask);\r\n }\r\n }\r\n\r\n getButtonName() {\r\n if (this.task.value) {\r\n if (this.isNetworkMember) {\r\n return \"Approved\";\r\n }\r\n else {\r\n return \"Click to Disapprove\";\r\n }\r\n }\r\n\r\n return \"Click to Approve\";\r\n }\r\n\r\n // method to reject the task\r\n async reject() {\r\n var rejectedTask = this.task;\r\n rejectedTask.value = false;\r\n\r\n if (await this.booleanTaskService.changeTaskBooleanStatus(rejectedTask)) {\r\n this.task.value = false;\r\n }\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments = comments?.map(x => x.attachments).flat();\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n getDueDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.overdueDate == undefined || booleanTask.overdueDate.getFullYear() == 1 ? \"/\" : this.datePipe.transform(booleanTask.overdueDate);\r\n }\r\n\r\n getApprovalDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.approvalDate == undefined || booleanTask.approvalDate.getFullYear() == 1 ? \"Not approved yet\" : this.datePipe.transform(booleanTask.approvalDate);\r\n }\r\n\r\n formatdate(dateYear: Date) {\r\n var year = dateYear.getFullYear();\r\n if (year === 1) {\r\n return \"/\";\r\n }\r\n return year;\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto) {\r\n if (task.sourceId.startsWith(\"SA\")) {\r\n const parsed = JSON.parse(task.metaData);\r\n const approvalQuestions = parsed.ApprovalQuestions;\r\n\r\n if (approvalQuestions.length > 0) {\r\n const periodEndDate = Date.parse(approvalQuestions[0]?.PeriodEndDate);\r\n\r\n if (!isNaN(periodEndDate)) {\r\n return this.formatdate(new Date(periodEndDate));\r\n }\r\n return \"\";\r\n\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n }\r\n}","
\r\n \r\n
\r\n \r\n \r\n \r\n

task?.displayDate.getDate() + 3) && (dateTime.getDate() < task?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">{{\r\n task?.title }} {{ getMetaData(task) ? ' - ' + getMetaData(task) : '' }}

\r\n \r\n

{{commonService.getLastModifiedDate([task])}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{task?.networkMember?.accountName }}(Click for more details...)\r\n Network Member\r\n unknown\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ task?.title }}

\r\n {{ task?.subTitle }}\r\n
\r\n\r\n
\r\n no content\r\n {{ task?.content }}\r\n
\r\n\r\n
\r\n

Network Member

\r\n {{ task.networkMember.accountName }}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Status

\r\n {{ status }}\r\n
\r\n
\r\n

Approval Status

\r\n {{ \"Approved\" }}\r\n No approval status for this task yet\r\n
\r\n
\r\n
\r\n
\r\n

Due date

\r\n {{ getDueDate(task) }}\r\n
\r\n
\r\n

Approval date

\r\n {{ getApprovalDate(task) }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { DatePipe, Location } from \"@angular/common\";\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { BooleanTaskDto, SortOrder, SortingElement, TasksStatus } from 'src/app/web-api-client';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\nimport { parseDate } from 'ngx-bootstrap/chronos';\r\nimport { faSort } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-boolean-task-list',\r\n templateUrl: './boolean-task-list.component.html',\r\n styleUrls: ['./boolean-task-list.component.scss']\r\n})\r\nexport class BooleanTaskListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingBooleanTask: boolean = false;\r\n dateTime = new Date()\r\n // take the process as input\r\n @Input() process: string;\r\n // take the title as input\r\n @Input() title: string;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n @Input() displayFilter: boolean = false;\r\n @Input() onOverview: boolean = false;\r\n\r\n @Input() statusFilter: number = null;\r\n @Input() tableView: boolean;\r\n @Input() headers: { head: string, property: string }[] = [];\r\n // hold the boolean tasks\r\n items: BooleanTaskDto[] = [];\r\n @Input() subscriberId: string;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n isMuView: boolean = false;\r\n processId: string;\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\"\r\n faSort = faSort\r\n\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n private booleanTaskService: BooleanTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n private datePipe: DatePipe) {\r\n var isMuView = JSON.parse(localStorage.getItem(\"isApprovalMultipoolView\"));\r\n if (isMuView == null) {\r\n isMuView = false;\r\n }\r\n this.updateProcess(isMuView);\r\n this.processId = this.process;\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.processId && this.processId != this.process) {\r\n this.process = this.processId;\r\n }\r\n\r\n await this.checkUserRoles();\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n }\r\n\r\n changeIsMuView(muView: boolean) {\r\n this.updateProcess(muView);\r\n this.updateTitle(muView);\r\n\r\n this.processId = this.process;\r\n this.items = [];\r\n\r\n this.ngOnInit()\r\n }\r\n\r\n updateProcess(muView: boolean) {\r\n this.isMuView = muView\r\n if (muView) {\r\n this.process = \"approval-mu\"\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status?.value\" },]\r\n } else {\r\n this.process = \"approval\"\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Approval date\", property: \"approvalDate\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n\r\n localStorage.setItem(\"isApprovalMultipoolView\", JSON.stringify(muView));\r\n }\r\n\r\n updateTitle(muView: boolean) {\r\n if (muView) {\r\n this.title = \"Multipool Approvals\"\r\n } else {\r\n this.title = \"Approvals\"\r\n }\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadtasks(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingBooleanTask) {\r\n this.page++\r\n await this.loadtasks(null, true);\r\n }\r\n }\r\n\r\n getApprovalDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.approvalDate == undefined || booleanTask.approvalDate.getFullYear() == 1 ? \"Not approved yet\" : this.datePipe.transform(booleanTask.approvalDate);\r\n }\r\n\r\n getDueDate(booleanTask: BooleanTaskDto) {\r\n return booleanTask.overdueDate == undefined || booleanTask.overdueDate.getFullYear() == 1 ? \"/\" : this.datePipe.transform(booleanTask.overdueDate);\r\n }\r\n\r\n async loadtasks(params?: any, loadMore?: boolean) {\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1;\r\n }\r\n\r\n // loading started\r\n this.loadingBooleanTask = true;\r\n\r\n let newItems: BooleanTaskDto[] = [];\r\n\r\n if (this.process) {\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = params?.get(\"clientId\");\r\n var clientName = params?.get(\"clientName\");\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.Status = status\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.OverdueDate = parseInt(storageDueDate);\r\n\r\n //Sort by Status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortBystatus);\r\n\r\n //Sort by DueDate\r\n var sortByDueDate = new SortingElement();\r\n sortByDueDate.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.overdueDate);\r\n sortByDueDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortByDueDate);\r\n\r\n //Sort by Client name\r\n var sortByClient = new SortingElement();\r\n sortByClient.columnName = this.getPropertyName((obj: BooleanTaskDto) => obj.clientId);\r\n sortByClient.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortByClient);\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.booleanTaskService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.booleanTaskService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n\r\n this.sortingElements = []\r\n this.loadingBooleanTask = false;\r\n }\r\n\r\n formatdate(dateYear: Date) {\r\n var year = dateYear.getFullYear();\r\n if (year === 1) {\r\n return \"/\";\r\n }\r\n return year;\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto) {\r\n if (task.sourceId.startsWith(\"SA\")) {\r\n const parsed = JSON.parse(task.metaData);\r\n const approvalQuestions = parsed.ApprovalQuestions;\r\n\r\n if (approvalQuestions.length > 0) {\r\n const periodEndDate = Date.parse(approvalQuestions[0]?.PeriodEndDate);\r\n\r\n if (!isNaN(periodEndDate)) {\r\n return this.formatdate(new Date(periodEndDate));\r\n }\r\n return \"\";\r\n\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n}\r\n\r\n","
\r\n \r\n

{{ title }}

\r\n \r\n

{{lastRefreshDate}}

\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{head.head}}\r\n NM approved
\r\n {{ item?.title }} {{ getMetaData(item) ? ' - ' + getMetaData(item) : '' }}\r\n {{ item?.networkMember?.accountName }}\r\n {{getApprovalDate(item)}}{{ getDueDate(item)}}{{item.country}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value,true) }}\r\n {{item.value==true ? \"Approved\" : \"\"}}\r\n
\r\n
\r\n
\r\n\r\n
There are no outstanding tasks.
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Loading...\r\n
\r\n
","import { Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild, NgZone } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { Observable, OperatorFunction, Subject, Subscription, merge } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { BooleanTaskDto, CommentDto, CommentType, FileParameter, NotificationFrequency, NotificationStatus } from 'src/app/web-api-client';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { QuillEditorComponent } from 'ngx-quill';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\nimport { CommentFormDto } from 'src/app/models/CommentFormDto';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-comment-form',\r\n templateUrl: './comment-form.component.html',\r\n styleUrls: ['./comment-form.component.scss']\r\n})\r\n\r\nexport class CommentDetailComponent implements OnInit {\r\n @ViewChild('commentForm') commentForm: NgForm;\r\n //@ViewChild('autosize') autosize: CdkTextareaAutosize;\r\n //@ViewChild('commentField', { static: true }) commentField: ElementRef;\r\n @ViewChild('instance', { static: false }) instance: NgbTypeahead;\r\n @ViewChild('quillEditor', { static: false }) quillEditor: QuillEditorComponent | undefined;\r\n\r\n @Input() isTagSystemApplicable: boolean = false;\r\n @Input() isOccurencyApplicable: boolean = false;\r\n @Input() isOnCreateTask: boolean = false;\r\n\r\n //Emit attachments and content of a comment\r\n @Output() commentEvent: EventEmitter = new EventEmitter();\r\n \r\n\r\n accountFile: FileParameter;\r\n showError = false;\r\n showAdminDbError = false;\r\n attachments: FileParameter[] = [];\r\n MAX_FILES_SIZE = 30000000;\r\n valid: boolean = false;\r\n text: string = \"\";\r\n htmlContent = \"\";\r\n error: string;\r\n dragAreaClass: string;\r\n draggedFiles: any;\r\n _ngZone: NgZone;\r\n verifyText: string = \"\"\r\n templateForm: FormGroup;\r\n commentTags: string[] = []\r\n model: any;\r\n tagsToAdd: string[] = []\r\n faCircleXmark = faCircleXmark;\r\n taskId: string = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n allDiscussionTags: string[];\r\n defaultTags: string[];\r\n approval: BooleanTaskDto;\r\n shouldSendNotification: boolean = true;\r\n shouldSendReminder: boolean = false;\r\n commentId: string = \"\";\r\n isEdit: boolean = false;\r\n\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n commentReplyTagsSubscription: Subscription;\r\n clientReplyTagsSubscription: Subscription;\r\n editCommentSubscription: Subscription;\r\n\r\n constructor(public documentService: DocumentService, private commentService: CommentService, private activatedroute: ActivatedRoute, private userService: UserService) {\r\n this.templateForm = new FormGroup({\r\n textEditor: new FormControl(''),\r\n });\r\n }\r\n\r\n allTags: string[];\r\n focus$ = new Subject();\r\n click$ = new Subject();\r\n\r\n async ngOnInit() {\r\n this.allDiscussionTags = this.commentService.discussion?.comments.map(({ tags }) => tags).flat().map(({ tagName }) => tagName);\r\n this.commentReplyTagsSubscription = this.commentService.getCommentReplyTagsList.subscribe((tags) => this.getCommentReplyTags(tags));\r\n this.clientReplyTagsSubscription = this.commentService.getClientReplyTagValue.subscribe((tags) => this.getClientReplyTag(tags));\r\n this.editCommentSubscription = this.commentService.editCommentEvent.subscribe((comment) => this.editComment(comment));\r\n\r\n this.defaultTags = this.commentService.defaultTags?.map(({ tagName }) => tagName)\r\n this.allTags = this.allDiscussionTags?.concat(this.defaultTags);\r\n\r\n this.templateForm.valueChanges.subscribe(x => { this.valid = this.isValid() });\r\n\r\n this.approval = this.commentService.task;\r\n\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.shouldSendNotification = true; \r\n }\r\n\r\n search: OperatorFunction = (text$: Observable) => {\r\n const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());\r\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance.isPopupOpen()));\r\n const inputFocus$ = this.focus$;\r\n\r\n var distinctTags = [...new Set(this.allTags)];\r\n\r\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\r\n map((term) => {\r\n const filteredTags = (term === '' ? distinctTags : distinctTags.filter((v) => v.toLowerCase().indexOf(term.toLowerCase()) > -1));\r\n distinctTags = filteredTags;\r\n // Close the popup if the search term is empty\r\n if (term === '' || term.length === 0) {\r\n this.instance.dismissPopup();\r\n }\r\n return filteredTags.slice(0, 10);\r\n }),\r\n );\r\n };\r\n\r\n getClientReplyTag(tagReplyParameter: TagReplyParameter) {\r\n if (tagReplyParameter != undefined) {\r\n this.commentTags.push(tagReplyParameter.tagName);\r\n var formattedMessage = tagReplyParameter.message.replace(/\\/g, '\\n');\r\n this.fillQuillEditorWithText(formattedMessage, true);\r\n };\r\n }\r\n\r\n getCommentReplyTags(params: TagReplyParameter[]) {\r\n params.forEach(param => {\r\n if (!this.commentTags.includes(param.tagName)) {\r\n this.commentTags.push(param.tagName)\r\n }\r\n });\r\n\r\n var approvalComments = params.map(x => x.message).join('\\n');\r\n this.fillQuillEditorWithText(approvalComments, false);\r\n }\r\n\r\n private fillQuillEditorWithText(messageText: string, isClientReply: boolean) {\r\n // Accessing the native DOM element containing the Quill editor\r\n var quillEditor = this.quillEditor;\r\n if (quillEditor) {\r\n if (isClientReply) {\r\n if (messageText.trim().length > 0) {\r\n var replyTextTitle = \"Insurope Approval Comments:\";\r\n messageText = messageText.replace(\"
\", '\\n');\r\n messageText = `\\n\\n${replyTextTitle}\\n${messageText}`;\r\n\r\n quillEditor.quillEditor.insertText(messageText.length, messageText);\r\n var titleIndex = quillEditor.quillEditor.getText().indexOf(replyTextTitle);\r\n quillEditor.quillEditor.formatText(titleIndex, replyTextTitle.length, 'bold', true);\r\n quillEditor.quillEditor.setSelection(0, 0);\r\n\r\n this.commentTags.push(\"Approval Comments Reply\");\r\n }\r\n }\r\n else {\r\n quillEditor.quillEditor.insertText(messageText.length, messageText);\r\n }\r\n\r\n this.scrollToQuillEditor(quillEditor);\r\n }\r\n }\r\n\r\n private scrollToQuillEditor(quillEditor: QuillEditorComponent) {\r\n const editorElement = quillEditor.elementRef?.nativeElement;\r\n if (editorElement) {\r\n editorElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n } else {\r\n console.error('Unable to scroll. Quill editor native element not found.');\r\n }\r\n }\r\n\r\n @HostListener(\"dragover\", [\"$event\"]) onDragOver(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragenter\", [\"$event\"]) onDragEnter(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragend\", [\"$event\"]) onDragEnd(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragleave\", [\"$event\"]) onDragLeave(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"drop\", [\"$event\"]) onDrop(event: any) {\r\n this.dragAreaClass = \"dragarea\";\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files) {\r\n let files: File[] = event.dataTransfer.files;\r\n this.fileUploaded({ isUploaded: true, message: \"\", files: files });\r\n }\r\n }\r\n\r\n fileUploaded(response: { isUploaded: boolean, message: string, files?: File[] }) {\r\n var filesSize = 0;\r\n if (response.isUploaded) {\r\n // loop through the files\r\n for (let i = 0; i < response.files.length; i++) {\r\n // add the file to the list\r\n filesSize += response.files[i].size;\r\n\r\n const decodedFileName = decodeURIComponent(response.files[i].name);\r\n const fileNameParts = decodedFileName.split('.');\r\n const extension = fileNameParts.pop();\r\n const cleanedFileName = fileNameParts.join('.').replace(/[^a-zA-Z0-9]+/g, ' ');\r\n const newFileName = cleanedFileName + '.' + extension;\r\n\r\n this.attachments.push({ data: new Blob([response.files[i]]), fileName: newFileName });\r\n\r\n if (filesSize >= this.MAX_FILES_SIZE) {\r\n this.removeFile(this.attachments.length - 1);\r\n filesSize -= response.files[i].size;\r\n this.showFilesError();\r\n }\r\n }\r\n this.valid = this.isValid();\r\n } else {\r\n console.error(response.message);\r\n }\r\n }\r\n\r\n showFilesError() {\r\n this.showError = true;\r\n setTimeout(() => {\r\n this.showError = false\r\n }, 5000)\r\n }\r\n\r\n removeFile(index: number) {\r\n // remove the file\r\n this.attachments.splice(index, 1);\r\n this.valid = this.isValid();;\r\n }\r\n\r\n onClickSubmit() {\r\n if(this.approval){\r\n var notificationFrequency = this.approval.processId == ProcessIds.multipoolApprovals ? NotificationFrequency.Scheduled : NotificationFrequency.Instantly;\r\n }\r\n \r\n\r\n if(!this.shouldSendNotification)\r\n {\r\n notificationFrequency = NotificationFrequency.Ignore\r\n }\r\n\r\n let originalContent = this.templateForm.value.textEditor;\r\n let formattedContent = originalContent.includes(\"ql-indent-\") ? this.commentService.fixQuillIndentation(originalContent) : originalContent; \r\n\r\n if(this.isOnCreateTask){\r\n if(confirm(\"Sending a message will automatically create the request, would you like to continue?\")){\r\n var commentFormDto: CommentFormDto = {\r\n\r\n content: formattedContent,\r\n\r\n attachments: this.attachments,\r\n commentTags: this.commentTags,\r\n commentType: CommentType.Reply,\r\n notificationFrequency: NotificationFrequency.Reccurent,\r\n notificationType: NotificationType.EmailNotification,\r\n notificationStatus : NotificationStatus.New,\r\n isEdit: this.isEdit,\r\n sentNotification: this.shouldSendNotification,\r\n commentId: this.commentId,\r\n }\r\n \r\n if(this.isOccurencyApplicable || this.isOnCreateTask){\r\n this.shouldSendNotification = this.shouldSendReminder\r\n commentFormDto.notificationFrequency = NotificationFrequency.Reccurent\r\n if(this.shouldSendNotification == true){\r\n commentFormDto.notificationStatus = NotificationStatus.New\r\n }else{\r\n commentFormDto.notificationStatus = NotificationStatus.Stopped\r\n }\r\n }\r\n \r\n this.commentEvent.emit(commentFormDto);\r\n }\r\n }else{\r\n var commentFormDto: CommentFormDto = {\r\n content: formattedContent,\r\n attachments: this.attachments,\r\n commentTags: this.commentTags,\r\n commentType: CommentType.Reply,\r\n notificationFrequency: notificationFrequency,\r\n notificationType: NotificationType.EmailNotification,\r\n notificationStatus : NotificationStatus.New,\r\n isEdit: this.isEdit,\r\n sentNotification: this.shouldSendNotification,\r\n commentId: this.commentId,\r\n }\r\n \r\n if(this.isOccurencyApplicable){\r\n this.shouldSendNotification = this.shouldSendReminder\r\n commentFormDto.notificationFrequency = NotificationFrequency.Reccurent\r\n if(this.shouldSendNotification == true){\r\n commentFormDto.notificationStatus = NotificationStatus.New\r\n }else{\r\n commentFormDto.notificationStatus = NotificationStatus.Stopped\r\n }\r\n }\r\n \r\n this.commentEvent.emit(commentFormDto);\r\n }\r\n this.attachments = [];\r\n this.templateForm.reset();\r\n this.commentTags = []\r\n this.valid = false;\r\n this.isEdit = false;\r\n this.shouldSendNotification = true;\r\n \r\n }\r\n\r\n addTag(event: { preventDefault: () => void; }, tag: string) {\r\n if (!this.isNetworkMember) {\r\n if (this.commentTags.find(x => x == tag) == null) {\r\n this.commentTags.push(tag)\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n tag = '';\r\n this.model = ''\r\n }\r\n\r\n deleteTag(index: number) {\r\n this.commentTags.splice(index, 1);\r\n }\r\n\r\n // triggerResize() {\r\n // // Wait for changes to be applied, then trigger textarea resize.\r\n // this._ngZone.onStable.pipe(take(1)).subscribe(() => this.autosize.resizeToFitContent(true));\r\n // }\r\n\r\n async getAccountFile() {\r\n try {\r\n var fileResponse = await this.documentService.getAdminDbDocument(this.approval.adminDbAttachments[0], [this.approval.networkMemberId]);\r\n this.attachments.push({ data: new Blob([fileResponse.data]), fileName: fileResponse.fileName })\r\n this.valid = Boolean((this.attachments.length > 0 || this.text != \"\") || this.commentForm.valid);\r\n } catch (e) {\r\n this.showAdminDbError = true;\r\n setTimeout(() => {\r\n this.showAdminDbError = false\r\n }, 5000)\r\n }\r\n\r\n }\r\n\r\n isValid() {\r\n return Boolean((this.attachments.length > 0 || !(this.templateForm.value.textEditor == null || this.templateForm.value.textEditor == \"\")) && this.templateForm.valid);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.clientReplyTagsSubscription.unsubscribe();\r\n this.commentReplyTagsSubscription.unsubscribe();\r\n this.editCommentSubscription.unsubscribe();\r\n }\r\n\r\n editComment(comment: CommentDto) {\r\n this.commentId = comment.id;\r\n this.isEdit = true;\r\n var updatedCommentText = \"\";\r\n\r\n if (comment.content?.trim().length > 0) {\r\n var lines = comment.content.split('\\n');\r\n for (let i = 0; i < lines.length; i++) {\r\n var lineText = this.htmlToPlainText(lines[i]);\r\n\r\n if (lines[i].trim().length > 0) {\r\n if (!lines[i].startsWith(\"Edited on\")) {\r\n if (i == lines.length - 1) {\r\n updatedCommentText += lineText;\r\n }\r\n else {\r\n updatedCommentText += lineText + '\\n';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.fillQuillEditorWithText(updatedCommentText, false);\r\n }\r\n\r\n cancelEdit() {\r\n this.commentId = null;\r\n this.isEdit = false;\r\n this.quillEditor.quillEditor.deleteText(0, this.quillEditor.quillEditor.getLength());\r\n }\r\n\r\n htmlToPlainText(html: string): string {\r\n const div = document.createElement('div');\r\n div.innerHTML = html;\r\n\r\n return this.traverseDOM(div);\r\n }\r\n\r\n traverseDOM(node: Node): string {\r\n let text = '';\r\n\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n text += node.textContent;\r\n } else if (node.nodeType === Node.ELEMENT_NODE && node instanceof Element) {\r\n if (node.tagName === 'BR') {\r\n text += '\\n';\r\n } else if (node.tagName === 'LI') {\r\n text += '\\n- ' + node.textContent.trim();\r\n } else {\r\n for (let i = 0; i < node.childNodes.length; i++) {\r\n text += this.traverseDOM(node.childNodes[i]);\r\n }\r\n }\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{tag}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

No files selected

\r\n
{{ documentService.sanitizeFileName(file.fileName)}}\r\n \r\n
\r\n
\r\n\r\n

No admin db file was found

\r\n

You cannot add more than 30 MB of files. Please verify the size of your\r\n files

\r\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, Renderer2 } from '@angular/core';\r\nimport { faClock, faFilePdf } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFileExcel } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFileCsv } from '@fortawesome/free-solid-svg-icons';\r\nimport { faFile } from '@fortawesome/free-solid-svg-icons';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Attachment, CommentDto, CommentTagDto, CommentType, NotificationDto, NotificationStatus } from 'src/app/web-api-client';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable, OperatorFunction, Subject, debounceTime, distinctUntilChanged, filter, map, merge } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\n@Component({\r\n selector: 'app-comment-item',\r\n templateUrl: './comment-item.component.html',\r\n styleUrls: ['./comment-item.component.scss']\r\n})\r\n\r\nexport class CommentItemComponent implements OnInit {\r\n @Input() comment?: CommentDto\r\n @Input() discussionId?: string\r\n @Input() isTagSystemApplicable: boolean = false;\r\n @Input() userId: string;\r\n @Input() clientNameList: string[];\r\n @Input() isOccurencyApplicable: boolean = false;\r\n @Output() filterByTagEvent = new EventEmitter();\r\n\r\n @ViewChild('instance', { static: true }) instance: NgbTypeahead;\r\n @ViewChild('contentDiv') contentDiv!: ElementRef;\r\n\r\n attachments: Attachment[] = [];\r\n pseudo: string = \"\";\r\n faFilePdf = faFilePdf;\r\n faFileExcel = faFileExcel;\r\n faFileCsv = faFileCsv;\r\n faFile = faFile;\r\n faClock = faClock\r\n filesPath: string[] = [];\r\n //commentClass: string = \"comment-item\"\r\n commentTags: CommentTagDto[] = []\r\n faCircleXmark = faCircleXmark;\r\n model: string;\r\n allDiscussionTags: string[];\r\n defaultTags: string[];\r\n allTags: string[];\r\n taskId: string = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n maxLength: number = 300;\r\n onKeyDown: boolean = true;\r\n focus$ = new Subject();\r\n click$ = new Subject();\r\n\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n\r\n showMore: boolean = false;\r\n canBeEdited: boolean = false;\r\n canBeDeleted: boolean = false;\r\n\r\n sanitizedText: SafeHtml;\r\n maxCommentElementHeight: string = \"150px\";\r\n isExpanded = false;\r\n showButton = false;\r\n shouldSendNotification = false;\r\n\r\n constructor(private sanitizer: DomSanitizer, private commentService: CommentService, private notificationService :NotificationService, public documentService: DocumentService, private activatedroute: ActivatedRoute, private userService: UserService, private renderer: Renderer2) { }\r\n\r\n async ngOnInit() {\r\n this.attachments = this.comment?.attachments;\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n if (this.isNetworkMember) {\r\n //no remove characters\r\n this.onKeyDown = false;\r\n //no write\r\n this.maxLength = 0\r\n }\r\n else {\r\n this.maxLength = 300;\r\n this.onKeyDown = true;\r\n }\r\n\r\n var user = await this.userService.getCurrentUser();\r\n\r\n this.canBeEdited = this.comment.commentType != CommentType.Automated && this.comment.userId == user.id;\r\n this.canBeDeleted = this.comment.userId == user.id || this.isCollaborator;\r\n\r\n this.commentTags = this.commentService.comments.filter(x => x.id == this.comment.id).map(x => x.tags).flat();\r\n\r\n let discussionTags = this.commentService.discussion?.comments.map(x => x.tags).flat();\r\n this.allDiscussionTags = [...new Set(discussionTags?.map(({ tagName }) => tagName))];\r\n this.defaultTags = this.commentService.defaultTags?.map(({ tagName }) => tagName);\r\n this.allTags = [...new Set(this.allDiscussionTags?.concat(this.defaultTags).concat(this.clientNameList))];\r\n \r\n if(this.isOccurencyApplicable){\r\n var notification = (await this.notificationService.GetNotificationByCommentId(this.comment.id));\r\n \r\n if(notification != null){\r\n this.shouldSendNotification = notification.status != NotificationStatus.Stopped\r\n }\r\n \r\n }\r\n \r\n \r\n this.generateCommentPreview();\r\n\r\n this.getPseudo();\r\n //this.changeClass();\r\n\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.contentDiv.nativeElement.style.maxHeight = this.maxCommentElementHeight;\r\n\r\n setTimeout(() => {\r\n const contentDiv = this.contentDiv.nativeElement;\r\n const scrollingHeight = contentDiv.scrollHeight;\r\n var maxElementHeight = parseInt(this.maxCommentElementHeight.replace(\"px\", \"\"));\r\n\r\n if (scrollingHeight > maxElementHeight) {\r\n this.showButton = true;\r\n }\r\n\r\n }, 0);\r\n }\r\n\r\n search: OperatorFunction = (text$: Observable) => {\r\n const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());\r\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance?.isPopupOpen()));\r\n const inputFocus$ = this.focus$;\r\n\r\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\r\n map((term) =>\r\n (term === '' ? this.allTags : this.allTags.filter((v) => v.toLowerCase().indexOf(term.toLowerCase()) > -1)).slice(0, 10),\r\n ),\r\n );\r\n };\r\n\r\n getPseudo() {\r\n this.pseudo = this.comment.firstName[0] + this.comment.lastName[0];\r\n }\r\n\r\n convertFileType(type: string) {\r\n switch (type) {\r\n case \".pdf\":\r\n return this.faFilePdf;\r\n case \".xsl\":\r\n return this.faFileExcel;\r\n case \".csv\":\r\n return this.faFileCsv;\r\n default:\r\n return this.faFile;\r\n }\r\n }\r\n\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n async changeNotificationStatus(){\r\n var notif = await this.notificationService.GetNotificationByCommentId(this.comment.id)\r\n if(notif != null){\r\n var status = NotificationStatus.New\r\n if(this.shouldSendNotification == false){\r\n status = NotificationStatus.Stopped\r\n }\r\n await this.notificationService.ChangeNotificationStatus(this.discussionId, status)\r\n }\r\n }\r\n\r\n addReplyTags() {\r\n var replyTags = this.commentTags.map(x => x.tagName);\r\n replyTags = replyTags.filter(x => x != \"Handled by Network Member\");\r\n replyTags.push(\"Handled by Insurope\");\r\n\r\n var TagReplyParameter: TagReplyParameter[] = replyTags.map(x => { return { tagName: x, message: \"\" } });\r\n this.commentService.setCommentReplyTagsList.next(TagReplyParameter);\r\n }\r\n\r\n // changeClass() {\r\n // if (this.userId == this.comment?.userId) {\r\n // this.commentClass = \"my-comment comment-item\";\r\n // }\r\n // }\r\n\r\n async deleteTag(id: string) {\r\n var index = this.commentTags.findIndex(x => x.id == id);\r\n this.commentTags.splice(index, 1);\r\n await this.commentService.deleteCommentTags(id, this.discussionId, this.comment.id).then()\r\n }\r\n\r\n async addTag($event: { preventDefault: () => void; }, tag: string) {\r\n if (this.commentTags.find(x => x.tagName == tag) == null && tag != null) {\r\n var commentId = this.comment.id\r\n var newTag = await this.commentService.addCommentTag([tag], this.discussionId, commentId);\r\n this.commentTags = this.commentTags.concat(newTag);\r\n $event.preventDefault();\r\n }\r\n\r\n this.model = \"\"\r\n }\r\n\r\n // method to download the file\r\n async downloadCommentFile(file: Attachment) {\r\n // download the file from the server\r\n let download = \"data:application/octet-stream;base64,\" + await this.commentService.downloadFile(this.comment?.id, this.discussionId, file.id);\r\n // download the file\r\n var a = document.createElement('a');\r\n a.setAttribute('href', download);\r\n a.setAttribute('download', file.name);\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n\r\n filterByTag(tag: string) {\r\n // filter the comments by tag\r\n this.filterByTagEvent.emit(tag);\r\n }\r\n\r\n toggleExpand() {\r\n this.isExpanded = !this.isExpanded;\r\n if (!this.isExpanded) {\r\n this.contentDiv.nativeElement.style.maxHeight = this.maxCommentElementHeight;\r\n }\r\n else {\r\n this.contentDiv.nativeElement.style.maxHeight = \"none\";\r\n }\r\n }\r\n\r\n generateCommentPreview() {\r\n if (this.comment?.content != null && this.comment?.content?.length > 0) {\r\n let content = this.comment.content.trim();\r\n\r\n if (content.includes('ql-indent-')) {\r\n content = this.commentService.fixQuillIndentation(content);\r\n }\r\n\r\n if (!this.comment.isHtmlText) {\r\n var commentText = this.convertToPlainText(content);\r\n this.sanitizedText = this.sanitizer.bypassSecurityTrustHtml(commentText);\r\n }\r\n else {\r\n this.sanitizedText = this.sanitizer.bypassSecurityTrustHtml(content);\r\n }\r\n }\r\n }\r\n\r\n expandCollapseComment(shouldExpand: boolean) {\r\n this.showMore = shouldExpand;\r\n }\r\n\r\n // delete a comment\r\n async deleteComment() {\r\n await this.commentService.deleteComment(this.taskId, this.comment.id);\r\n }\r\n\r\n async editeComment() {\r\n this.commentService.editCommentEvent.next(this.comment);\r\n }\r\n\r\n convertToPlainText(text: string): string {\r\n // Create a new DOMParser instance\r\n const parser = new DOMParser();\r\n // Parse the input HTML string into a document\r\n const doc = parser.parseFromString(text, 'text/html');\r\n\r\n // Check if there's a paragraph element that is not empty\r\n const paragraphElements = doc.querySelectorAll('p');\r\n const titleElement = doc.querySelector('b');\r\n const listElement = doc.querySelector('ul');\r\n\r\n // Initialize HTML with an empty string\r\n let html = '';\r\n\r\n // Process paragraph elements if present\r\n paragraphElements.forEach((p) => {\r\n const paragraphText = p.textContent?.trim();\r\n if (paragraphText) {\r\n html += `

${paragraphText}

\\n`; // Add paragraph to HTML\r\n }\r\n });\r\n\r\n if (html.trim().length == 0) {\r\n if (text.trim().length > 0)\r\n html = `

${text}

\\n`;\r\n else {\r\n html = `

\\n`;\r\n }\r\n }\r\n\r\n // If there's a title, add it\r\n if (titleElement) {\r\n html = html.replace(/

.*$/gm, `

${titleElement.textContent?.trim()}
\\n`);\r\n }\r\n\r\n // Process the list if present\r\n if (listElement) {\r\n html += `

    \\n`;\r\n const items = listElement.querySelectorAll('li');\r\n\r\n // Iterate through the list items\r\n items.forEach((item) => {\r\n const lines = item.textContent?.trim().split('\\n').map(line => line.trim()).filter(Boolean) || [];\r\n let mainItem = true; // To track main vs nested items\r\n\r\n // Iterate through the extracted lines\r\n lines.forEach(line => {\r\n if (line.startsWith('-')) {\r\n if (!mainItem) {\r\n html += `
\\n`; // Close the nested list if it was open\r\n mainItem = true; // Reset for the next main item\r\n }\r\n html += `
  • ${line.substring(1).trim()}
  • \\n`; // Add main list item\r\n } else if (line.startsWith('?')) {\r\n if (mainItem) {\r\n html += `
      \\n`; // Open a nested list\r\n mainItem = false; // Switch to nested item mode\r\n }\r\n html += `
    • ${line.substring(1).trim()}
    • \\n`; // Add nested list item\r\n } else {\r\n // If the line doesn't start with a dash or question mark,\r\n // treat it as a main item if it’s the first non-empty line.\r\n if (mainItem) {\r\n html += `
    • ${line}
    • \\n`; // Add it as a main item\r\n }\r\n }\r\n });\r\n\r\n if (!mainItem) {\r\n html += `
    \\n`; // Close the nested list if it was open\r\n }\r\n });\r\n html += `\\n`;\r\n }\r\n\r\n return html;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{this.pseudo}}\r\n
    \r\n
    \r\n
    \r\n

    {{ comment?.firstName }} {{ comment?.lastName }}, {{ comment?.messageSent |date }}

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

    Tags

    \r\n
    \r\n
    \r\n \r\n {{ tag.tagName }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { DiscussionDto, TaskSubscribersDto, Comment, TasksStatus, CommentDto, TaskUserSusbscriptionDto } from 'src/app/web-api-client';\r\nimport { faTrashCan, faCircleXmark } from \"@fortawesome/free-regular-svg-icons\";\r\nimport jsPDF from 'jspdf';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { NgbTypeahead } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TagReplyParameter } from 'src/app/models/TagReplyParameter';\r\nimport { CommentFormDto } from 'src/app/models/CommentFormDto';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { EditCommentDto } from 'src/app/models/EditCommentDto';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\n\r\n@Component({\r\n selector: 'app-comment-list',\r\n templateUrl: './comment-list.component.html',\r\n styleUrls: ['./comment-list.component.scss']\r\n})\r\n\r\nexport class CommentListComponent implements OnInit {\r\n @Input() taskId: string;\r\n @Input() status: TasksStatus;\r\n @Input() customSubscriberProvider: string = \"\";\r\n @Input() networkMemberId: string;\r\n @Input() networkMemberName: string;\r\n @Input() clientName: string;\r\n @Input() clientNameList: string[];\r\n @Input() country: string;\r\n @Input() periodEnd: string;\r\n @Input() customProcessId: string = \"\";\r\n @Input() illustrationRequestSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n @Input() onCreatingNewTask:boolean = false\r\n @Input() service: any;\r\n @Input() isTagSystemApplicable: boolean = true;\r\n @Input() isOccurencyApplicable: boolean = false;\r\n\r\n @Output() commentIdReply = new EventEmitter();\r\n @Output() sendNewTask = new EventEmitter();\r\n replyTagsSubject: Subject = new Subject();\r\n tagSelected: Subject = new Subject();\r\n quillEditorSetFocus: Subject = new Subject();\r\n\r\n lastExportedDate: Date;\r\n userId: string;\r\n dateTime = new Date()\r\n discussion: DiscussionDto;\r\n comments: Comment[] = [];\r\n commentId: number = 0;\r\n faTrashCan = faTrashCan;\r\n faCircleXmark = faCircleXmark;\r\n isNetworkMember: boolean;\r\n isClient: boolean;\r\n IsCollaborator: boolean;\r\n searchResult: [];\r\n replyTags: string[] = [];\r\n selectedTag: string = \"\";\r\n processId: string;\r\n filteredComments: Comment[] = [];\r\n isAllToggleShowMoreComplete: boolean = false;\r\n loading: boolean = false;\r\n commentsNodes: Node[] = [];\r\n replyTagsSubscription: Subscription;\r\n commentSubscribersSubscription: Subscription;\r\n\r\n taskSubscribers: TaskSubscribersDto = {\r\n clientSubscribers: [],\r\n networkMemberSubscribers: [],\r\n insuropeSubscribers: []\r\n } as TaskSubscribersDto;\r\n\r\n @ViewChild('discussionTable') discussionTable!: ElementRef;\r\n @ViewChild('searchTagField', { static: true }) searchTagField: ElementRef;\r\n @ViewChild('instance', { static: true }) instance: NgbTypeahead;\r\n\r\n constructor(private commentService: CommentService, private userService: UserService, \r\n private activatedroute: ActivatedRoute, private popupNotificationsService: PopupNotificationsService) { }\r\n\r\n async ngOnInit() {\r\n \r\n this.processId = this.commentService.task?.processId;\r\n if (this.customProcessId != \"\" && (this.processId == \"\" || this.processId == null)) {\r\n this.processId = this.customProcessId;\r\n }\r\n if(!this.taskId){\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\")\r\n }\r\n \r\n this.discussion = this.commentService.discussion;\r\n this.comments = this.commentService.comments.filter(x=>!x.isDeleted);\r\n this.filteredComments = this.comments;\r\n\r\n this.commentSubscribersSubscription = this.commentService.updateCommentSubscribers.subscribe((subscribers) => {\r\n this.taskSubscribers = subscribers;\r\n });\r\n\r\n this.getSubscibers()\r\n }\r\n\r\n // Load subscribers from the service\r\n async getSubscibers() {\r\n try {\r\n if (this.customSubscriberProvider.trim() !== \"\") {\r\n this.taskSubscribers = await this.commentService.getIllustrationTaskSubscriber(this.taskId,\r\n this.illustrationRequestSubscribers.clientSubscribers,\r\n this.illustrationRequestSubscribers.insuropeSubscribers,\r\n this.illustrationRequestSubscribers.networkMemberSubscribers\r\n );\r\n }\r\n else {\r\n this.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.taskId);\r\n \r\n }\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n // Add a comment at the top of the comments array\r\n async addComment(response: CommentFormDto) {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n this.IsCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n var task = this.commentService.task;\r\n\r\n if (response.isEdit) {\r\n let editCommentDto: EditCommentDto = {\r\n TaskId: this.taskId,\r\n CommentId: response.commentId,\r\n Content: response.content,\r\n SendNotification: response.sentNotification,\r\n PeriodEnd: this.periodEnd,\r\n ProcessName: this.processId,\r\n ClientName: this.clientName,\r\n NetworkMemberName: task.networkMemberName,\r\n CustomSubscriberProvider: task.customSubscriberProvider,\r\n Country: this.country,\r\n Title: task.title,\r\n };\r\n\r\n await this.commentService.editComment(editCommentDto);\r\n } else {\r\n let addCommentDto: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: response.content,\r\n tags: response.commentTags,\r\n customSubscriberProvider: this.customSubscriberProvider,\r\n processName: this.processId,\r\n clientName: this.clientName,\r\n networkMemberName: this.networkMemberName,\r\n files: response.attachments,\r\n country: this.country,\r\n periodEnd: this.periodEnd,\r\n commentType: response.commentType,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n notificationFrequency: response.notificationFrequency,\r\n notificationType: response.notificationType,\r\n notificationStatus: response.notificationStatus\r\n };\r\n \r\n if(this.onCreatingNewTask){\r\n this.sendNewTask.emit(true);\r\n }\r\n var comment = await this.commentService.addComment(addCommentDto).then();\r\n\r\n if (comment) {\r\n this.filteredComments = this.commentService.filteredComments.sort((a, b) => \r\n new Date(b.messageSent).getTime() - new Date(a.messageSent).getTime()\r\n );\r\n }\r\n \r\n if (comment != undefined && !(this.processId == ProcessIds.accountInputs || this.processId == ProcessIds.annualReport || this.processId == ProcessIds.illustrations)) {\r\n if ((this.isNetworkMember || this.isClient) && this.status == TasksStatus.Open) {\r\n await this.service.changeTaskStatus(this.taskId, TasksStatus.InProgress);\r\n }\r\n\r\n if (this.IsCollaborator && this.status == TasksStatus.InProgress) {\r\n await this.service.changeTaskStatus(this.taskId, TasksStatus.Open);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // export the discussion\r\n\r\n async exportDiscussion() {\r\n this.loading = true;\r\n const exportCommentBuilder = [];\r\n const imageData: { src: string; x: number; y: number; width: number; height: number }[] = [];\r\n\r\n for (const comment of this.comments) {\r\n if (comment.content?.trim().length < 1) continue;\r\n\r\n const messageHeader = `${comment.firstName} ${comment.lastName} (${comment.messageSent.toDateString()}):`;\r\n //console.log(comment.content);\r\n const { text, images } = await this.htmlToPlainTextWithImages(comment.content);\r\n exportCommentBuilder.push(messageHeader + text);\r\n\r\n if (comment.attachments && comment.attachments.length > 0) {\r\n exportCommentBuilder.push(\"\\n--- Attachments ---\\n\");\r\n for (const attachment of comment.attachments) {\r\n exportCommentBuilder.push(`- ${attachment.name}`);\r\n }\r\n exportCommentBuilder.push(\"\\n\");\r\n }\r\n imageData.push(...images);\r\n }\r\n\r\n await this.generatePDF(\r\n exportCommentBuilder.join(\"\\n\\n\"),\r\n imageData,\r\n `${this.commentService.task.title} - ${this.commentService.task.networkMember?.accountName}.pdf`\r\n );\r\n\r\n this.loading = false;\r\n }\r\n\r\n async htmlToPlainTextWithImages(html: string): Promise<{ text: string; images: { src: string; x: number; y: number; width: number; height: number }[] }> {\r\n const div = document.createElement('div');\r\n div.innerHTML = html;\r\n\r\n const images: { src: string; x: number; y: number; width: number; height: number }[] = [];\r\n const text = await this.traverseDOMWithImages(div, images);\r\n\r\n return { text, images };\r\n }\r\n\r\n async traverseDOMWithImages(node: Node, images: { src: string; x: number; y: number; width: number; height: number }[], depth = 0, maxDepth = 100): Promise {\r\n if (depth > maxDepth) {\r\n console.warn('Maximum depth reached. Stopping traversal to prevent infinite recursion.');\r\n return '';\r\n }\r\n\r\n let text = '';\r\n\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n text += node.textContent || '';\r\n } \r\n else if (node.nodeType === Node.ELEMENT_NODE && node instanceof Element) {\r\n if (node.tagName === 'BR') {\r\n const prev = node.previousSibling?.textContent?.trim();\r\n const next = node.nextSibling?.textContent?.trim();\r\n \r\n if ((prev && prev.length > 0) || (next && next.length > 0)) {\r\n text += '\\n';\r\n }\r\n } \r\n else if (node.tagName === 'P') {\r\n text += '\\n' + (await this.traverseChildren(node, images, depth, maxDepth)) + '\\n';\r\n } \r\n else if (node.tagName === 'UL' || node.tagName === 'OL') {\r\n text += '\\n' + await this.traverseChildren(node, images, depth + 1, maxDepth); \r\n }\r\n else if (node.tagName === 'LI') {\r\n\r\n let liText = await this.traverseChildren(node, images, depth + 1, maxDepth);\r\n\r\n // Check whether the element has a `margin-left` in its style\r\n let indentLevel = 0;\r\n let styleAttribute = node.getAttribute(\"style\"); \r\n\r\n if (styleAttribute && styleAttribute.includes(\"margin-left\")) {\r\n let marginMatch = styleAttribute.match(/margin-left:\\s*(\\d+)px/);\r\n if (marginMatch) {\r\n indentLevel = parseInt(marginMatch[1], 10) / 20; // Convert pixels to indent level\r\n }\r\n }\r\n\r\n // Check whether it is an ordered list (OL) or an unordered list (UL)\r\n let listMarker = node.parentElement?.tagName === 'OL' \r\n ? `${Array.from(node.parentElement.children).indexOf(node) + 1}.` // Numbering \r\n : '•'; \r\n \r\n // Add an indentation based on the level retrieved\r\n let indentSpacing = ' '.repeat(indentLevel * 4); \r\n\r\n text += `\\n${indentSpacing}${listMarker} ${liText}`;\r\n\r\n }\r\n else if (node.tagName === 'BLUE') {\r\n let blueText = await this.traverseChildren(node, images, depth, maxDepth);\r\n text += `{blue}${blueText}{/blue}`;\r\n } \r\n else if (node.tagName === 'SPAN') { \r\n const style = node.getAttribute('style');\r\n let spanText = await this.traverseChildren(node, images, depth, maxDepth);\r\n\r\n if (style) {\r\n let colorMatch = style.match(/color:\\s*([^;]+)/);\r\n let bgColorMatch = style.match(/background-color:\\s*([^;]+)/);\r\n\r\n if (bgColorMatch != null) {\r\n spanText = `{highlight:${bgColorMatch[1]}}${spanText}{/highlight}`;\r\n }\r\n else {\r\n spanText = `{color:${colorMatch[1]}}${spanText}{/color}`;\r\n }\r\n }\r\n\r\n text += spanText;\r\n }\r\n else if (node.tagName === 'IMG') {\r\n const imgSrc = node.getAttribute('src');\r\n if (imgSrc) {\r\n const img = new Image();\r\n img.src = imgSrc;\r\n\r\n await new Promise((resolve) => (img.onload = resolve));\r\n\r\n let imgWidth = img.naturalWidth;\r\n let imgHeight = img.naturalHeight;\r\n\r\n const maxWidth = 500; // Adjust as needed\r\n const maxHeight = 500; // Adjust as needed\r\n\r\n if (imgWidth > maxWidth || imgHeight > maxHeight) {\r\n const widthRatio = maxWidth / imgWidth;\r\n const heightRatio = maxHeight / imgHeight;\r\n const scale = Math.min(widthRatio, heightRatio);\r\n\r\n imgWidth *= scale;\r\n imgHeight *= scale;\r\n }\r\n\r\n images.push({ src: imgSrc, x: 0, y: 0, width: imgWidth, height: imgHeight });\r\n text += `\\n[IMAGE]\\n`; // Placeholder for the image\r\n }\r\n } \r\n else {\r\n text += await this.traverseChildren(node, images, depth, maxDepth);\r\n }\r\n }\r\n return text;\r\n }\r\n\r\n async traverseChildren(node: Node, images: { src: string; x: number; y: number; width: number; height: number }[], depth: number, maxDepth: number): Promise {\r\n let text = '';\r\n\r\n for (const child of Array.from(node.childNodes)) {\r\n const childText = await this.traverseDOMWithImages(child, images, depth + 1, maxDepth);\r\n text += childText;\r\n }\r\n\r\n return text;\r\n }\r\n\r\n\r\n async generatePDF(\r\n text: string,\r\n images: { src: string; x: number; y: number; width?: number; height?: number }[],\r\n fileName: string = 'Document.pdf'\r\n ) {\r\n const doc = new jsPDF();\r\n const margin = 10;\r\n const lineSpacing = 5;\r\n const pageWidth = doc.internal.pageSize.width - margin * 2;\r\n const pageHeight = doc.internal.pageSize.height - margin * 2;\r\n \r\n let y = margin;\r\n let x = margin;\r\n \r\n const lines = text.split('\\n');\r\n \r\n for (const line of lines) {\r\n if (line.startsWith(\"\")) {\r\n if (line.endsWith(\"\")) {\r\n doc.setTextColor(55, 138, 192); // Blue text color\r\n const cleanLine = line.replace(\"\", \"\").replace(\"\", \"\");\r\n doc.text(cleanLine, x, y);\r\n }\r\n else if (line.includes(\"\")) {\r\n doc.setTextColor(55, 138, 192);\r\n const beforeBlue = line.split(\"\")[0].replace(\"\", \"\"); // Blue text color\r\n const afterBlue = line.split(\"\")[1].trim(); // \"Edited on ...\"\r\n\r\n doc.text(beforeBlue, x, y); // Blue text color\r\n y += lineSpacing; \r\n\r\n doc.setTextColor(0, 0, 0); // Default color for \"Edited on ...\"\r\n doc.text(afterBlue, x, y); \r\n y += lineSpacing;\r\n }\r\n } \r\n else if (line === \"[IMAGE]\") {\r\n // Handle image placement\r\n if (images.length > 0) {\r\n const image = images.shift();\r\n if (image) {\r\n const imgData = await this.convertImageToBase64(image.src);\r\n \r\n // Get original image dimensions\r\n const originalImg = new Image();\r\n originalImg.src = image.src;\r\n await new Promise((resolve) => (originalImg.onload = resolve));\r\n \r\n let imgWidth = originalImg.width;\r\n let imgHeight = originalImg.height;\r\n \r\n // Only resize if the image is larger than the PDF page\r\n if (imgWidth > pageWidth || imgHeight > pageHeight) {\r\n const widthRatio = pageWidth / imgWidth;\r\n const heightRatio = pageHeight / imgHeight;\r\n const scale = Math.min(widthRatio, heightRatio);\r\n \r\n imgWidth *= scale;\r\n imgHeight *= scale;\r\n }\r\n \r\n // Add image to the PDF without enlarging small images\r\n if (y + imgHeight > doc.internal.pageSize.height - margin) {\r\n // Add a new page if the image doesn't fit\r\n doc.addPage();\r\n y = margin;\r\n }\r\n \r\n doc.addImage(imgData, 'PNG', x, y, imgWidth, imgHeight);\r\n y += imgHeight + lineSpacing; // Adjust Y position after the image\r\n }\r\n }\r\n } \r\n else if (line.startsWith(\"Attachments:\")) {\r\n doc.text(line, x, y);\r\n y += lineSpacing;\r\n } \r\n else if (line.startsWith(\"•\")) { \r\n let indentationLevel = (line.match(/^\\s+/) || [''])[0].length;\r\n let adjustedX = x + indentationLevel * 2;\r\n \r\n //Split text to fit with in the page\r\n const wrappedLines = doc.splitTextToSize(line.trim(), pageWidth - adjustedX);\r\n for (const wrappedLine of wrappedLines) {\r\n doc.text(wrappedLine, adjustedX, y);\r\n y += lineSpacing;\r\n }\r\n }\r\n else {\r\n let modifiedLine = line;\r\n doc.setTextColor(0, 0, 0); //Default color \r\n\r\n let textParts = [];\r\n let currentX = x;\r\n\r\n // manage color and highlight\r\n while (/{(color|highlight):([^}]+)}(.*?){\\/\\1}/.test(modifiedLine)) {\r\n let match = modifiedLine.match(/{(color|highlight):([^}]+)}(.*?){\\/\\1}/);\r\n if (match) {\r\n let type = match[1]; // \"color\" ou \"highlight\"\r\n let value = match[2].trim();\r\n let text = match[3];\r\n\r\n if (type === \"color\") {\r\n textParts.push({ text, color: value, highlight: null });\r\n } else {\r\n textParts.push({ text, color: null, highlight: value });\r\n }\r\n\r\n modifiedLine = modifiedLine.replace(match[0], \"\"); \r\n }\r\n }\r\n\r\n // Add the rest of the text if not already covered\r\n if (modifiedLine.trim() !== \"\") {\r\n textParts.push({ text: modifiedLine, color: \"rgb(0,0,0)\", highlight: null }); //Default color\r\n }\r\n\r\n for (let part of textParts) {\r\n let textWidth = doc.getTextWidth(part.text);\r\n\r\n // Apply highlighting without affecting color\r\n if (part.highlight) {\r\n let rgb = part.highlight.match(/\\d+/g).map(Number);\r\n doc.setFillColor(rgb[0], rgb[1], rgb[2]);\r\n doc.rect(currentX - 1, y - 5, textWidth + 2, 7, 'F'); // add background color\r\n }\r\n\r\n // Apply text color without removing highlighting\r\n if (part.color) {\r\n let rgb = part.color.match(/\\d+/g).map(Number);\r\n doc.setTextColor(rgb[0], rgb[1], rgb[2]);\r\n } else {\r\n doc.setTextColor(0, 0, 0);\r\n }\r\n\r\n ////Split text to fit with in the page and add text\r\n const wrappedLines = doc.splitTextToSize(part.text, pageWidth - currentX);\r\n for (const wrappedLine of wrappedLines) {\r\n doc.text(wrappedLine, currentX, y);\r\n y += lineSpacing;\r\n }\r\n currentX += textWidth;\r\n }\r\n\r\n //Default color\r\n doc.setTextColor(0, 0, 0);\r\n } \r\n y += lineSpacing;\r\n \r\n if (y > doc.internal.pageSize.height - margin) {\r\n doc.addPage();\r\n y = margin;\r\n }\r\n }\r\n \r\n doc.save(fileName);\r\n }\r\n\r\n async convertImageToBase64(url: string): Promise {\r\n const response = await fetch(url);\r\n const blob = await response.blob();\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n copySubscriberEmail(val: string) {\r\n navigator.clipboard.writeText(val);\r\n }\r\n\r\n getNetworkMemberId() {\r\n return this.networkMemberId;\r\n }\r\n\r\n async addSubscriber(event: { id: string; }) {\r\n var sub = await this.commentService.addSubscriber(this.taskId, event.id, this.processId);\r\n this.taskSubscribers = sub;\r\n }\r\n\r\n async deleteSubscriber(taskSubscribers: TaskSubscribersDto) {\r\n try{\r\n var subs = await this.commentService.deleteSubscriber(this.taskId, taskSubscribers.id);\r\n this.taskSubscribers = subs;\r\n }catch(e){\r\n this.popupNotificationsService.showMessage(\"There must be at least one subscriber per list\",MessageType.Error)\r\n }\r\n }\r\n \r\n isCommentDeletable(comment: Comment) {\r\n var limitDate = comment.messageSent.getDate() + 1;\r\n var deleteComment = true;\r\n\r\n if (comment.userId == this.userId) {\r\n deleteComment = false;\r\n if (comment.attachments?.length > 0 && limitDate < this.dateTime.getDate()) {\r\n deleteComment = true;\r\n }\r\n }\r\n return deleteComment;\r\n }\r\n\r\n async loadTagByName(tagName: string) {\r\n if (tagName == '') {\r\n this.filteredComments = this.comments;\r\n } else {\r\n this.filteredComments = this.comments.filter(comment => comment.tags.some((e) => e.tagName.toLowerCase().startsWith(tagName.toLowerCase())))\r\n this.searchResult = [];\r\n this.selectedTag = tagName;\r\n }\r\n }\r\n\r\n async clearSearch() {\r\n this.searchResult = [];\r\n this.filteredComments = this.comments;\r\n this.searchTagField.nativeElement.value = \"\";\r\n }\r\n\r\n updateCommentList(comments: CommentDto[]) {\r\n this.filteredComments = comments;\r\n }\r\n\r\n updateSelectedTag(tag: string) {\r\n this.tagSelected.next(tag);\r\n }\r\n\r\n setQuillFocusEvent() {\r\n this.quillEditorSetFocus.next();\r\n }\r\n\r\n onNgDestroy() {\r\n this.replyTagsSubscription.unsubscribe();\r\n this.commentSubscribersSubscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n

    Discussion

    \r\n \r\n
    0\" class=\"mb-2 d-flex flex-column\">\r\n
    \r\n \r\n
    \r\n {{ taskUserSusbscription.preferredEmail }}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
    \r\n \r\n
    \r\n {{ taskUserSusbscription.preferredEmail }}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    No subscribers for this task

    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n Last export: {{ discussion.lastExported | date}}\r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    ","import { Location } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { CommonService } from \"src/app/services/common/common.service\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { ActionPerform, Attachment, AttachmentDTO, CommentDto, FileParameter, FileUploadTaskDto } from \"src/app/web-api-client\";\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DocumentService } from \"src/app/services/document.service\";\r\nimport { AddCommentDto } from \"src/app/models/AddCommentDto\";\r\nimport { CommentType } from \"src/app/models/enums/CommentType\";\r\nimport { NotificationFrequency } from \"src/app/models/enums/NotificaionFrequency\";\r\nimport { NotificationType } from \"src/app/models/enums/NotificationType\";\r\n\r\n@Component({\r\n selector: \"app-file-upload-task-detail\",\r\n templateUrl: \"./file-upload-task-detail.component.html\",\r\n styleUrls: [\"./file-upload-task-detail.component.scss\"],\r\n})\r\nexport class FileUploadTaskDetailComponent implements OnInit {\r\n\r\n dateTime = new Date()\r\n taskId: string;\r\n task: FileUploadTaskDto;\r\n commentAttachments: AttachmentDTO[] = [];\r\n gfg = false;\r\n uploadedFiles: File[] = [];\r\n statusText = \"\";\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n faTrash = faTrash;\r\n isNetworkMember: boolean;\r\n isCollaborator: boolean;\r\n savingLoader = false;\r\n loadingTask: boolean = false;\r\n displayTaskAction: boolean = false;\r\n comments: CommentDto[] = [];\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private sanitizer: DomSanitizer,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n private commentService: CommentService\r\n ) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get('id');\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n \r\n this.task = this.fileUploadTaskService.activeFileUploadTask;\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.statusText = this.commonService.getTaskStatusByNumber(this.task.status.value);\r\n this.displayTaskAction = await this.commonService.displayTaskAction(this.task);\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n // when the file is uploaded\r\n fileUploaded(response: {\r\n isUploaded: boolean;\r\n message: string;\r\n files?: File[];\r\n }) {\r\n // if files where uploaded\r\n if (response.isUploaded) {\r\n // loop through the files\r\n for (let i = 0; i < response.files.length; i++) {\r\n // add the file to the list\r\n this.uploadedFiles.push(response.files[i]);\r\n }\r\n }\r\n }\r\n\r\n // method to remove a file\r\n removeFile(index: number) {\r\n // remove the file\r\n this.uploadedFiles.splice(index, 1);\r\n }\r\n\r\n // method to save the changes\r\n async save() {\r\n // saving started\r\n this.savingLoader = true;\r\n // loop through the files\r\n for (let i = 0; i < this.uploadedFiles.length; i++) {\r\n const filePath = await this.fileUploadTaskService.uploadFileToTask(\r\n this.task,\r\n this.uploadedFiles[i],\r\n i === this.uploadedFiles.length - 1 ? true : false\r\n );\r\n const attachment = new Attachment();\r\n attachment.name = this.uploadedFiles[i].name;\r\n attachment.path = filePath;\r\n this.task.attachments.push(attachment);\r\n }\r\n // empty the selection\r\n this.uploadedFiles = [];\r\n this.ngOnInit();\r\n\r\n // saving finished\r\n this.savingLoader = false;\r\n }\r\n\r\n // sanitize the url to download the files\r\n sanitize(url: string) {\r\n // return safe url\r\n return this.sanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments = comments.map(x => x.attachments).flat();\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n }\r\n\r\n getButtonName() {\r\n if (this.task?.actionPerform || this.task?.actionPerform == null) {\r\n if (this.isCollaborator) {\r\n return \"Click to mark status as not completed\";\r\n }\r\n else {\r\n return \"Click to mark status as completed\";\r\n }\r\n }\r\n\r\n return \"Click to mark status as completed\";\r\n\r\n }\r\n\r\n shouldBeDisabled(): boolean {\r\n if (this.task.actionPerform == ActionPerform.MarkAsDone && this.isNetworkMember) {\r\n return true;\r\n }\r\n if (!this.task.actionPerform && this.isCollaborator) {\r\n return true;\r\n }\r\n return false;\r\n\r\n }\r\n\r\n excutedByNetworkMember(){\r\n this.commonService.treatedByNetworkMember(this.task, this.fileUploadTaskService);\r\n }\r\n \r\n}\r\n","
    \r\n
    \r\n \r\n \r\n \r\n

    task?.displayDate.getDate() + 3) && (dateTime.getDate() < task?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">\r\n {{ task?.title }}

    \r\n \r\n

    {{commonService.getLastModifiedDate([task])}}

    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {{\r\n task?.networkMember?.accountName }}(Click for more\r\n details...)\r\n Network Member\r\n unknown\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    {{ task?.title }}

    \r\n {{ task?.subTitle }}\r\n
    \r\n\r\n
    \r\n \r\n {{ task?.content }}\r\n
    \r\n\r\n
    \r\n

    Network member

    \r\n {{ task?.networkMember?.accountName}}\r\n Network Member unknown\r\n
    \r\n\r\n
    \r\n

    Country

    \r\n {{ task.country }}\r\n
    \r\n\r\n
    \r\n
    \r\n

    Status

    \r\n {{statusText}}\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, SortOrder, SortingElement, TasksStatus } from 'src/app/web-api-client';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { OutstandingInput } from 'src/app/models/outstandingInput';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\nimport { ApprovalQuestion } from 'src/app/models/approvalQuestion';\r\n\r\nimport { faSort} from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-file-upload-task-list',\r\n templateUrl: './file-upload-task-list.component.html',\r\n styleUrls: ['./file-upload-task-list.component.scss']\r\n})\r\nexport class FileUploadTaskListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingUploadTask: boolean = false;\r\n\r\n // take the process as input\r\n @Input() process: string;\r\n\r\n // take the title as input\r\n @Input() title: string;\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n @Input() onOverview: boolean = false;\r\n // input for back button\r\n @Input() backBtn: boolean = true;\r\n @Input() displayFilter: boolean = false;\r\n\r\n @Input() networkMemberId: string = \"\";\r\n @Input() noResultText: string = \"There are no tasks to display\";\r\n @Input() statusFilter: number = null;\r\n @Input() tableView: boolean;\r\n @Input() headers: { head: string, property: string }[];\r\n // hold the upload file tasks\r\n @Input() isOnClientView: boolean = false;\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n dateTime: Date = new Date(Date.now());\r\n items: FileUploadTaskDto[] = [];\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n clientIdParam: string;\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\"\r\n outstandingInputs: OutstandingInput[] = [];\r\n nmId: string = \"\"\r\n faSort = faSort\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n private fileUploadTaskService: FileUploadTaskService,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService,\r\n public datePipe: DatePipe) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n // reset the active task\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n this.clientIdParam = this.params?.get('clientId');\r\n\r\n\r\n await this.checkUserRoles();\r\n\r\n if (this.isNetworkMember) {\r\n this.nmId = (await this.userService.getCurrentUser()).networkMemberId\r\n }\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadtasks(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingUploadTask) {\r\n this.page++\r\n await this.loadtasks(null, true);\r\n }\r\n }\r\n\r\n async loadtasks(params?: any, loadMore?: boolean) {\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1\r\n }\r\n\r\n // loading started\r\n this.loadingUploadTask = true;\r\n let newItems: FileUploadTaskDto[] = [];\r\n\r\n if (this.process) {\r\n var nmId : string = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = (params?.get(\"clientId\") ?? localStorage.getItem('clientId'));\r\n var clientName = (params?.get(\"clientName\") ?? localStorage.getItem('clientName'));\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.Status = status;\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.OverdueDate = parseInt(storageDueDate)\r\n filterParameter.NetworkMemberId = nmId\r\n\r\n //Sort by status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: FileUploadTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending;\r\n this.sortingElements.push(sortBystatus);\r\n\r\n if (this.process == \"annual-report\") {\r\n //Sort by created Date\r\n var sortBycreatedDate = new SortingElement();\r\n sortBycreatedDate.columnName = \"MetaData.ApprovalQuestions.SendNMDate\"\r\n sortBycreatedDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortBycreatedDate);\r\n }\r\n else {\r\n //Sort by Client name\r\n var sortByClient = new SortingElement();\r\n sortByClient.columnName = this.getPropertyName((obj: FileUploadTaskDto) => obj.clientId);\r\n sortByClient.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortByClient);\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.fileUploadTaskService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.fileUploadTaskService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n this.sortingElements = []\r\n // loading finished\r\n this.loadingUploadTask = false;\r\n }\r\n\r\n getSendNmDate(metadata: string) {\r\n const parsed = JSON.parse(metadata);\r\n\r\n var approvalQuestions: ApprovalQuestion[] = parsed.ApprovalQuestions;\r\n return this.datePipe.transform(approvalQuestions[0].SendNMDate)\r\n }\r\n\r\n getSendClientDate(metaData: string) {\r\n const parsed = JSON.parse(metaData);\r\n var approvalQuestions: ApprovalQuestion[] = parsed.ApprovalQuestions;\r\n return this.datePipe.transform(approvalQuestions[0].SendClientDate)\r\n }\r\n\r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n\r\n //Function for truncating before and after the - \r\n getTruncatedTitle(title: string): string {\r\n var parts = title.split(' - '); //Splits the title into two parts around '-'\r\n var truncatedBefore = parts[0];\r\n\r\n var truncatedAfter = '';\r\n if (parts.length > 1) {\r\n truncatedAfter = parts[1];\r\n }\r\n\r\n //after the - to 15 characters but can stop at the last space\r\n if (truncatedAfter.length > 15) {\r\n truncatedAfter = truncatedAfter.slice(0, 15);\r\n }\r\n \r\n if (truncatedAfter.length > 0) {\r\n return truncatedBefore + ' - ' + truncatedAfter;\r\n } else {\r\n return truncatedBefore;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n

    {{ title }}

    \r\n \r\n

    {{lastRefreshDate}}

    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n item?.displayDate.getDate() + 3) && (dateTime.getDate() < item?.displayDate.getDate() + 10) ? 'midOverdue' : 'overdue' }}\">\r\n {{ item?.title }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{head.head}}\r\n
    \r\n Network Member unknown\r\n {{item?.networkMember?.accountName}}\r\n {{ item?.subTitle }}\r\n {{item?.country}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value) }}{{getSendNmDate(item?.metaData)}}{{getSendClientDate(item?.metaData)}}
    \r\n
    \r\n
    \r\n\r\n\r\n
    There are no outstanding tasks.
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { InformativeService } from '../../../../services/informative.service';\r\nimport { Location } from '@angular/common';\r\nimport { ActionPerform, AttachmentDTO, CommentDto, CommentType, FileParameter, GeneralTaskDto, NotificationFrequency, NotificationStatus, NotificationType } from 'src/app/web-api-client';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { ProcessIds } from 'src/app/models/enums/processIds';\r\nimport { Subscription } from 'rxjs';\r\nimport { forEach } from 'underscore';\r\nimport { DocumentService } from 'src/app/services/document.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\n\r\n@Component({\r\n selector: 'app-informative-detail',\r\n templateUrl: './informative-detail.component.html',\r\n styleUrls: ['./informative-detail.component.scss']\r\n})\r\nexport class InformativeDetailComponent implements OnInit {\r\n dateTime = new Date()\r\n @Input() displaySubTitle: boolean = true;\r\n commentAttachments: AttachmentDTO[] = [];\r\n informative: GeneralTaskDto = new GeneralTaskDto();\r\n taskId: string;\r\n process:string;\r\n statusText: string = \"\";\r\n isNetworkMember: boolean;\r\n loadingTask: boolean = false;\r\n gfg = false;\r\n comments: CommentDto[] = [];\r\n isCollaborator: boolean;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp;\r\n _commonService:CommonService;\r\n\r\n deletedCommentEventSubscription: Subscription;\r\n commentAttachmentAddedEventSubscription: Subscription;\r\n\r\n constructor(public informativeService: InformativeService, private activatedroute: ActivatedRoute,\r\n public location: Location, private userService: UserService, private titleService: Title, public commonService: CommonService, private commentService: CommentService) {\r\n }\r\n\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n this._commonService = this.commonService;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember)\r\n this.process = this.informative.processId;\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator)\r\n this.informative = this.informativeService.activeTask;\r\n this.statusText = this._commonService.getTaskStatusByNumber(this.informative.status.value);\r\n\r\n this.comments = this.commentService.discussion?.comments?.filter(x => x.isDeleted == false);\r\n this.commentAttachments = this.getCommentAttachments(this.comments);\r\n\r\n this.titleService.setTitle(this.informative.title + \" | Insurope\");\r\n var newDueDate = this.informative.overdueDate;\r\n this.informative.displayDate = newDueDate;\r\n\r\n this.deletedCommentEventSubscription = this.commentService.deleteCommentEvent.subscribe((commentId) => { this.filterOutDeletedAttachments(commentId) });\r\n this.commentAttachmentAddedEventSubscription = this.commentService.addCommentAttachmentEvent.subscribe((attachment) => { this.updateAttachmentsList(attachment) });\r\n\r\n this.loadingTask = false;\r\n\r\n }\r\n\r\n getCommentAttachments(comments: CommentDto[]) {\r\n var attachments: AttachmentDTO[] = [];\r\n forEach(comments, (comment) => {\r\n var commentAtt: AttachmentDTO[] = comment.attachments;\r\n commentAtt.map(att => att.commentId = comment.id);\r\n attachments.push(...commentAtt);\r\n });\r\n\r\n var sortedAttachemnts = attachments?.sort((a, b) => a.fileDate > b.fileDate ? -1 : 1);\r\n return sortedAttachemnts;\r\n }\r\n\r\n getButtonName() {\r\n\r\n if (this.informative?.actionPerform || this.informative?.actionPerform == null) {\r\n if (this.isCollaborator) {\r\n return \"Click to mark status as not completed\";\r\n }\r\n else {\r\n return \"Click to mark status as completed\";\r\n }\r\n }\r\n\r\n return \"Click to mark status as completed\";\r\n\r\n }\r\n\r\n getPayToStatus() {\r\n if (this.informative?.payTo == 2) {\r\n if (this.informative?.payStartedDate) {\r\n const formattedDate = new Date(this.informative.payStartedDate).toLocaleDateString();\r\n return { text: \"Confirmation received for local payment on: \" + formattedDate + \". Ok to continue with the payment.\", class: 'text-success' };\r\n } else {\r\n if (this.informative?.processId != ProcessIds.multipoolPayments) { return { text: \"! Don't pay till you have received confirmation !\", class: 'text-danger' }; }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n filterOutDeletedAttachments(commentId: string) {\r\n var filteredComments = this.comments.filter(x => x.id != commentId);\r\n var attachments = this.getCommentAttachments(filteredComments);\r\n this.commentAttachments = attachments;\r\n }\r\n\r\n updateAttachmentsList(attachment: AttachmentDTO[]) {\r\n this.commentAttachments.push(...attachment);\r\n }\r\n\r\n shouldBeDisabled(): boolean {\r\n if (this.informative.actionPerform == ActionPerform.MarkAsDone && this.isNetworkMember) {\r\n return true;\r\n }\r\n if (!this.informative.actionPerform && this.isCollaborator) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n \r\n excutedByNetworkMember(){\r\n this.commonService?.treatedByNetworkMember(this.informative, this.informativeService);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.deletedCommentEventSubscription.unsubscribe();\r\n this.commentAttachmentAddedEventSubscription.unsubscribe();\r\n } \r\n}\r\n","
    \r\n
    \r\n \r\n \r\n \r\n

    = informative?.displayDate?.getDate() + 13) && \r\n (dateTime.getDate() <= informative?.displayDate?.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">{{ informative?.title }}

    \r\n \r\n

    {{commonService.getLastModifiedDate([informative])}}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {{ informative?.networkMember?.accountName}}(Click for more details...)\r\n Network Member unknown\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ informative?.subTitle }}

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

    no content

    \r\n

    {{ informative?.content }}

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

    Network Member

    \r\n {{informative?.networkMember?.accountName}}\r\n
    \r\n\r\n
    \r\n {{ getPayToStatus()?.text }}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Due Date

    \r\n {{ informative?.displayDate | date }}\r\n
    \r\n
    \r\n

    Payment To

    \r\n {{ this.commonService.getPayToText(informative?.payTo) }}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Status

    \r\n {{statusText}}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    ","import { Input } from '@angular/core';\r\nimport { TemplateRef } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\n\r\n\r\n@Component({\r\n selector: 'app-informative-item',\r\n templateUrl: './informative-item.component.html',\r\n styleUrls: ['./informative-item.component.scss']\r\n})\r\nexport class InformativeItemComponent implements OnInit {\r\n\r\n @Input() item: GeneralTaskDto;\r\n @Input() displayNetworkMember:boolean=false;\r\n @Input() status:string;\r\n @Input() displaySubTitle: boolean = true;\r\n dateTime = new Date()\r\n // constuctor\r\n constructor() { }\r\n\r\n // oninit method\r\n ngOnInit() { }\r\n\r\n}\r\n","\r\n\r\n
    \r\n

    = item?.displayDate.getDate() + 13) && (dateTime.getDate() <= item?.displayDate.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">{{item?.title}}

    \r\n

    {{item?.subTitle}}

    \r\n

    {{item?.networkMember?.accountName}}

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

    Due: {{item?.displayDate | date}}

    \r\n

    {{status}}

    \r\n
    \r\n
    \r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, ParamMap } from \"@angular/router\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { GeneralTaskDto, PayToEnum, SortOrder, SortingElement, TasksStatus } from \"src/app/web-api-client\";\r\nimport { InformativeService } from \"../../../../services/informative.service\";\r\nimport { Location } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/services/common/common.service\";\r\nimport { FilterParameter } from \"src/app/models/FilterPrameter\";\r\nimport { parseDate } from \"ngx-bootstrap/chronos\";\r\nimport { faSort } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n@Component({\r\n selector: \"app-informative-list\",\r\n templateUrl: \"./informative-list.component.html\",\r\n styleUrls: [\"./informative-list.component.scss\"],\r\n})\r\nexport class InformativeListComponent implements OnInit {\r\n\r\n // loading indicator\r\n loadingInformativeTask: boolean = false;\r\n\r\n @Input() process: string;\r\n @Input() title: string;\r\n @Input() onOverview: boolean = false;\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 30;\r\n items: GeneralTaskDto[] = [];\r\n @Input() displayFilter: boolean = false;\r\n @Input() withMultipleComponent: boolean = false;\r\n @Input() statusFilter: number = null;\r\n @Input() displaySubTitle: boolean = true;\r\n isNetworkMember: boolean;\r\n hideShowMoreBtn: boolean = false;\r\n @Input() tableView: boolean = false;\r\n @Input() headers: { head: string, property: string }[];\r\n clientIdParam: string;\r\n @Input() searchDateLimit: Date;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() networkMemberId: string = \"\";\r\n @Input() sortingElements: SortingElement[] = [];\r\n\r\n currentDate: Date = new Date(Date.now());\r\n dateTime: Date = new Date(Date.now());\r\n params: ParamMap;\r\n lastRefreshDate: string = \"\";\r\n isMuView: boolean = false;\r\n processId: string;\r\n faSort = faSort\r\n\r\n constructor(\r\n private informativeService: InformativeService,\r\n private activatedroute: ActivatedRoute,\r\n public location: Location,\r\n private userService: UserService,\r\n public commonService: CommonService\r\n ) {\r\n var defaultDate = new Date(Date.now());\r\n this.searchDateLimit = new Date(defaultDate.setFullYear(defaultDate.getFullYear() - 3));\r\n var isMuView = JSON.parse(localStorage.getItem(\"isPaymentMultipoolView\"));\r\n\r\n if (isMuView == null) {\r\n isMuView = false;\r\n }\r\n\r\n this.updateProcess(isMuView);\r\n this.processId = this.process;\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.process == \"payments\" || this.process == \"payments-mu\") {\r\n if (this.processId && this.processId != this.process) {\r\n this.process = this.processId;\r\n }\r\n }\r\n\r\n await this.checkUserRoles();\r\n this.lastRefreshDate = await this.commonService.getHangfireJobStartDateExecution(this.process);\r\n }\r\n\r\n async checkUserRoles() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n if (this.isNetworkMember && this.headers) {\r\n this.headers = this.headers?.filter(x => x.head != \"Network Member\");\r\n }\r\n this.activatedroute.queryParamMap.subscribe(async (params) => await this.loadInformatives(params));\r\n }\r\n\r\n async loadMore() {\r\n if (!this.loadingInformativeTask) {\r\n this.page++\r\n await this.loadInformatives(null, true);\r\n }\r\n }\r\n\r\n async loadInformatives(params?: any, loadMore?: boolean) {\r\n\r\n if (params) {\r\n this.params = params;\r\n }\r\n else {\r\n params = this.params;\r\n }\r\n\r\n if (!loadMore) {\r\n this.items = [];\r\n this.page = 1\r\n }\r\n\r\n let newItems;\r\n\r\n // loading started\r\n this.loadingInformativeTask = true;\r\n\r\n if (this.process) {\r\n var nmId = (params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId'));\r\n var clientId = (params?.get(\"clientId\") ?? localStorage.getItem('clientId'));\r\n var clientName = (params?.get(\"clientName\"))\r\n var subscriberId = params?.get('subscriberId');\r\n\r\n var storageStatus = localStorage.getItem('status');\r\n\r\n var status: TasksStatus = storageStatus == \"null\" ? null : parseInt(storageStatus);\r\n\r\n var storageDueDate = localStorage.getItem('dueDate');\r\n var DueDate: Date = storageDueDate == null ? null : parseDate(storageDueDate + \"-01-01\");\r\n\r\n var storagePayTo = localStorage.getItem('payTo');\r\n var payTo: PayToEnum = storagePayTo == null ? null : parseInt(storagePayTo);\r\n\r\n\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = clientId;\r\n filterParameter.ClientName = clientName;\r\n filterParameter.SubscriberId = subscriberId;\r\n filterParameter.ProcessId = this.process;\r\n filterParameter.Status = status;\r\n filterParameter.PayTo = payTo;\r\n filterParameter.OverdueDate = parseInt(storageDueDate)\r\n filterParameter.NetworkMemberId = nmId\r\n //Sort by status\r\n var sortBystatus = new SortingElement();\r\n sortBystatus.columnName = this.getPropertyName((obj: GeneralTaskDto) => obj.status);\r\n sortBystatus.sortOrder = SortOrder.Ascending\r\n this.sortingElements.push(sortBystatus);\r\n\r\n //Sort by DueDate\r\n var sortByDueDate = new SortingElement();\r\n sortByDueDate.columnName = this.getPropertyName((obj: GeneralTaskDto) => obj.overdueDate);\r\n sortByDueDate.sortOrder = SortOrder.Descending\r\n this.sortingElements.push(sortByDueDate);\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.informativeService.getMyOrganization(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n } else {\r\n if (nmId == null) {\r\n filterParameter.NetworkMemberIds = [];\r\n }\r\n\r\n newItems = await this.informativeService.getTasks(filterParameter, this.sortingElements, this.page, this.pageSize);\r\n }\r\n\r\n newItems.forEach((item: { displayDate: Date; }) => {\r\n var newDueDate = new Date(item.displayDate?.getFullYear(), item.displayDate?.getMonth(), item.displayDate?.getDate() + 30);\r\n item.displayDate = newDueDate;\r\n });\r\n\r\n if (newItems.length < this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n } else {\r\n this.hideShowMoreBtn = false;\r\n }\r\n\r\n var concat = this.items.concat(newItems);\r\n this.items = concat;\r\n }\r\n this.sortingElements = []\r\n // loading finished\r\n this.loadingInformativeTask = false;\r\n }\r\n\r\n changeIsMuView(muView: boolean) {\r\n this.updateProcess(muView);\r\n this.updateTitle(muView);\r\n\r\n this.processId = this.process;\r\n this.items = [];\r\n\r\n this.ngOnInit()\r\n }\r\n\r\n updateProcess(muView: boolean) {\r\n this.isMuView = muView\r\n if (muView) {\r\n this.process = \"payments-mu\"\r\n } else {\r\n this.process = \"payments\"\r\n }\r\n\r\n localStorage.setItem(\"isPaymentMultipoolView\", JSON.stringify(muView));\r\n }\r\n\r\n updateTitle(muView: boolean) {\r\n if (muView) {\r\n this.title = \"Multipool Payments\"\r\n } else {\r\n this.title = \"Payments\"\r\n }\r\n }\r\n \r\n getPropertyName(propertyAccessor: (obj: T) => any): string {\r\n const match = propertyAccessor.toString().match(/\\.([a-zA-Z0-9_]+)/);\r\n return match ? match[1] : '';\r\n }\r\n}\r\n","
    \r\n \r\n

    {{ title }}

    \r\n \r\n

    {{lastRefreshDate}}

    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n = item?.displayDate.getDate() + 13) && (dateTime.getDate() <= item?.displayDate.getDate() + 30) ? 'midOverdue' : 'overdue' }}\">\r\n {{ item?.title }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{head.head}}\r\n
    {{item?.networkMember?.accountName}}{{item?.subTitle }}{{item?.displayDate | date}}{{\r\n commonService.getTaskStatusByNumber(item?.status.value) }}{{ commonService.getPayToText(item?.payTo) }} {{item?.actionPerform == 1 ? \"Done\" : \"\"}}
    \r\n
    \r\n
    \r\n\r\n
    There are no outstanding tasks.
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent {\r\n \r\n}\r\n","\r\n

    Collaboration platform

    \r\n\r\n\r\nAccount inputs\r\n
    \r\nPooling permissions\r\n\r\n\r\n

    I'm a h1, I'm only used in the header

    \r\n

    I'm a h2, I'm used as page title.

    \r\n

    I'm a h3, I'm used as a box or card title

    \r\n

    I'm a clickable h3

    \r\n

    I'm a h4, I'm used as a card subtitle

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

    \r\n .btn .btn-primary .btn-action is used when there is an action\r\n behind the CTA\r\n

    \r\n\r\n

    \r\n .btn .btn-secondary .btn-page is used when, by clicking on this\r\n CTA, you navigate to an other page\r\n

    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n <div class=\"card-table\">  <!-- displays the cards in a grid\r\n -->
    \r\n   <a href=\"#\" class=\"card\">
    \r\n     <div class=\"card-body\">
    \r\n       <h3>Card title</h3>
    \r\n       <h4>Card subtitle</h4>
    \r\n       <p>John Smith</p>
    \r\n     </div>
    \r\n     <div class=\"card-footer\">
    \r\n       <p>04 mar 2022</p>
    \r\n       <p class=\"status\r\n finalized\">Finalized</p>
    \r\n     </div>
    \r\n   </a>
    \r\n </div>
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n

    Welcome to your new single-page application, built with:

    \r\n\r\n

    To help you get started, we've also set up:

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

    Small sized input used as filter

    \r\n

    \r\n Add .small-form class to the\r\n div.form-group containing each label and/or input\r\n

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

    Regular sized input used everywhere else

    \r\n

    Add nothing!

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

    Textarea

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

    Select

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

    Checkboxes

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

    Radios

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

    Switch

    \r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PopupNotificationsService } from '../services/popup-notifications/popup-notifications.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Injectable()\r\nexport class ErrorCatchingInterceptor implements HttpInterceptor {\r\n\r\n // constructor\r\n constructor(private popupNotifications: PopupNotificationsService, private msalService: MsalService, private router: Router) { }\r\n\r\n // intercept http requests\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return next.handle(request)\r\n .pipe(map(res => {\r\n return res\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n\r\n if (error.error instanceof ErrorEvent) {\r\n console.log('This is client side error');\r\n console.log(`Error: ${error.error.message}`);\r\n }\r\n else {\r\n console.log('This is server side error');\r\n console.log(`Error Code: ${error.status}, Message: ${error.message}`);\r\n }\r\n if (error.status == 403) {\r\n this.router.navigate([\"unauthorized\"]);\r\n }\r\n else if (error.status == 401) {\r\n setTimeout(() => { this.msalService.logoutRedirect(); }, 3000);\r\n }\r\n else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { FileParameter } from \"../web-api-client\";\r\n\r\n export class EmbeddedEnvelope {\r\n SignerName: string;\r\n SignerEmail: string;\r\n SignerClientId: string;\r\n ReturnUrl: string;\r\n DocPdf: FileParameter;\r\n };","export class requestIllustration{\r\n id : string;\r\n processId : string;\r\n clientName : string;\r\n }\r\n ","export enum CommentType {\r\n Comment,\r\n Reply,\r\n Edited,\r\n Automated,\r\n ApprovalLetter\r\n}","export enum NotificationFrequency {\r\n Daily = 1,\r\n Weekly,\r\n Instantly,\r\n Scheduled,\r\n Ignore,\r\n Reccurent,\r\n}","export enum NotificationType {\r\n EmailNotification,\r\n WebNotification,\r\n SmsNotification\r\n}","export enum ProcessIds {\r\n poolingPermissions = \"pooling-permission\",\r\n illustrationInputs = \"illustration-input\",\r\n accountInputs = \"account-input\",\r\n approvals = \"approval\",\r\n payments = \"payments\",\r\n serviceFees = \"service-fees\",\r\n annualReport = \"annual-report\",\r\n illustrations = \"illustrations\",\r\n multipoolPayments = \"payments-mu\",\r\n multipoolApprovals = \"approval-mu\",\r\n illustrationInputRequest = \"illustration-input-request\"\r\n}","export enum UserAction {\r\n Login = \"login\",\r\n Logout = \"Logout\",\r\n NavigateTo = \"NavigateTo\"\r\n}","export enum UserRoles{\r\n Collaborator = \"Collaborator\",\r\n NetworkMember = \"NetworkMember\",\r\n ContentEditor = \"ContentEditor\",\r\n Client = \"Client\"\r\n}","\r\n\r\nexport class IllustrationRequestInputMetadata {\r\n AccountManager: user;\r\n DivisionalManager: user;\r\n\r\n constructor() {\r\n this.AccountManager = { firstName: \"\", lastName: \"\", email: \"\", id:\"\" };\r\n this.DivisionalManager = { firstName: \"\", lastName: \"\", email: \"\", id:\"\" };\r\n }\r\n}\r\n\r\nexport interface user {\r\n firstName: string,\r\n lastName: string,\r\n email: string,\r\n id:string\r\n }","import { Component, OnInit } from '@angular/core';\r\nimport { EmbedParamsDTO, ReportingClient, UserDto } from 'src/app/web-api-client';\r\nimport { models, IReportEmbedConfiguration } from 'powerbi-client';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.scss']\r\n})\r\n\r\nexport class ReportsComponent implements OnInit {\r\n report: EmbedParamsDTO = null;\r\n firstReportUrl = \"\";\r\n customClass = \"report-info\"\r\n reportType = \"report\";\r\n reportConfig: IReportEmbedConfiguration;\r\n connectedUser: UserDto;\r\n\r\n constructor(private client: ReportingClient, private activatedroute: ActivatedRoute, private router: Router, private userService: UserService) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n var reportName = this.activatedroute.snapshot.paramMap.get('reportName');\r\n this.connectedUser = await this.userService.getCurrentUser();\r\n await this.loadReport(reportName);\r\n }\r\n\r\n async loadReport(reportName: string) {\r\n this.report = await this.client.getToken(reportName).toPromise();\r\n this.firstReportUrl = this.report.embedReport[0].embedUrl;\r\n\r\n this.reportConfig = {\r\n type: \"report\",\r\n id: this.report.embedReport[0].reportId,\r\n embedUrl: this.firstReportUrl,\r\n accessToken: this.report.embedToken.token,\r\n tokenType: models.TokenType.Embed,\r\n settings: {\r\n panes: {\r\n filters: {\r\n expanded: false,\r\n visible: false\r\n }\r\n },\r\n hyperlinkClickBehavior: models.HyperlinkClickBehavior.NavigateAndRaiseEvent,\r\n background: models.BackgroundType.Transparent,\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n }\r\n },\r\n };\r\n }\r\n}\r\n","\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { OutstandingInput, } from \"src/app/models/outstandingInput\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { FileUploadTaskDto, TasksStatus } from \"src/app/web-api-client\";\r\nimport * as XLSX from 'xlsx';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { TagReplyParameter } from \"src/app/models/TagReplyParameter\";\r\n\r\n@Component({\r\n selector: \"app-account-input-detail-page\",\r\n templateUrl: \"./account-input-detail-page.component.html\",\r\n styleUrls: [\"./account-input-detail-page.component.scss\"],\r\n})\r\n\r\nexport class AccountInputDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n clientId: string;\r\n clientName: string;\r\n country: string;\r\n // hold the list of outstanding inputs\r\n outstandingInputs: OutstandingInput[] = [];\r\n outstandingInputsForExcel: OutstandingInput[] = [];\r\n outstandingInputsToDisplay: OutstandingInput[] = [];\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n clientTag: string;\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n\r\n fileName = 'ExcelSheet.xlsx';\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n isNetworkMember: boolean;\r\n status: TasksStatus;\r\n task: FileUploadTaskDto;\r\n\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private commentService: CommentService\r\n ) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.clientId = this.activatedroute.snapshot.paramMap.get(\"clientId\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n\r\n // if there is no active task\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n this.country = this.task?.country\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(this.fileUploadTaskService.activeFileUploadTask.title + \" | Insurope\");\r\n this.initializeMetadatas(this.fileUploadTaskService.activeFileUploadTask)\r\n // get the metadata of the active task\r\n this.getMetaData(1, 20);\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n getMetaData(page: number, pageSize: number) {\r\n if (this.outstandingInputs.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.outstandingInputsForExcel = this.outstandingInputs;\r\n\r\n // paginate the outstanding inputs\r\n this.outstandingInputsToDisplay = this.outstandingInputs.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n\r\n }\r\n\r\n addClientNameToTags(clientName: string) {\r\n let tag: TagReplyParameter = { tagName: clientName, message: \"\" };\r\n this.commentService.setClientReplyTagValue.next(tag);\r\n }\r\n\r\n initializeMetadatas(task: FileUploadTaskDto) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n\r\n // save the outstanding inputs\r\n this.outstandingInputs = parsed.OutstandingInputs;\r\n\r\n // filter on client id\r\n if (this.clientId) {\r\n this.outstandingInputs = this.outstandingInputs.filter(c => c.ClientId == this.clientId);\r\n }\r\n var sa = this.outstandingInputs.filter((item) => item.PoolingSystem === \"Stand Alone\");\r\n var mu = this.outstandingInputs.filter((item) => item.PoolingSystem === \"Multipool\");\r\n sa = sa.sort((a, b) => a.DueDate <= b.DueDate ? -1 : 1);\r\n mu = mu.sort((a, b) => a.DueDate < b.DueDate ? -1 : 1);\r\n this.outstandingInputs = sa.concat(mu);\r\n }\r\n\r\n exportexcel(): void {\r\n\r\n //select only the columns we want\r\n const selectedColumns = this.outstandingInputsForExcel.map(item => {\r\n\r\n var xrPrValue = '';\r\n if (item.IsXrcolumn && item.IsPrcolumn) {\r\n xrPrValue = 'XR & PR';\r\n } else if (item.IsPrcolumn && !item.IsXrcolumn) {\r\n xrPrValue = 'PR';\r\n } else if (item.IsXrcolumn && !item.IsPrcolumn) {\r\n xrPrValue = 'XR';\r\n }\r\n\r\n return {\r\n \"Client name\": item.ClientName,\r\n \"Subsidiary name\": item.SubsidiaryName,\r\n \"Country\": item.CountryName,\r\n \"Pooling system\": item.PoolingSystem,\r\n \"Due date\": item.DueDate,\r\n \"XR / PR\": xrPrValue,\r\n \"Approval Comment\": item.ApprovalLetter,\r\n };\r\n });\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(selectedColumns);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, this.fileUploadTaskService.activeFileUploadTask.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n loadMore() {\r\n this.getMetaData(this.page, (this.pageSize += 20));\r\n }\r\n}\r\n","\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    Client nameCountryPooling systemDue dateXR / PRApproval Comment
    \r\n
    \r\n {{ outstandingInput.ClientName }}\r\n {{ outstandingInput.SubsidiaryName }}\r\n
    \r\n
    {{ outstandingInput.CountryName }}{{\r\n outstandingInput.PoolingSystem\r\n }}{{ outstandingInput.DueDate | date: 'longDate' }}\r\n \r\n XR & PR\r\n \r\n \r\n PR\r\n \r\n \r\n XR\r\n \r\n \r\n
    {{ outstandingInput.ApprovalLetter}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { FileUploadTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-account-input-list-page',\r\n templateUrl: './account-input-list-page.component.html',\r\n styleUrls: ['./account-input-list-page.component.scss']\r\n})\r\nexport class AccountInputListPageComponent implements OnInit {\r\n\r\n isTableViewStoredValueKey: string;\r\n process = \"account-input\"\r\n items: FileUploadTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Remaining\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Open account inputs\", property: \"subTitle\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status\" }]\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n constructor(private userService: UserService, private titleService: Title) {\r\n }\r\n\r\n async ngOnInit() {\r\n // set the title\r\n this.titleService.setTitle(\"Account Inputs | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ApprovalQuestion } from 'src/app/models/approvalQuestion';\r\nimport { BooleanTaskService } from 'src/app/services/boolean-task/boolean-task.service';\r\nimport { BooleanTaskDto, NotificationStatus, TasksStatus, UserDto } from 'src/app/web-api-client';\r\nimport * as XLSX from 'xlsx-js-style';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\nimport { CommentType } from 'src/app/models/enums/CommentType';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-approvals-detail-page',\r\n templateUrl: './approvals-detail-page.component.html',\r\n styleUrls: ['./approvals-detail-page.component.scss']\r\n})\r\n\r\nexport class ApprovalsDetailPageComponent implements OnInit {\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // hold the task id\r\n taskId: string;\r\n task: BooleanTaskDto;\r\n // hold the list of approval questions\r\n approvalQuestions: ApprovalQuestion[] = [];\r\n clientName: string;\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n country: string;\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n status: TasksStatus;\r\n isMuTask: boolean = false;\r\n clientNameList: string[] = [];\r\n processId: string;\r\n periodEnd: string;\r\n handledByNetworkMemberTag: string = \"Handled by Network Member\";\r\n handledByInsuropeTag: string = \"Handled by Insurope\";\r\n user: UserDto;\r\n isNetworkMember: boolean;\r\n\r\n constructor(private activatedroute: ActivatedRoute, public booleanTaskService: BooleanTaskService, private commentService: CommentService, private userService: UserService, private router: Router) {\r\n this.booleanTaskService.activeBooleanTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // loading started\r\n this.loadingTask = true;\r\n\r\n this.user = await this.userService.getCurrentUser();\r\n this.isNetworkMember = this.user.roles.includes(\"NetworkMember\");\r\n\r\n // get the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n\r\n try {\r\n // get the task by id\r\n this.task = await this.booleanTaskService.getBooleanTaskById(this.taskId);\r\n this.commentService.task = this.task;\r\n this.isMuTask = this.task.processId == \"approval-mu\";\r\n this.clientName = this.task?.title;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.status = this.task.status.value;\r\n this.processId = this.task.processId;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.defaultTags = await this.commentService.getDefaultTags();\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n // if the illustration is not found, redirect to the 404 page\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // loading finished\r\n this.loadingTask = false;\r\n\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, 1, 20);\r\n this.commentService.upsertDefaultTag(this.handledByNetworkMemberTag);\r\n this.commentService.upsertDefaultTag(this.handledByInsuropeTag);\r\n }\r\n\r\n getMetaData(task: BooleanTaskDto, page: number, pageSize: number) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n // save the approval questions\r\n this.approvalQuestions = parsed.ApprovalQuestions.filter((x: ApprovalQuestion) => x.Approved == false);\r\n this.clientNameList = this.approvalQuestions.map(x => x.ClientName);\r\n this.periodEnd = this.isMuTask ? \"\" : this.approvalQuestions[0]?.PeriodEndDate?.toString().split('-')[0];\r\n\r\n if (this.approvalQuestions.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.approvalQuestions.forEach(question => {\r\n question.ApprovalLetter = question.ApprovalLetter?.replace(/\\r\\n \\?/g, '
        •  ').replace(/\\r\\n/g, '
    ');\r\n });\r\n\r\n // sort the approval questions by client name\r\n this.approvalQuestions = this.approvalQuestions.sort((a, b) => a.ClientName.toLowerCase() <= b.ClientName.toLowerCase() ? -1 : 1);\r\n // paginate the approval questions\r\n this.approvalQuestions = this.approvalQuestions.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n }\r\n\r\n exportexcel(): void {\r\n //Get table element by id\r\n let element = document.getElementById('excel-table');\r\n\r\n // Convert the table to a worksheet, filtering rows based on header values\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);\r\n // Get the worksheet range\r\n const filteredData = this.filterOutTheColumnsWithoutHeaders(worksheet);\r\n\r\n // Create a new worksheet from filtered data\r\n const filteredWorksheet = XLSX.utils.aoa_to_sheet(filteredData);\r\n // Get the filtered range of the new worksheet\r\n const filteredRange = XLSX.utils.decode_range(filteredWorksheet['!ref']!);\r\n\r\n // Add formatting to the new worksheet\r\n this.addFormatting(filteredRange, filteredWorksheet);\r\n\r\n // Generate workbook and add the worksheet\r\n const workBook: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workBook, filteredWorksheet, 'Sheet1');\r\n\r\n // Save to file\r\n XLSX.writeFile(workBook, this.task.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n private filterOutTheColumnsWithoutHeaders(worksheet: XLSX.WorkSheet) {\r\n const range = XLSX.utils.decode_range(worksheet['!ref']!);\r\n\r\n // Get headers from the first row\r\n let headers = [];\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n const cellAddress = { c: C, r: range.s.r };\r\n const cellRef = XLSX.utils.encode_cell(cellAddress);\r\n const cell = worksheet[cellRef];\r\n headers.push(cell ? cell.v : null);\r\n }\r\n\r\n // Filter out columns where headers are empty\r\n const nonEmptyColumns = headers.map((header, index) => header ? index : null).filter(index => index !== null);\r\n\r\n // Create a new worksheet with filtered data\r\n const filteredData = [];\r\n for (let R = range.s.r; R <= range.e.r; ++R) {\r\n const row = [];\r\n for (let C of nonEmptyColumns) {\r\n const cellAddress = { c: C, r: R };\r\n const cellRef = XLSX.utils.encode_cell(cellAddress);\r\n row.push(worksheet[cellRef]?.v || '');\r\n }\r\n filteredData.push(row);\r\n }\r\n return filteredData;\r\n }\r\n\r\n private addFormatting(range: XLSX.Range, worksheet: XLSX.WorkSheet) {\r\n const colWidths: number[] = new Array(range.e.c - range.s.c + 1).fill(0);\r\n const rowCount = range.e.r\r\n const columnCount = range.e.c\r\n\r\n for (let row = 0; row <= rowCount; row++) {\r\n for (let col = 0; col <= columnCount; col++) {\r\n const cellRef = XLSX.utils.encode_cell({ r: row, c: col });\r\n const cell = worksheet[cellRef];\r\n\r\n //Set the width of the cell based on the content length\r\n const cellContentLength = cell?.v ? cell.v.toString().length : 0;\r\n let maxColumnWidth = Math.max(colWidths[col], cellContentLength);\r\n colWidths[col] = Math.min(maxColumnWidth, 40) + 0.1;\r\n\r\n // Add this format to every cell\r\n cell.s = {\r\n alignment: {\r\n vertical: \"top\",\r\n wrapText: true,\r\n },\r\n };\r\n\r\n // Format headers bold\r\n if (row === 0) {\r\n cell.s = {\r\n //spreads in previous cell settings\r\n ...cell.s,\r\n font: { bold: true },\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Set the width of each column based on the calculated maximum content length\r\n worksheet['!cols'] = colWidths.map(width => ({ wch: width + 2 }));\r\n }\r\n\r\n loadMore() {\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, this.page, this.pageSize += 20);\r\n }\r\n\r\n Reply(clientName: string, ApprovalLetter: string) {\r\n var tagReplyParameter = { tagName: clientName, message: ApprovalLetter };\r\n this.commentService.setClientReplyTagValue.next(tagReplyParameter);\r\n }\r\n\r\n async ApproveDisapproveClient(approvalQuestion: ApprovalQuestion) {\r\n // Set the approval date and approved by network member to true and update the task\r\n var approvedByNetworkMember = approvalQuestion.ApprovedByNetworkMember;\r\n\r\n if (!approvedByNetworkMember) {\r\n approvedByNetworkMember = true;\r\n approvalQuestion.networkMemberApprovalDate = new Date(new Date().getUTCDate());\r\n\r\n var commentMessage = \"Approved by Network Member: \" + approvalQuestion.ClientName + \" \" + approvalQuestion.SubsidiaryLabel;\r\n if (approvalQuestion.ApprovalLetter && approvalQuestion.ApprovalLetter.trim().length > 0) {\r\n commentMessage += \"


    Approval Comment:
    \" + approvalQuestion.ApprovalLetter + \"

    \";\r\n }\r\n\r\n // Add a new comment\r\n var tags: string[] = [approvalQuestion.ClientName, this.handledByNetworkMemberTag];\r\n\r\n var CommentParameter: AddCommentDto = {\r\n taskId: this.taskId,\r\n content: commentMessage,\r\n tags: tags,\r\n customSubscriberProvider: \"\",\r\n processName: this.processId,\r\n clientName: this.clientName,\r\n networkMemberName: this.networkMemberName,\r\n files: null,\r\n country: this.country,\r\n periodEnd: this.periodEnd,\r\n commentType: CommentType.Reply,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: false,\r\n notificationFrequency: NotificationFrequency.Scheduled,\r\n notificationType: NotificationType.EmailNotification,\r\n notificationStatus:NotificationStatus.New\r\n }\r\n\r\n await this.commentService.addComment(CommentParameter).then();\r\n }\r\n else {\r\n approvedByNetworkMember = false;\r\n }\r\n\r\n approvalQuestion.ApprovedByNetworkMember = approvedByNetworkMember;\r\n this.task.metaData = JSON.stringify({ ApprovalQuestions: this.approvalQuestions });\r\n await this.booleanTaskService.updateTask(this.task);\r\n }\r\n\r\n loadAll() {\r\n // get the metadata of the active task\r\n this.getMetaData(this.task, 1, 300);\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n GetButtonName(isApproveByNetworkMember: boolean) {\r\n if (isApproveByNetworkMember) {\r\n if (this.isNetworkMember) {\r\n return \"Approved\";\r\n }\r\n else {\r\n return \"Disapprove\";\r\n }\r\n }\r\n\r\n return \"Approve\";\r\n }\r\n}\r\n","\r\n\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    CountrySubsidiary LabelClient nameApproval Letter
    \r\n {{approvalQuestion.CountryName}}\r\n {{ approvalQuestion.SubsidiaryLabel }}{{ approvalQuestion.ClientName }}\r\n

    {{ approvalQuestion.ExternalPoolComment }}


    \r\n

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\n@Component({\r\n selector: 'app-approvals-list-page',\r\n templateUrl: './approvals-list-page.component.html',\r\n styleUrls: ['./approvals-list-page.component.scss']\r\n})\r\nexport class ApprovalsListPageComponent implements OnInit {\r\n\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isTableView: boolean = false;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n //headers: string[] = [\"Client\", \"Network Member\", \"Approval date\", \"Due date\", \"Status\",]\r\n headers: { head: string, property: string }[] = [];\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n // constructor\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n // determine if the user is a collaborator\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Approvals | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey));\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n this.changeIsMultipoolViewValue();\r\n }\r\n\r\n changeIsTableViewValue(value: boolean) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n changeIsMultipoolViewValue() {\r\n var isMultipoolViewValue = JSON.parse(localStorage.getItem(\"isApprovalMultipoolView\"));\r\n\r\n if (isMultipoolViewValue == null) {\r\n isMultipoolViewValue = this.isTableView;\r\n }\r\n\r\n if (isMultipoolViewValue) {\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n else {\r\n this.headers = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Approval date\", property: \"approvalDate\" }, { head: \"Due date\", property: \"overdueDate\" },{head:\"Country\",property: \"country\"}, { head: \"Status\", property: \"status?.value\" },]\r\n }\r\n\r\n localStorage.setItem(\"isApprovalMultipoolView\", JSON.stringify(isMultipoolViewValue));\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-login-failed',\r\n templateUrl: './login-failed.component.html',\r\n styleUrls: ['./login-failed.component.scss']\r\n})\r\nexport class LoginFailedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    login-failed works!

    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { ClientsService } from 'src/app/services/clients.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountDto, CrmAttachmentDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-clients',\r\n templateUrl: './clients.component.html',\r\n styleUrls: ['./clients.component.scss']\r\n})\r\nexport class ClientsComponent implements OnInit {\r\n\r\n client: AccountDto;\r\n\r\n isNetworkMember: boolean = false;\r\n isClient: boolean = false;\r\n showDashboard: boolean = true;\r\n clientName: string = \"\";\r\n // hold the attachments\r\n importantFiles: CrmAttachmentDto[] = [];\r\n importantFilesSizes: string[] = [];\r\n loadingImportantFiles: boolean = false;\r\n isInternal: boolean = false;\r\n latestAnnualReportId: string;\r\n latestCompositionReportId: string;\r\n latestDividendPaymentLetterId: string;\r\n\r\n constructor(private accountService: AccountsService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UserService,\r\n private clientsService: ClientsService) { }\r\n\r\n async ngOnInit() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isClient = await this.userService.isUserInRole(UserRoles.Client);\r\n this.isInternal = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.client = JSON.parse(localStorage.getItem(\"client\"))\r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n if (params.has('networkMemberId')) {\r\n await this.getClientSearchResponse(await this.accountService.getAccountById(params?.get('networkMemberId')));\r\n }\r\n });\r\n\r\n if (this.isClient || this.isInternal) {\r\n let clientId = (await this.userService.getCurrentUser()).clientId;\r\n this.client = await this.accountService.getAccountById(clientId);\r\n }\r\n\r\n }\r\n\r\n async getClientSearchResponse(response: AccountDto) {\r\n this.client = null;\r\n this.latestAnnualReportId = \"\";\r\n this.latestCompositionReportId = \"\";\r\n this.latestDividendPaymentLetterId = \"\";\r\n\r\n this.client = response;\r\n localStorage.setItem('client', response.toJSON());\r\n\r\n this.router.navigate([],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { clientId: this.client.externalAccountNumber },\r\n queryParamsHandling: 'merge',\r\n });\r\n\r\n this.loadingImportantFiles = true;\r\n this.latestAnnualReportId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LAR\"))?.id;\r\n this.latestCompositionReportId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LCR\"))?.id;\r\n this.latestDividendPaymentLetterId = (await this.clientsService.getClientImportantDocuments(this.client.id, \"LSDPL\"))?.id;\r\n this.loadingImportantFiles = false;\r\n }\r\n\r\n changeClientViewActiveTab(tabName: string) {\r\n this.showDashboard = (tabName == \"info\");\r\n }\r\n\r\n}\r\n\r\n\r\n","

    {{client?.accountName}}

    \r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmbeddedEnvelope } from 'src/app/models/EmbeddedEnvelope';\r\nimport { ESignatureService } from 'src/app/services/e-signature/e-signature.service';\r\nimport { FileParameter } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-esignature',\r\n templateUrl: './esignature.component.html',\r\n styleUrls: ['./esignature.component.scss']\r\n})\r\nexport class EsignatureComponent implements OnInit {\r\n embeddedSigningUrl: string;\r\n uploadedFile:FileParameter;\r\n\r\n constructor(private eSignatureService: ESignatureService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n startSigning() {\r\n var embeddedEnvelopQuery = new EmbeddedEnvelope();\r\n embeddedEnvelopQuery.DocPdf= this.uploadedFile,\r\n embeddedEnvelopQuery.ReturnUrl= \"\";\r\n embeddedEnvelopQuery.SignerClientId= \"\";\r\n embeddedEnvelopQuery.SignerEmail= \"\";\r\n embeddedEnvelopQuery.SignerName= \"\";\r\n\r\n this.eSignatureService.getEmbeddedUrl(embeddedEnvelopQuery).then(url => this.embeddedSigningUrl = url);\r\n }\r\n\r\n fileUploaded(response: { isUploaded: boolean, message: string, files?: File[] }) {\r\n let fileParameter: FileParameter = { data: response.files[0], fileName: response.files[0].name };\r\n this.uploadedFile = fileParameter;\r\n\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FaqService } from \"src/app/services/faq.service\";\r\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FaqCategoryDto, QuestionDto } from \"src/app/web-api-client\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ModalBasicComponent } from \"src/app/components/common/modal-basic/modal-basic.component\";\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: \"app-faq-categories\",\r\n templateUrl: \"./faq-categories.component.html\",\r\n styleUrls: [\"./faq-categories.component.scss\"],\r\n})\r\nexport class FaqCategoriesComponent implements OnInit {\r\n faqCategories: FaqCategoryDto[] = [];\r\n questions: QuestionDto[] = [];\r\n activeCategory: number;\r\n newCategory: string;\r\n newQuestionTitle: string;\r\n newQuestionAnswer: string;\r\n selectCategory: FaqCategoryDto;\r\n\r\n // if the current user is a network member or not\r\n isContentEditor: boolean;\r\n\r\n // fontawesome\r\n faChevronDown = faChevronDown;\r\n\r\n // constructor\r\n constructor(private faqService: FaqService, private modalService: NgbModal, private userService: UserService) { }\r\n\r\n // OnInit\r\n async ngOnInit() {\r\n // permet d'afficher toutes les catégories\r\n // assigne à l'array faqCategories (initialisé plus haut) la méthode getCategories() définie dans le Service\r\n this.faqCategories = await this.faqService.getFaqCategories();\r\n\r\n // determine if the current user is a network member or not\r\n this.isContentEditor = await this.userService.isUserInRole(UserRoles.ContentEditor);\r\n\r\n //display the list of questions\r\n this.questions = this.faqService.getQuestionsOfCategory(\r\n this.faqCategories[0]?.id\r\n );\r\n }\r\n\r\n // assigne à l'array faqs (initialisé plus haut) la liste des FAQs correspondant à l'id de la catégorie sélectionnée\r\n getCategoryID(category: FaqCategoryDto) {\r\n this.questions = this.faqService.getQuestionsOfCategory(category.id);\r\n this.selectCategory = category;\r\n }\r\n\r\n addFaqCategory() {\r\n this.faqService.addFaqCategory(this.newCategory);\r\n this.faqCategories = this.faqService.faqCategories;\r\n this.newCategory = \"\";\r\n }\r\n\r\n updateFaqCategory(updateCategory) {\r\n this.faqService.updateFaqCateogry(updateCategory);\r\n }\r\n\r\n // Pop up category\r\n openCat(category: FaqCategoryDto) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.category = category;\r\n modalRef.componentInstance.isQuestion = false;\r\n modalRef.result.then(() => {\r\n this.faqCategories = this.faqService.faqCategories;\r\n });\r\n }\r\n\r\n addQuestion() {\r\n this.faqService.addQuestion(this.selectCategory.id, this.newQuestionTitle, this.newQuestionAnswer);\r\n this.questions = this.faqService.questions;\r\n this.newQuestionTitle = \"\";\r\n this.newQuestionAnswer = \"\";\r\n }\r\n\r\n updateQuestion(updateQuestion) {\r\n this.faqService.updateQuestion(this.selectCategory.id, updateQuestion);\r\n }\r\n\r\n deleteQuestion(categoryId, deleteQuestion) {\r\n this.faqService.deleteQuestion(categoryId, deleteQuestion);\r\n }\r\n\r\n //Pop up question\r\n openQuestion(question: QuestionDto) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.category = this.selectCategory;\r\n modalRef.componentInstance.question = question;\r\n modalRef.componentInstance.isQuestion = true;\r\n modalRef.result.then(result => {\r\n if (result) {\r\n this.questions = this.questions.filter(c => c.id != question.id);\r\n }\r\n });\r\n }\r\n\r\n deleteQuest(questionId: string) {\r\n const modalRef = this.modalService.open(ModalBasicComponent);\r\n modalRef.componentInstance.questionId = questionId;\r\n }\r\n}\r\n","
    0\">\r\n
      \r\n
    • \r\n \r\n \r\n
    • \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
      \r\n
    • \r\n \r\n\r\n
      \r\n
      {{ question.answer }}
      \r\n \r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n

    There are no FAQ categories yet.

    \r\n\r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from \"@angular/common\";\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n\r\n // constructor\r\n constructor(\r\n public location: Location,\r\n private titleService: Title\r\n ) { }\r\n\r\n // OnInit\r\n ngOnInit(): void {\r\n // set the title\r\n this.titleService.setTitle(\"FAQ | Insurope\");\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Frequently Asked Questions

    \r\n
    \r\n\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { OutstandingInput, } from \"src/app/models/outstandingInput\";\r\nimport { FileUploadTaskService } from \"src/app/services/file-upload-task/file-upload-task.service\";\r\nimport { FileUploadTaskDto } from \"src/app/web-api-client\";\r\nimport { WorkSheet, utils, WorkBook, writeFile } from 'xlsx';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserService } from \"src/app/services/user.service\";\r\nimport { CommentService } from \"src/app/services/comment.service\";\r\nimport { UserRoles } from \"src/app/models/enums/user-roles\";\r\nimport { TagReplyParameter } from \"src/app/models/TagReplyParameter\";\r\n\r\n@Component({\r\n selector: \"app-finalized-accounts-detail-page\",\r\n templateUrl: \"./finalized-accounts-detail-page.component.html\",\r\n styleUrls: [\"./finalized-accounts-detail-page.component.scss\"],\r\n})\r\n\r\nexport class FinalizedAccountsDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n clientId: string;\r\n clientName: string;\r\n // hold the list of outstanding inputs\r\n outstandingInputs: OutstandingInput[] = [];\r\n outstandingInputsForExcel: OutstandingInput[] = [];\r\n outstandingInputsToDisplay: OutstandingInput[] = [];\r\n\r\n // input for pagination\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 20;\r\n @Input() onOverview: boolean = false;\r\n\r\n hideShowMoreBtn: boolean = false;\r\n\r\n // loading indicator\r\n loadingTask: boolean = false;\r\n\r\n fileName = 'ExcelSheet.xlsx';\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n isNetworkMember: boolean;\r\n task: FileUploadTaskDto;\r\n\r\n gfg = false;\r\n faChevronDown = faChevronDown;\r\n faChevronUp = faChevronUp\r\n // constructor\r\n constructor(\r\n private activatedroute: ActivatedRoute,\r\n public fileUploadTaskService: FileUploadTaskService,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private commentService: CommentService\r\n ) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit methodW\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n // take the task id\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.clientId = this.activatedroute.snapshot.paramMap.get(\"clientId\");\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n // if there is no active task\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.clientName = this.task.title;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(this.fileUploadTaskService.activeFileUploadTask.title + \" | Insurope\");\r\n this.initializeMetadatas(this.fileUploadTaskService.activeFileUploadTask)\r\n // get the metadata of the active task\r\n this.getMetaData(1, 20);\r\n\r\n this.loadingTask = false;\r\n }\r\n\r\n getMetaData(page: number, pageSize: number) {\r\n if (this.outstandingInputs.length <= this.pageSize) {\r\n this.hideShowMoreBtn = true;\r\n }\r\n\r\n this.outstandingInputsForExcel = this.outstandingInputs;\r\n\r\n // paginate the outstanding inputs\r\n this.outstandingInputsToDisplay = this.outstandingInputs.slice(\r\n (page - 1) * pageSize,\r\n (page - 1) * pageSize + pageSize\r\n );\r\n }\r\n\r\n initializeMetadatas(task: FileUploadTaskDto) {\r\n // parse the metadata\r\n const parsed = JSON.parse(task.metaData);\r\n\r\n // save the outstanding inputs\r\n this.outstandingInputs = parsed.ApprovalQuestions;\r\n\r\n // filter on client id\r\n if (this.clientId) {\r\n this.outstandingInputs = this.outstandingInputs.filter(c => c.ClientId == this.clientId);\r\n }\r\n }\r\n\r\n exportexcel(): void {\r\n\r\n //select only the columns we want\r\n const selectedColumns = this.outstandingInputsForExcel.map(item => {\r\n return {\r\n \"Client name\": item.ClientName,\r\n \"Country\": item.CountryName,\r\n \"Pooling system\": item.PoolingSystem,\r\n \"Due date\": item.DueDate,\r\n \"Total input still outstanding for this client(also input from other insurers)\": item.XRReqCount\r\n };\r\n });\r\n\r\n const ws: WorkSheet = utils.json_to_sheet(selectedColumns);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: WorkBook = utils.book_new();\r\n utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n writeFile(wb, this.fileUploadTaskService.activeFileUploadTask.networkMember.accountName + \".xlsx\");\r\n }\r\n\r\n loadMore() {\r\n this.getMetaData(this.page, (this.pageSize += 20));\r\n }\r\n\r\n addClientNameToTags(clientName: string) {\r\n let tag: TagReplyParameter = { tagName: clientName, message: \"\" };\r\n this.commentService.setClientReplyTagValue.next(tag);\r\n }\r\n}\r\n","\r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    Client nameCountryPooling systemDue dateSend Network Member dateSend Client date
    \r\n
    \r\n {{ outstandingInput.ClientName }}\r\n {{ outstandingInput.SubsidiaryName }}\r\n
    \r\n
    {{ outstandingInput.CountryName }}{{\r\n outstandingInput.PoolingSystem\r\n }}{{ outstandingInput.DueDate | date: 'longDate' }}{{ outstandingInput.SendNMDate| date }}{{ outstandingInput.SendClientDate | date}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-finalized-accounts-list-page',\r\n templateUrl: './finalized-accounts-list-page.component.html',\r\n styleUrls: ['./finalized-accounts-list-page.component.scss']\r\n})\r\n\r\nexport class FinalizedAccountsListPageComponent implements OnInit {\r\n isTableViewStoredValueKey: string;\r\n process = \"annual-report\"\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n //headers: string[] = [\"Client\", \"Network Member\", \"Status\", \"created Date\", \"Sent NM Date\"];\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Status\", property: \"status.value\" }, { head: \"Sent NM Date\", property: \"metadata\" }, { head: \"Sent Client Date\", property: \"metadata\" }]\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n constructor(private userService: UserService, private titleService: Title) {\r\n }\r\n\r\n async ngOnInit() {\r\n // set the title\r\n this.titleService.setTitle(\"Annual Reports | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-illustration-input-detail-page',\r\n templateUrl: './illustration-input-detail-page.component.html',\r\n styleUrls: ['./illustration-input-detail-page.component.scss']\r\n})\r\nexport class IllustrationInputDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n loadingTask: boolean = false;\r\n task: FileUploadTaskDto;\r\n\r\n constructor(private titleService: Title, private activatedroute: ActivatedRoute, public fileUploadTaskService: FileUploadTaskService, private commentService: CommentService) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Illustration input | Insurope\");\r\n\r\n this.loadingTask = false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-illustration-input-list-page',\r\n templateUrl: './illustration-input-list-page.component.html',\r\n styleUrls: ['./illustration-input-list-page.component.scss']\r\n})\r\nexport class IllustrationInputListPageComponent implements OnInit {\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Country\", property: \"country\" }, { head: \"Status\", property: \"status.value\" }]\r\n // hold the process id\r\n process = \"illustration-input\"\r\n isTableViewStoredValueKey: string;\r\n // determine if the user is a collaborator\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n faTh = faTh;\r\n faBars = faBars;\r\n\r\n // constructor\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n\r\n // determine if the user is a collaborator\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Illustration-input | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}","
    \r\n \r\n
    \r\n","import { Location } from '@angular/common';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators,ReactiveFormsModule } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { debounceTime, distinctUntilChanged, filter, fromEvent, map, Subscription } from 'rxjs';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\nimport { IllustrationRequestInputMetadata } from 'src/app/models/illustrationRequestInputMetadata';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { OpportunitiesService } from 'src/app/services/opportunities.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { CustomFile, GeneralTaskDto, NotificationStatus, OpportunityDto, TasksStatus } from 'src/app/web-api-client';\r\nimport { faCodeBranch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IllustrationService } from 'src/app/services/illustration/illustration.service';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\n@Component({\r\n selector: 'app-illustration-input-request-detail-page',\r\n templateUrl: './illustration-input-request-detail-page.component.html',\r\n styleUrls: ['./illustration-input-request-detail-page.component.scss']\r\n})\r\nexport class IllustrationInputRequestDetailPageComponent implements OnInit {\r\n\r\n// hold the taskId\r\n faCodeBranch = faCodeBranch;\r\n taskId: string;\r\n clientName: string;\r\n metaData: string[] = [];\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n status: TasksStatus;\r\n isLoading: boolean = false;\r\n task: GeneralTaskDto;\r\n page: number = 1;\r\n pageSize: number = 30;\r\n illustrationForm = new UntypedFormGroup({\r\n ClientName: new UntypedFormControl({ value: '', disabled: true }),\r\n Country: new UntypedFormControl(''),\r\n State: new UntypedFormControl(''),\r\n AccountRepresentative: new UntypedFormControl(''),\r\n RegionalDirector: new UntypedFormControl(''),\r\n OpportunityId: new UntypedFormControl({ value: '', disabled: true },[Validators.required]),\r\n Recipient: new UntypedFormControl('',[Validators.required])\r\n });\r\n \r\n @ViewChild('searchRecipientField', { static: true }) searchInputRecipientField: ElementRef;\r\n @ViewChild('searchOpportunityField', { static: true }) searchOpportunityField: ElementRef;\r\n\r\n isNetworkMember : boolean;\r\n isCollaborator : boolean;\r\n isUSA : boolean;\r\n isTaskOpen : boolean = false;\r\n subscriptions: Subscription[] = [];\r\n searchingOpp: boolean=false;\r\n filteredOpportunities: OpportunityDto[] = []\r\n selectedOpp: OpportunityDto;\r\n isOppSelected:boolean = false;\r\n statusText: string = \"\";\r\n loadingIllustrations: boolean;\r\n illustrations: GeneralTaskDto[] = [];\r\n hideShowMoreBtn: boolean;\r\n // contructor\r\n constructor(private activatedroute: ActivatedRoute, public informativeTaskService: InformativeService,\r\n private userService : UserService, private commentService: CommentService,\r\n private commonService:CommonService,private opportunitiesService:OpportunitiesService,\r\n public location: Location,private illustrationService : IllustrationService,private router: Router, private notificationService : NotificationService, private popupNotificationsService: PopupNotificationsService,) {\r\n this.informativeTaskService.activeTask = null;\r\n }\r\n \r\n\r\n // oninit method\r\n async ngOnInit() {\r\n \r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.informativeTaskService.getInformative(this.taskId);\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.task.id);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n this.networkMemberId = this.task.networkMemberId\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n if(this.isCollaborator && this.task.content == null){\r\n this.illustrationForm.controls.OpportunityId.enable()\r\n }\r\n this.isLoading = true;\r\n this.statusText = this.commonService.getTaskStatusByNumber(this.task.status.value);\r\n //fill the form\r\n var metaData: IllustrationRequestInputMetadata = JSON.parse(this.task.metaData);\r\n this.illustrationForm.controls.Country.setValue(this.task.subTitle);\r\n this.illustrationForm.controls.ClientName.setValue(this.task.title);\r\n this.illustrationForm.controls.AccountRepresentative.setValue(metaData.AccountManager.email);\r\n this.illustrationForm.controls.RegionalDirector.setValue(metaData.DivisionalManager.email);\r\n if(this.task.content != null){\r\n this.illustrationForm.controls.OpportunityId.setValue(this.task.content);\r\n }\r\n this.isTaskOpen = this.task.status.value == TasksStatus.Open;\r\n this.setupSearchListeners();\r\n if(this.isCollaborator){\r\n this.loadIllustrations()\r\n }\r\n this.commentService.setTask(this.task);\r\n this.isLoading = false;\r\n }\r\n setupSearchListeners() {\r\n this.subscriptions.push(fromEvent(this.searchOpportunityField.nativeElement, 'keyup').pipe(\r\n map((event: any) => event.target.value),\r\n filter(res => res.length > 2),\r\n debounceTime(100),\r\n distinctUntilChanged()\r\n ).subscribe(text => this.fetchOpportunity(text)));\r\n }\r\n async fetchOpportunity(text){\r\n console.log(text);\r\n \r\n if (!text) return (this.filteredOpportunities = []);\r\n this.searchingOpp= true;\r\n this.isOppSelected = false;\r\n this.selectedOpp = null\r\n this.filteredOpportunities = await this.opportunitiesService.getOpportunitiesBySearchingId(text.toLowerCase(), 0, 30);\r\n this.searchingOpp = false;\r\n }\r\n async save(){\r\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\r\n\r\n await this.createIllustration()\r\n await this.changeNotificationStatus()\r\n await delay(1000);\r\n \r\n this.router.navigateByUrl(\"/all-illustrations\");\r\n }\r\n\r\n async createIllustration() {\r\n const files = await this.commentService.getAllAttachments(this.task.id);\r\n \r\n const customFiles: CustomFile[] = await Promise.all(\r\n files.map(async (file) => {\r\n const fileData = `data:application/octet-stream;base64,${await this.commentService.downloadFile(file.commentId, this.taskId, file.id)}`;\r\n const customFile = new CustomFile();\r\n customFile.file = fileData;\r\n customFile.fileName = file.name;\r\n return customFile;\r\n })\r\n );\r\n var metaData: IllustrationRequestInputMetadata = JSON.parse(this.task.metaData);\r\n await this.illustrationService.createIllustration(\r\n this.task.clientId,\r\n this.task.title,\r\n [this.task.country],\r\n metaData.DivisionalManager.email,\r\n metaData.DivisionalManager.id,\r\n metaData.AccountManager.email,\r\n metaData.AccountManager.id,\r\n this.task.networkMemberId,\r\n customFiles\r\n );\r\n await this.informativeTaskService.changeTaskStatus(this.task.id,TasksStatus.Finalized)\r\n this.popupNotificationsService.showMessage(\"The illustration has been submited\",MessageType.Success)\r\n }\r\n\r\n async reject(){\r\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\r\n \r\n var notes = []\r\n this.commentService.discussion.comments\r\n .forEach(element => {\r\n notes.push(element.firstName+\" \"+element.lastName+\", message : \"+element.content)\r\n });\r\n const files = await this.commentService.getAllAttachments(this.task.id);\r\n const customFiles: CustomFile[] = await Promise.all(\r\n files.map(async (file) => {\r\n const fileData = `data:application/octet-stream;base64,${await this.commentService.downloadFile(file.commentId, this.taskId, file.id)}`;\r\n const customFile = new CustomFile();\r\n customFile.file = fileData;\r\n customFile.fileName = file.name;\r\n return customFile;\r\n })\r\n );\r\n await this.illustrationService.rejectIllustration(this.task.clientId,notes,customFiles,this.selectedOpp.id,(await this.userService.getCurrentUser()).preferredEmail)\r\n await this.informativeTaskService.UpsertInformative(\r\n this.task.networkMemberId, this.task.title,\r\n this.task.subTitle,this.task.clientId,\r\n this.task.processId,this.task.id,\r\n this.task.metaData,this.task.insuropeSubscribers,this.task.status,this.task.sourceId,this.task.country,this.selectedOpp.id\r\n );\r\n await this.informativeTaskService.changeTaskStatus(this.task.id,TasksStatus.Closed)\r\n await this.changeNotificationStatus()\r\n this.popupNotificationsService.showMessage(\"The illustration has been rejected\", MessageType.Success)\r\n await delay(1000);\r\n this.router.navigateByUrl(\"/all-illustrations\");\r\n }\r\n async changeNotificationStatus(){\r\n var discussion = this.commentService.discussion;\r\n discussion.comments.forEach(async comment => {\r\n await this.notificationService.ChangeNotificationStatus(comment.id, NotificationStatus.Stopped)\r\n });\r\n }\r\n async merge(illustration : GeneralTaskDto){\r\n if(confirm(\"Are you sure to merge this task with the current one ?\")){\r\n await this.informativeTaskService.MergeTasks(illustration.id,this.task.id)\r\n }\r\n }\r\n async loadIllustrations(loadMore = true) {\r\n this.loadingIllustrations = true;\r\n let newItems : GeneralTaskDto [] = [];\r\n\r\n\r\n const nmId = this.task.networkMemberId\r\n\r\n\r\n var filterParameter: FilterParameter = {} as FilterParameter;\r\n filterParameter.NetworkMemberIds = nmId == null ? null : [nmId];\r\n filterParameter.ClientId = null;\r\n filterParameter.ClientName = null;\r\n filterParameter.SubscriberId = null;\r\n filterParameter.ProcessId = this.task.processId;\r\n filterParameter.Status = TasksStatus.Open;\r\n filterParameter.PayTo = null;\r\n filterParameter.OverdueDate = null\r\n filterParameter.NetworkMemberId = nmId\r\n \r\n newItems = await this.informativeTaskService.getTasks( filterParameter,null,this.page,this.pageSize);\r\n newItems = newItems.filter(obj => obj.id !== this.task.id)\r\n this.hideShowMoreBtn = newItems.length < this.pageSize;\r\n this.illustrations = newItems\r\n document.getElementById(\"illustrations-view-btn\")?.classList.toggle(\"d-none\", this.illustrations.length === 0);\r\n this.loadingIllustrations = false;\r\n}\r\n selectOpportunity(opp:OpportunityDto){\r\n this.selectedOpp = opp;\r\n this.filteredOpportunities = [];\r\n this.isOppSelected = true;\r\n this.searchOpportunityField.nativeElement.value = opp.id;\r\n this.illustrationForm.controls.OpportunityId.setValue(opp.id);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Illustration Request

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n

      {{ opp.id }}

      \r\n
    • \r\n
    \r\n searching...\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Status

    \r\n {{statusText}}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n no illustrations for this client\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.scss']\r\n})\r\nexport class MessagesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    messages works!

    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { faEye } from '@fortawesome/free-regular-svg-icons';\r\n\r\n@Component({\r\n selector: \"app-not-found\",\r\n templateUrl: \"./not-found.component.html\",\r\n styleUrls: [\"./not-found.component.scss\"],\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n constructor(public location: Location) {}\r\n\r\n faEye = faEye;\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Woops, something's missing

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

    This page is missing or you assembled the link incorrectly.

    \r\n Overview\r\n
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { CommonService } from 'src/app/services/common/common.service';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountDto } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-overview',\r\n templateUrl: './overview.component.html',\r\n styleUrls: ['./overview.component.scss']\r\n})\r\n\r\nexport class OverviewComponent implements OnInit {\r\n\r\n isFinancial: boolean = false;\r\n isNetworkMember: boolean = true;\r\n isCollaborator: boolean = false;\r\n @Input() searchNetworkMember: boolean = true;\r\n @Input() title: string;\r\n @Input() hideServiceFees: boolean = false;\r\n @Input() client: AccountDto;\r\n @Input() isOnClientView: boolean = false;\r\n @Input() clientId: string;\r\n\r\n @Input() networkMemberId: string;\r\n networkMemberName: string = \"\";\r\n\r\n constructor(private userService: UserService,\r\n private router: Router,\r\n public networkMembersService: NetworkMembersService,\r\n private activatedRoute: ActivatedRoute,\r\n public commonService: CommonService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n this.isFinancial = await this.userService.isFinancial();\r\n\r\n \r\n this.activatedRoute.queryParamMap.subscribe(async (params) => {\r\n\r\n if (params.has('networkMemberId')) {\r\n this.networkMemberId = params.get('networkMemberId');\r\n }\r\n else {\r\n this.networkMemberId = localStorage.getItem('networkMemberId');\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: { networkMemberId: this.networkMemberId },\r\n queryParamsHandling: 'merge',\r\n });\r\n }\r\n\r\n this.networkMemberName = \"\";\r\n if (this.networkMemberId) {\r\n var account = (await this.networkMembersService.getNetworkMemberById(this.networkMemberId))\r\n this.networkMemberName = account.accountName\r\n }\r\n\r\n });\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Overview | Insurope\");\r\n\r\n }\r\n}\r\n","

    Dashboard of {{networkMemberName}}

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

    Your dashboard

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

    {{ title }}

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    ","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { GeneralTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-payments-detail-page',\r\n templateUrl: './payments-detail-page.component.html',\r\n styleUrls: ['./payments-detail-page.component.scss']\r\n})\r\nexport class PaymentsDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n clientName: string;\r\n metaData: string[] = [];\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n status: TasksStatus;\r\n isLoading: boolean = false;\r\n task: GeneralTaskDto;\r\n\r\n // contructor\r\n constructor(private activatedroute: ActivatedRoute, public informativeTaskService: InformativeService, private commentService: CommentService) {\r\n this.informativeTaskService.activeTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isLoading = true;\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.informativeTaskService.getInformative(this.taskId);\r\n this.commentService.task = this.task;\r\n this.metaData = JSON.parse(this.task.metaData);\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.task.id);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n this.isLoading = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-payments-list-page',\r\n templateUrl: './payments-list-page.component.html',\r\n styleUrls: ['./payments-list-page.component.scss']\r\n})\r\nexport class PaymentsListPageComponent implements OnInit {\r\n process = \"payments\"\r\n items: GeneralTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n isTableView: boolean = false;\r\n //headers:string[]=[\"Client\",\"Network Member\",\"Due date\",\"Status\", \"Payment\"]\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status.value\" }, {head:\"Payment to\", property:\"payTo\"}, {head: \"Done by NM\", property:\"actionPerform\"}]\r\n isTableViewStoredValueKey: string;\r\n statusFilter: number;\r\n faTh = faTh;\r\n faBars = faBars;\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Payments | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n this.changeIsMultipoolViewValue();\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n changeIsMultipoolViewValue() {\r\n var isMultipoolViewValue = JSON.parse(localStorage.getItem(\"isPaymentMultipoolView\"));\r\n\r\n if (isMultipoolViewValue == null) {\r\n isMultipoolViewValue = this.isTableView;\r\n }\r\n\r\n localStorage.setItem(\"isPaymentMultipoolView\", JSON.stringify(isMultipoolViewValue));\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { FileUploadTaskService } from 'src/app/services/file-upload-task/file-upload-task.service';\r\nimport { FileUploadTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-pooling-permissions-detail-page',\r\n templateUrl: './pooling-permissions-detail-page.component.html',\r\n styleUrls: ['./pooling-permissions-detail-page.component.scss']\r\n})\r\nexport class PoolingPermissionsDetailPageComponent implements OnInit {\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: string;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n loadingTask: boolean = false;\r\n task: FileUploadTaskDto;\r\n\r\n // constructor\r\n constructor(private titleService: Title, private activatedroute: ActivatedRoute, public fileUploadTaskService: FileUploadTaskService, private commentService: CommentService) {\r\n this.fileUploadTaskService.activeFileUploadTask = null;\r\n }\r\n\r\n async ngOnInit() {\r\n this.loadingTask = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.fileUploadTaskService.getFileUploadTaskByIdAndSetActive(this.taskId);\r\n this.status = this.task.status.value;\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n this.fileUploadTaskService.processId = this.task.processId;\r\n\r\n let networkMember = this.task.networkMember;\r\n this.networkMemberId = networkMember?.id;\r\n this.networkMemberName = networkMember?.accountName;\r\n\r\n this.commentService.task = this.task;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.taskId);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Pooling Permission | Insurope\");\r\n\r\n this.loadingTask = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { FileUploadTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n\r\n@Component({\r\n selector: 'app-pooling-permissions-list-page',\r\n templateUrl: './pooling-permissions-list-page.component.html',\r\n styleUrls: ['./pooling-permissions-list-page.component.scss']\r\n})\r\nexport class PoolingPermissionsListPageComponent implements OnInit {\r\n\r\n process = \"pooling-permission\"\r\n items: FileUploadTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n headers: { head: string, property: string }[] = [{ head: \"Client\", property: \"title\" }, { head: \"Network Member\", property: \"networkMember?.accountName\" }, { head: \"Country\", property: \"country\" }, { head: \"Status\", property: \"status\" }]\r\n isTableViewStoredValueKey: string;\r\n faTh = faTh;\r\n faBars = faBars;\r\n constructor(private userService: UserService,\r\n private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Pooling Permissions | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n","import { Component, ElementRef, HostListener, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { IllustrationService } from 'src/app/services/illustration/illustration.service';\r\nimport { DOCUMENT, Location } from \"@angular/common\";\r\nimport { AccountDto, CountryDto, CountyDto, CustomFile, IllustrationRequestDto, Status, TasksStatus, UserDto } from 'src/app/web-api-client';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { AccountsService } from 'src/app/services/accounts/accounts.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { NetworkMembersService } from 'src/app/services/network-members/network-members.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { MessageType, PopupNotificationsService } from 'src/app/services/popup-notifications/popup-notifications.service';\r\nimport { faCircleXmark } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { CountriesService } from 'src/app/services/countries/countries.service';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { requestIllustration } from 'src/app/models/RequestIllustration';\r\nimport { Guid } from 'guid-typescript';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { IllustrationRequestInputMetadata } from 'src/app/models/illustrationRequestInputMetadata';\r\n\r\n@Component({\r\n selector: 'app-request-illustration',\r\n templateUrl: './request-illustration.component.html',\r\n styleUrls: ['./request-illustration.component.scss']\r\n})\r\nexport class RequestIllustrationComponent implements OnInit, OnDestroy {\r\n filteredClients: AccountDto[] = [];\r\n filteredCountries: CountryDto[] = [];\r\n filteredCounties: CountyDto[] = [];\r\n showClients = false;\r\n selectedClient: AccountDto;\r\n uploadedFiles: CustomFile[] = [];\r\n selectedCountry = new CountryDto();\r\n selectedCounty = new CountyDto();\r\n checkIsProspect = false;\r\n searchingClient = false;\r\n searchingCountry = false;\r\n searchingCounty = false;\r\n newClient = false;\r\n sendingRequest = false;\r\n isUSA = false;\r\n showWarningMessage = false;\r\n faCircleXmark = faCircleXmark;\r\n clickedOnClient = false;\r\n isCollaborator = false;\r\n displaySubs: UserDto[] = [];\r\n illustrations: IllustrationRequestDto[] = [];\r\n currentUserId: string;\r\n dragAreaClass: string;\r\n draggedFiles: any;\r\n requestIllustration = new requestIllustration();\r\n @ViewChild('searchClientField', { static: true }) searchInputClientField: ElementRef;\r\n @ViewChild('searchCountryField', { static: true }) searchInputCountryField: ElementRef;\r\n @ViewChild('searchCountyField', { static: true }) searchInputCountyField: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n isCountrySelected = false;\r\n illustrationForm = new UntypedFormGroup({\r\n ClientName: new UntypedFormControl({ value: '', disabled: true }, [Validators.required]),\r\n Country: new UntypedFormControl('', [Validators.required]),\r\n State: new UntypedFormControl(''),\r\n AccountRepresentative: new UntypedFormControl(''),\r\n RegionalDirector: new UntypedFormControl(''),\r\n OpportunityId: new UntypedFormControl(''),\r\n Recipient: new UntypedFormControl('')\r\n });\r\n params: ParamMap;\r\n loadingIllustrations: boolean;\r\n networkMember: AccountDto;\r\n page: number;\r\n isNetworkMember: boolean;\r\n pageSize: number;\r\n hideShowMoreBtn: boolean;\r\n networkMemberId;\r\n showDiscussion = false;\r\n isCountySelected = false;\r\n constructor(\r\n private accountsService: AccountsService,\r\n private illustrationService: IllustrationService,\r\n public location: Location,\r\n private router: Router,\r\n private userService: UserService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private networkMemberService: NetworkMembersService,\r\n private titleService: Title,\r\n private popupNotificationsService: PopupNotificationsService,\r\n private activatedroute: ActivatedRoute,\r\n private countryService: CountriesService,\r\n private commentService: CommentService,\r\n private informativeService: InformativeService\r\n ) {\r\n this.requestIllustration.id = Guid.create().toString();\r\n this.requestIllustration.processId = \"illustration-input-request\";\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n await this.countryService.loadCountries()\r\n this.commentService.task = this.requestIllustration;\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n this.isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n this.titleService.setTitle('Illustration Request | Insurope');\r\n this.activatedroute.queryParamMap.subscribe(async (params) => this.loadIllustrations(params));\r\n this.networkMemberId = (await this.userService.getCurrentUser()).networkMemberIds;\r\n const currentUser = await this.userService.getCurrentUser();\r\n this.currentUserId = currentUser.id;\r\n this.displaySubs.push(currentUser);\r\n this.networkMember = await this.networkMemberService.getNetworkMemberById(this.networkMemberId[0]);\r\n if (this.isCollaborator) {\r\n this.illustrationForm.controls.OpportunityId.setValidators([Validators.required]);\r\n }\r\n this.illustrationForm.controls.Country.setValue(null);\r\n this.setupSearchListeners();\r\n }\r\n\r\n setupSearchListeners() {\r\n this.subscriptions.push(fromEvent(this.searchInputClientField.nativeElement, 'keyup').pipe(\r\n map((event: any) => event.target.value),\r\n filter(res => res.length > 2),\r\n debounceTime(100),\r\n distinctUntilChanged()\r\n ).subscribe(text => this.fetchClient(text)));\r\n\r\n this.subscriptions.push(fromEvent(this.searchInputCountryField.nativeElement, 'keyup').pipe(\r\n map((event: any) => event.target.value),\r\n debounceTime(100),\r\n distinctUntilChanged()\r\n ).subscribe(text => this.fetchCountry(text)));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n async loadClientByName(accountName) {\r\n this.clickedOnClient = true;\r\n this.router.navigate([], {\r\n relativeTo: this.activatedroute,\r\n queryParams: { clientName: accountName },\r\n queryParamsHandling: 'merge'\r\n });\r\n this.searchInputClientField.nativeElement.value = accountName;\r\n}\r\n\r\nasync loadIllustrations(params = this.params, loadMore = false) {\r\n this.loadingIllustrations = true;\r\n let newItems;\r\n\r\n if (params?.get(\"networkMemberId\") && params.has(\"clientId\")) {\r\n this.networkMember = await this.networkMemberService.getNetworkMemberById(params.get(\"networkMemberId\"));\r\n }\r\n\r\n const nmId = params?.get(\"networkMemberId\") ?? localStorage.getItem('networkMemberId');\r\n const clientName = params?.get(\"clientName\");\r\n const subscriberId = params?.get('subscriberId');\r\n const subscriberEmail = subscriberId ? (await this.userService.getUserById(subscriberId)).preferredEmail : null;\r\n\r\n if (!loadMore) {\r\n this.illustrations = [];\r\n this.page = 1;\r\n }\r\n\r\n if (this.isNetworkMember) {\r\n newItems = await this.illustrationService.getMyOrganizationIllustrationsPaginated(\r\n clientName, null, subscriberId, subscriberEmail, null, null, null, this.page, this.pageSize\r\n );\r\n }\r\n \r\n this.hideShowMoreBtn = newItems.length < this.pageSize;\r\n this.illustrations = [...this.illustrations, ...newItems.map(illustration => ({\r\n ...illustration,\r\n illustrationStage: { ...illustration.illustrationStage, name: illustration.illustrationStage.name !== \"Finalized\" ? \"In-progress\" : \"Finalized\" }\r\n }))];\r\n \r\n document.getElementById(\"illustrations-view-btn\")?.classList.toggle(\"d-none\", this.illustrations.length === 0);\r\n this.loadingIllustrations = false;\r\n}\r\n\r\nasync clearSearch() {\r\n localStorage.removeItem('clientId');\r\n localStorage.removeItem('clientName');\r\n this.router.navigate([], {\r\n relativeTo: this.activatedroute,\r\n queryParams: { clientName: null, clientId: null },\r\n queryParamsHandling: 'merge'\r\n });\r\n}\r\n\r\nasync addSubscriber(event) {\r\n this.displaySubs.push(event.user);\r\n}\r\n\r\nasync fetchClient(term) {\r\n if (!term) return (this.filteredClients = []);\r\n this.newClient = false;\r\n this.searchingClient = true;\r\n if(this.isCountySelected){\r\n this.filteredClients = await this.accountsService.getAccountsByState(this.selectedCounty.countyId,term.toLowerCase(), 0, 10);\r\n }else{\r\n this.filteredClients = await this.accountsService.getPooledAndProspectAccountsByName(term.toLowerCase(), 0, 10);\r\n }\r\n this.searchingClient = false;\r\n}\r\n\r\nasync fetchCountry(term) {\r\n if (!term) return (this.filteredCountries = []);\r\n this.searchingCountry = true;\r\n this.filteredCountries = this.countryService.countries.filter(x => \r\n x.name.replace(/\\./g, '').toLowerCase().includes(term.replace(/\\./g, '').toLowerCase())\r\n );\r\n this.searchingCountry = false;\r\n}\r\n\r\nasync fetchCounty(term) {\r\n if (!term) return (this.filteredCounties = []);\r\n this.searchingCounty = true;\r\n this.filteredCounties = this.countryService.counties.filter(x => x.name.toLowerCase().includes(term.toLowerCase()));\r\n console.log(this.filteredCounties);\r\n this.searchingCounty = false;\r\n}\r\n\r\n // called when selecting a client\r\n selectClient(client: AccountDto) {\r\n // hold the selected client\r\n this.selectedClient = client;\r\n // empty the list of clients\r\n this.filteredClients = [];\r\n if (client) {\r\n // set the client name\r\n this.searchInputClientField.nativeElement.value = client.accountName;\r\n this.illustrationForm.controls.ClientName.setValue(client.accountName);\r\n this.illustrationForm.controls.AccountRepresentative.setValue(client.divisionalManager.userInfo.email)\r\n this.illustrationForm.controls.RegionalDirector.setValue(client.accountManager.userInfo.email)\r\n this.loadClientByName(client.accountName)\r\n this.newClient = false;\r\n }\r\n else {\r\n this.selectedClient = new AccountDto()\r\n this.illustrationForm.controls.AccountRepresentative.setValue(\"\")\r\n this.illustrationForm.controls.RegionalDirector.setValue(\"\")\r\n this.loadClientByName(this.illustrationForm.controls.ClientName.value)\r\n this.newClient = true\r\n }\r\n this.requestIllustration.clientName = this.illustrationForm.controls.ClientName.value\r\n this.showDiscussion = true\r\n}\r\n\r\nselectCountry(country) {\r\n this.selectedCountry = country;\r\n this.filteredCountries = [];\r\n this.isCountrySelected = true;\r\n this.searchInputCountryField.nativeElement.value = country.name;\r\n this.illustrationForm.controls.Country.setValue(country.name);\r\n\r\n if (country.name === \"U.S.A.\") {\r\n this.illustrationForm.controls.ClientName.disable();\r\n this.isUSA = true;\r\n this.document.getElementsByTagName('body')[0].onclick = (event: MouseEvent) => {\r\n if (event.target !== this.document.getElementById('searchCountyName')) {\r\n this.filteredCounties = [];\r\n }\r\n };\r\n\r\n this.subscriptions.push(\r\n fromEvent(this.searchInputCountyField.nativeElement, 'keyup')\r\n .pipe(\r\n map(event => (event.target as HTMLInputElement).value),\r\n debounceTime(100),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(text => this.fetchCounty(text))\r\n );\r\n\r\n this.illustrationForm.controls.State.setValidators([Validators.required]);\r\n \r\n } else {\r\n this.isUSA = false;\r\n this.illustrationForm.controls.ClientName.enable();\r\n }\r\n}\r\n\r\nselectCounty(county) {\r\n this.selectedCounty = county;\r\n this.isCountySelected = true\r\n this.filteredCounties = [];\r\n this.illustrationForm.controls.ClientName.enable();\r\n this.searchInputCountyField.nativeElement.value = county.name;\r\n this.illustrationForm.controls.State.setValue(county.name);\r\n}\r\n\r\n\r\nremoveFile(index) {\r\n this.uploadedFiles.splice(index, 1);\r\n}\r\n\r\nasync save() {\r\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\r\n\r\n this.createIllustration(); \r\n await delay(1000);\r\n\r\n console.log(\"Waited 5s\");\r\n this.router.navigateByUrl(\"/all-illustrations\");\r\n}\r\n\r\ndeleteSubscriber(email) {\r\n this.displaySubs.splice(this.displaySubs.indexOf(email), 1);\r\n}\r\n\r\nsendRequestBySendingComment(event){\r\n this.save()\r\n}\r\n\r\nasync createIllustration() {\r\n this.sendingRequest = true;\r\n const networkMemberId = (await this.userService.getCurrentUser()).networkMemberId;\r\n const insuropeSubscribers = [];\r\n if (this.selectedCountry.name === \"U.S.A.\") {\r\n \r\n }\r\n const illustrationRequestInputMetadata = new IllustrationRequestInputMetadata();\r\n if(!this.newClient){\r\n \r\n const accountManager = this.selectedClient.accountManager.userInfo;\r\n const divManager = this.selectedClient.divisionalManager.userInfo;\r\n if(accountManager.email != \"\"){\r\n Object.assign(illustrationRequestInputMetadata.AccountManager, accountManager);\r\n insuropeSubscribers.push(accountManager.email);\r\n }\r\n if(divManager.email != \"\"){\r\n Object.assign(illustrationRequestInputMetadata.DivisionalManager, divManager);\r\n insuropeSubscribers.push(divManager.email);\r\n }\r\n\r\n }\r\n \r\n var status = new Status()\r\n status.value = TasksStatus.Open\r\n //using HQ name as sourceId for upserting\r\n var sourceId = this.requestIllustration.clientName\r\n\r\n try {\r\n this.informativeService.UpsertInformative(\r\n networkMemberId, this.requestIllustration.clientName,\r\n this.selectedCountry.name, this.selectedClient.id,\r\n this.requestIllustration.processId, this.requestIllustration.id,\r\n JSON.stringify(illustrationRequestInputMetadata), insuropeSubscribers,status,sourceId,this.selectedCountry.countryId,null\r\n );\r\n this.popupNotificationsService.showMessage(\"The illustration has been created successfully\",MessageType.Success)\r\n } catch (e) {\r\n this.popupNotificationsService.showMessage(\"Error when creating a new illustration request\",MessageType.Error)\r\n }\r\n this.sendingRequest = false;\r\n this.illustrationForm.reset();\r\n this.clearSearch();\r\n}\r\n}\r\n","
    \r\n \r\n \r\n \r\n

    Upload a Manual Illustration Request

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
      0\">\r\n
    • \r\n

      {{ cty.name }}

      \r\n
    • \r\n
    \r\n searching...\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
      0\">\r\n
    • \r\n

      {{ cty.name }}

      \r\n
    • \r\n
    \r\n searching...\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
      \r\n
    • The client I search for is not found?

    • \r\n
    • \r\n

      {{ client.accountName }}

      \r\n
    • \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Searching...\r\n
    \r\n
    \r\n

    Please type part of the client's headquarters/parent name to search for the client. If nothing is found, please type the full HQ client's name (not the subsidiary name here).

    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n ","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommentService } from 'src/app/services/comment.service';\r\nimport { InformativeService } from 'src/app/services/informative.service';\r\nimport { GeneralTaskDto, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-service-fees-detail-page',\r\n templateUrl: './service-fees-detail-page.component.html',\r\n styleUrls: ['./service-fees-detail-page.component.scss']\r\n})\r\nexport class ServiceFeesDetailPageComponent implements OnInit {\r\n\r\n // hold the taskId\r\n taskId: string;\r\n networkMemberId: any;\r\n networkMemberName: string;\r\n clientName: string;\r\n status: TasksStatus;\r\n isLoading: boolean = false;\r\n task: GeneralTaskDto;\r\n\r\n // constructor\r\n constructor(private activatedroute: ActivatedRoute, public informativeTaskService: InformativeService, private commentService: CommentService) {\r\n this.informativeTaskService.activeTask = null;\r\n }\r\n\r\n // oninit method\r\n async ngOnInit() {\r\n this.isLoading = true;\r\n\r\n this.taskId = this.activatedroute.snapshot.paramMap.get(\"id\");\r\n this.task = await this.informativeTaskService.getInformative(this.taskId);\r\n this.commentService.task = this.task;\r\n this.clientName = this.task.title;\r\n this.status = this.task.status.value;\r\n\r\n let networkMembers = this.task.networkMember;\r\n this.networkMemberId = networkMembers?.id;\r\n this.networkMemberName = networkMembers?.accountName;\r\n\r\n this.commentService.discussion = await this.commentService.getDiscussionByTaskId(this.task.id);\r\n this.commentService.taskSubscribers = await this.commentService.getTaskSubescribersByDiscussionId(this.task.id);\r\n\r\n this.isLoading = false;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { GeneralTaskDto } from 'src/app/web-api-client';\r\nimport { faTh, faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\n@Component({\r\n selector: 'app-service-fees-list-page',\r\n templateUrl: './service-fees-list-page.component.html',\r\n styleUrls: ['./service-fees-list-page.component.scss']\r\n})\r\nexport class ServiceFeesListPageComponent implements OnInit {\r\n\r\n process = \"service-fees\"\r\n items: GeneralTaskDto[]\r\n @Input() page: number = 1;\r\n @Input() pageSize: number = 5;\r\n isCollaborator: boolean;\r\n statusFilter: number;\r\n isTableView: boolean = false;\r\n isTableViewStoredValueKey: string\r\n faTh = faTh;\r\n faBars = faBars;\r\n headers: { head: string, property: string }[] = [{ head: \"Bill\", property: \"title\" }, { head: \"Network Member\", property: \"title\" }, { head: \"Due date\", property: \"overdueDate\" }, { head: \"Status\", property: \"status\" },{head: \"Done by NM\", property:\"actionPerform\"}]\r\n constructor(private userService: UserService, private titleService: Title) { }\r\n\r\n async ngOnInit() {\r\n this.isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n // set the title\r\n this.titleService.setTitle(\"Service Fees | Insurope\");\r\n this.isTableViewStoredValueKey = this.titleService.getTitle() + '_isTableView'\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n this.statusFilter = this.isCollaborator ? null : 0;\r\n var storedValue = JSON.parse(localStorage.getItem(this.isTableViewStoredValueKey))\r\n\r\n this.changeIsTableViewValue(storedValue);\r\n }\r\n\r\n changeIsTableViewValue(value) {\r\n if (value == null) {\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(this.isTableView));\r\n } else {\r\n this.isTableView = value;\r\n localStorage.setItem(this.isTableViewStoredValueKey, JSON.stringify(value));\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-supporting-files',\r\n templateUrl: './supporting-files.component.html',\r\n styleUrls: ['./supporting-files.component.scss']\r\n})\r\nexport class SupportingFilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

    supporting-files works!

    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Consent } from 'src/app/web-api-client';\r\n\r\n@Component({\r\n selector: 'app-terms-and-conditions',\r\n templateUrl: './terms-and-conditions.component.html',\r\n styleUrls: ['./terms-and-conditions.component.scss'],\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n redirectTo: string = \"\";\r\n acceptBtn: HTMLButtonElement;\r\n acceptCheckbox:HTMLInputElement;\r\n constructor(private userservice: UserService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n //var approveAllConsentsCheckBox = document.getElementById(\"approveAllCheckBox\");\r\n //approveAllConsentsCheckBox = document.getElementById(\"approveAllCheckBox\");\r\n //approveAllConsentsCheckBox.addEventListener('change',(e)=>{this.allConsentsAreApproved = approveAllConsentsCheckBox.checked;})\r\n\r\n // Get the modal\r\n const modal = document.getElementById(\"myModal\") as HTMLDivElement;\r\n // Get the accept button\r\n this.acceptBtn = document.getElementById(\"acceptBtn\") as HTMLButtonElement;\r\n // Get the accept checkbox\r\n this.acceptCheckbox = document.getElementById(\"acceptCheckbox\") as HTMLInputElement;\r\n\r\n // When the page loaded, open the modal \r\n modal.style.display = \"block\";\r\n // When the user checks/unchecks the checkbox, toggle accept button\r\n this.acceptCheckbox.addEventListener('change',()=>{this.acceptBtn.disabled = !this.acceptCheckbox.checked;});\r\n\r\n // Initially disable the accept button\r\n\r\n }\r\n\r\n async acceptTermsAndCondtions() {\r\n let timeNow = new Date(new Date().toUTCString());\r\n\r\n var consent = new Consent();\r\n consent.approved = true;\r\n consent.approvedDate = timeNow;\r\n\r\n var userId = await this.userservice.getCurrentUserId();\r\n var newUser = await this.userservice.upsertUser(userId, consent, consent);\r\n\r\n if (localStorage.getItem(\"RedirectUrl\")) {\r\n this.redirectTo = localStorage.getItem(\"RedirectUrl\");\r\n localStorage.removeItem(\"RedirectUrl\");\r\n }\r\n\r\n this.router.navigateByUrl(this.redirectTo);\r\n }\r\n\r\n refuseTermsAndCondtions() {\r\n this.userservice.logout();\r\n }\r\n}\r\n\r\n\r\n\r\n","
    \r\n
    \r\n

    Terms and Conditions

    \r\n\r\n

    Privacy notice

    \r\n

    Terms & Conditions

    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from 'src/app/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html',\r\n styleUrls: ['./unauthorized.component.scss']\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n\r\n // constructor\r\n constructor(public userService: UserService) { }\r\n\r\n // oninit method\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
    \r\n

    Hello, You are not authorized to access this page, please contact insuropexchange@insurope.com to continue.

    \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport { AccountsClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsService {\r\n\r\n // constructor\r\n constructor(private accountsClient: AccountsClient) { }\r\n\r\n // get account by Id\r\n async getAccountById(id: string) {\r\n return await this.accountsClient.getAccountById(id).toPromise();\r\n }\r\n\r\n // get the accounts by name\r\n async getAccountsByName(name: string, page: number, pageSize: number)\r\n {\r\n return await this.accountsClient.findAccountsByName(name, page, pageSize).toPromise();\r\n }\r\n async getAccountsByState(state: string, name:string, page: number, pageSize: number)\r\n {\r\n return await this.accountsClient.findAccountsByState(state, name, page, pageSize).toPromise();\r\n }\r\n\r\n // get the pooled and prospect accounts by name\r\n async getPooledAndProspectAccountsByName(name: string, page: number, pageSize: number)\r\n {\r\n return await this.accountsClient.findPooledAndProspectAccountsByName(name, page, pageSize).toPromise();\r\n }\r\n\r\n // get account excel file\r\n async getAccountExcelFile(accountNumber: string) {\r\n return await this.accountsClient.getAccountExcelFile(accountNumber).toPromise();\r\n }\r\n \r\n // get account expansion plan\r\n async getAccountExpansionPlan(accountNumber: string, page: number, pageSize: number, sortColumn: string, sortDirection: string) {\r\n return await this.accountsClient.getAccountExpansionPlan(accountNumber, sortDirection, sortColumn, page, pageSize).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BooleanTaskClient, BooleanTaskDto, SortingElement, UpdateBooleanTaskDto } from 'src/app/web-api-client';\r\nimport { MessageType, PopupNotificationsService } from '../popup-notifications/popup-notifications.service';\r\nimport { FilterParameter } from 'src/app/models/FilterPrameter';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class BooleanTaskService {\r\n\r\n // hold the active task\r\n activeBooleanTask: BooleanTaskDto;\r\n\r\n // constructor\r\n constructor(private booleanTaskClient: BooleanTaskClient, private router: Router, private notificationPopupService: PopupNotificationsService) { }\r\n\r\n // get the tasks per process\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n // get the tasks by process\r\n return await this.booleanTaskClient.getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields, page, pageSize).toPromise();\r\n }\r\n\r\n // get a task by Id\r\n async getBooleanTaskById(id: string) {\r\n try {\r\n // get the task\r\n this.activeBooleanTask = await this.booleanTaskClient.getBooleanTaskById(id).toPromise();\r\n // return the task\r\n return this.activeBooleanTask;\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.booleanTaskClient.getTasks(\r\n filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n //return this.booleanTaskClient.getTasks( ,sortingFields, page, pageSize).toPromise();\r\n }\r\n\r\n // method to change the status\r\n async changeTaskBooleanStatus(task: BooleanTaskDto): Promise {\r\n try {\r\n // adapt the task's status\r\n await this.booleanTaskClient.update(task).toPromise();\r\n return true;\r\n }\r\n catch (error) {\r\n if (error.status == 404) {\r\n this.notificationPopupService.showMessage(\"The task you are trying to change does not exist.\", MessageType.Error);\r\n return false\r\n }\r\n }\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.booleanTaskClient.downloadFile(taskId, fileId).toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.booleanTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n\r\n async changeTaskStatus(id: string, status: number) {\r\n return await this.booleanTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.booleanTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n\r\n async updateTask(task: UpdateBooleanTaskDto) {\r\n return await this.booleanTaskClient.update(task).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountsClient, CrmAttachmentsClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientsService {\r\n \r\n // constructor\r\n constructor(private accountsClient: AccountsClient, private crmAttachmentsClient: CrmAttachmentsClient) { }\r\n\r\n // get the clients by name\r\n async getClientsByName(name: string, pageNumber: number, pageSize: number) {\r\n return await this.accountsClient.findAccountXesByName(name, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the clients by name\r\n async getClientByName(clientName: string, clientId : string) {\r\n return await this.accountsClient.findAccountByName(clientId,clientName).toPromise();\r\n }\r\n\r\n // get the technical contact by external account number\r\n async getTechnicalContact(externalAccountNumber: string) {\r\n return await this.accountsClient.getTechnicalContactByExternalAccountNumber(externalAccountNumber).toPromise();\r\n }\r\n\r\n // get the contracts of the client\r\n async getClientContracts(accountId: string, pageNumber?: number, pageSize?: number) {\r\n return await this.crmAttachmentsClient.getCrmAccountAttachments(accountId, pageNumber, pageSize).toPromise();\r\n }\r\n \r\n // get the contractual documents of the client\r\n async getClientContractualDocuments(accountId: string, pageNumber?: number, pageSize?: number) {\r\n return await this.crmAttachmentsClient.getCrmAccountContractualAttachments(accountId, pageNumber, pageSize).toPromise();\r\n }\r\n \r\n // get the contractual documents of the client\r\n async getClientImportantDocuments(accountId: string, type: string) {\r\n return await this.crmAttachmentsClient.getCrmAccountImportantAttachments(accountId, type).toPromise();\r\n }\r\n\r\n // download an attachment\r\n async downloadAttachment(attachmentId: string) {\r\n return await this.crmAttachmentsClient.downloadCrmAttachment(attachmentId).toPromise();\r\n }\r\n async getClientById(clientId:string){\r\n return await this.accountsClient.getAccountById(clientId).toPromise();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachmentDTO, CommentDto, CommentsClient, CommentTagDto, DiscussionDto, TaskSubscribersDto, TaskUserSusbscriptionDto } from '../web-api-client';\r\nimport { Subject } from 'rxjs';\r\nimport { AddCommentDto } from '../models/AddCommentDto';\r\nimport { TagReplyParameter } from '../models/TagReplyParameter';\r\nimport { EditCommentDto } from '../models/EditCommentDto';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommentService {\r\n setClientReplyTagValue = new Subject();\r\n getClientReplyTagValue = this.setClientReplyTagValue.asObservable();\r\n setCommentReplyTagsList = new Subject();\r\n getCommentReplyTagsList = this.setCommentReplyTagsList.asObservable();\r\n\r\n deleteCommentEvent = new Subject();\r\n addCommentAttachmentEvent = new Subject();\r\n editCommentEvent = new Subject();\r\n updateCommentSubscribers = new Subject();\r\n\r\n discussion: DiscussionDto;\r\n comments: CommentDto[] = [];\r\n filteredComments: CommentDto[] = [];\r\n taskSubscribers: TaskSubscribersDto;\r\n task: any;\r\n defaultTags: CommentTagDto[];\r\n tagFilterSelectedValues: string[] = [];\r\n\r\n constructor(private commentsClient: CommentsClient) {\r\n }\r\n\r\n async getDiscussionByTaskId(taskId: string) {\r\n this.discussion = await this.commentsClient.get(taskId).toPromise();\r\n this.comments = this.discussion.comments.reverse().filter(x => x.isDeleted == false);\r\n return this.discussion;\r\n }\r\n\r\n async getTaskSubescribersByDiscussionId(discussionId: string) {\r\n return await this.commentsClient.getDiscussionTaskSubscribers(discussionId).toPromise();\r\n }\r\n\r\n async getIllustrationTaskSubscriber(discussionId: string, clientSubscribers: TaskUserSusbscriptionDto[], insuropeSubscribers: TaskUserSusbscriptionDto[], networkMemberSubscribers: TaskUserSusbscriptionDto[]) {\r\n return await this.commentsClient.getIllustrationTaskSubscribers(discussionId, clientSubscribers, insuropeSubscribers, networkMemberSubscribers).toPromise();\r\n }\r\n\r\n async addComment(commentParams: AddCommentDto) {\r\n var comment = await this.commentsClient.create(commentParams.taskId,\r\n commentParams.customSubscriberProvider,\r\n commentParams.processName,\r\n commentParams.clientName,\r\n commentParams.networkMemberName,\r\n commentParams.country,\r\n commentParams.periodEnd,\r\n commentParams.files,\r\n commentParams.content,\r\n commentParams.tags,\r\n commentParams.isDeleted,\r\n commentParams.isEdited,\r\n commentParams.isHtmlText,\r\n commentParams.commentType,\r\n commentParams.notificationFrequency,\r\n commentParams.notificationType,\r\n commentParams.notificationStatus).toPromise()\r\n\r\n if (comment) {\r\n this.taskSubscribers = await this.addCurrentUserToSubscriber(commentParams.taskId);\r\n }\r\n\r\n if (comment.attachments?.length > 0) {\r\n this.addCommentAttachmentEvent.next(comment.attachments);\r\n }\r\n\r\n this.updateCommentList(comment);\r\n\r\n return comment;\r\n }\r\n\r\n async downloadFile(taskId: string, discussionId: string, fileId: string) {\r\n return await this.commentsClient.downloadFile(taskId, discussionId, fileId).toPromise();\r\n }\r\n\r\n async deleteComment(taskId: string, commentId: string) {\r\n\r\n await this.commentsClient.delete(taskId, commentId).toPromise();\r\n var index = this.filteredComments.findIndex(x => x.id == commentId);\r\n this.filteredComments.splice(index, 1);\r\n this.deleteCommentEvent.next(commentId);\r\n }\r\n\r\n async editDiscussion(taskId: string, lastExportedDate: Date) {\r\n return await this.commentsClient.update(taskId, lastExportedDate).toPromise();\r\n }\r\n\r\n async addCurrentUserToSubscriber(taskId: string) {\r\n var updatedSubscibersList = await this.commentsClient.addCurrentUserToSubscribers(taskId).toPromise();\r\n this.updateCommentSubscribers.next(updatedSubscibersList);\r\n return updatedSubscibersList;\r\n }\r\n\r\n async addSubscriber(taskId: string, subscriberId: string, processId: string) {\r\n return await this.commentsClient.addSubscriber(taskId, subscriberId, processId).toPromise();\r\n }\r\n\r\n async deleteSubscriber(taskId: string, subscriberId: string) {\r\n return await this.commentsClient.deleteSubscriber(taskId, subscriberId).toPromise();\r\n }\r\n\r\n async getAllAttachments(taskId: string) {\r\n return await this.commentsClient.getAllAttachments(taskId).toPromise();\r\n }\r\n\r\n async addCommentTag(tagNames: string[], taskId: string, commentId: string) {\r\n return await this.commentsClient.addCommentTags(tagNames, taskId, commentId).toPromise();\r\n }\r\n\r\n async getCommentTags(taskId: string, commentId: string) {\r\n return await this.commentsClient.getCommentTags(taskId, commentId).toPromise();\r\n }\r\n\r\n async deleteCommentTags(tagId: string, taskId: string, commentId: string) {\r\n return await this.commentsClient.deleteCommentTags(tagId, taskId, commentId).toPromise();\r\n }\r\n\r\n async getDefaultTags() {\r\n if (!this.defaultTags) {\r\n this.defaultTags = await this.commentsClient.getDefaultTags().toPromise();\r\n return this.defaultTags;\r\n }\r\n }\r\n\r\n async upsertDefaultTag(tagName: string) {\r\n return await this.commentsClient.upsertDefaultTag(tagName).toPromise();\r\n }\r\n\r\n async getDiscussionTags(taskId: string, tagName: string) {\r\n return await this.commentsClient.getDiscussionTags(taskId, tagName).toPromise();\r\n }\r\n\r\n async filterCommentsByTag(taskId: string, tagName: string) {\r\n return await this.commentsClient.filterCommentsByTag(taskId, tagName).toPromise();\r\n }\r\n\r\n async editComment(editComment: EditCommentDto) {\r\n var editedComment = await this.commentsClient.editComment(editComment.TaskId,\r\n editComment.CommentId,\r\n editComment.Content,\r\n editComment.SendNotification,\r\n editComment.PeriodEnd,\r\n editComment.ProcessName,\r\n editComment.ClientName,\r\n editComment.NetworkMemberName,\r\n editComment.CustomSubscriberProvider,\r\n editComment.Country,\r\n editComment.Title, null).toPromise();\r\n\r\n let commentIndex = this.filteredComments.findIndex(x => x.id == editedComment.id);\r\n this.filteredComments.splice(commentIndex, 1, editedComment);\r\n return editedComment;\r\n }\r\n\r\n async deleteFileFromComment(taskId, fileId) {\r\n return this.commentsClient.deleteFileFromComment(taskId, fileId).toPromise()\r\n }\r\n\r\n setTask(value) {\r\n this.task = value;\r\n console.log(this.task)\r\n }\r\n\r\n fixQuillIndentation(htmlContent: string): string {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(htmlContent, \"text/html\");\r\n\r\n const listItems = doc.querySelectorAll(\"li[class*='ql-indent-']\");\r\n\r\n listItems.forEach(li => {\r\n const listItem = li as HTMLElement;\r\n const indentClass = Array.from(listItem.classList).find(cls => cls.startsWith(\"ql-indent-\"));\r\n\r\n if (indentClass) {\r\n const indentLevel = parseInt(indentClass.replace(\"ql-indent-\", \"\"), 10);\r\n listItem.classList.remove(indentClass);\r\n\r\n // Add all lists to parent\r\n let parentList = listItem.parentElement;\r\n if (!parentList || parentList.tagName !== \"UL\") {\r\n const newList = document.createElement(\"ul\");\r\n newList.appendChild(listItem);\r\n\r\n // Add the list in the right place\r\n if (parentList) {\r\n parentList.appendChild(newList);\r\n }\r\n }\r\n\r\n // Apply visual indentation without deleting elements\r\n listItem.style.marginLeft = `${indentLevel * 20}px`;\r\n }\r\n });\r\n\r\n return doc.body.innerHTML;\r\n }\r\n\r\n async updateCommentList(comment: CommentDto): Promise {\r\n this.comments.push(comment);\r\n\r\n const tagsFilteredBy = this.tagFilterSelectedValues;\r\n\r\n if (tagsFilteredBy.length === 0) {\r\n this.filteredComments = [...this.comments];\r\n } else {\r\n this.filteredComments = this.comments.filter(comment =>\r\n tagsFilteredBy.every(tag =>\r\n comment.tags.some(t => t.tagName.toLowerCase().startsWith(tag.toLowerCase()))\r\n )\r\n );\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { UserRoles } from 'src/app/models/enums/user-roles';\r\nimport { ActionPerform, AssignedTo, FileParameter, HangfireJobClient, NotificationStatus, PayToEnum } from 'src/app/web-api-client';\r\nimport { UserService } from '../user.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CommentService } from '../comment.service';\r\nimport { DocumentService } from '../document.service';\r\nimport { AddCommentDto } from 'src/app/models/AddCommentDto';\r\nimport { CommentType } from 'src/app/models/enums/CommentType';\r\nimport { NotificationFrequency } from 'src/app/models/enums/NotificaionFrequency';\r\nimport { NotificationType } from 'src/app/models/enums/NotificationType';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n // constructor\r\n constructor(private userService: UserService, private datePipe: DatePipe, private hangfireJobExecutionService: HangfireJobClient,\r\n private commentService: CommentService, private documentService: DocumentService\r\n ) { }\r\n\r\n // get task status text from number\r\n getTaskStatusByNumber(n: number, isApproval: boolean = false) {\r\n\r\n switch (n) {\r\n case 0:\r\n return \"Open\";\r\n case 1:\r\n if (!isApproval) {\r\n return \"Closed\";\r\n } else {\r\n return \"Approved\"\r\n }\r\n\r\n case 4:\r\n return \"Deleted\"\r\n case 5:\r\n return \"Hidden\"\r\n case 6:\r\n return \"Finalized\"\r\n case 7:\r\n return \"In-progress\"\r\n case null:\r\n return \"All status\"\r\n default:\r\n return \"Open\";\r\n }\r\n }\r\n\r\n getPayToText(value: PayToEnum) {\r\n switch (value) {\r\n case null:\r\n return \"All payments\"\r\n case 1:\r\n return 'Insurope';\r\n case 2:\r\n return 'Client';\r\n case 3:\r\n return 'Other';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n async displayTaskAction(task: any): Promise {\r\n let currentUser = await this.userService.getCurrentUser();\r\n let displayActions = true;\r\n switch (task.assignedTo) {\r\n case AssignedTo.NetworkMember:\r\n if (!(await this.userService.isUserInRole(UserRoles.NetworkMember) && currentUser.networkMemberIds.includes(task.networkMemberId)))\r\n displayActions = false;\r\n break;\r\n case AssignedTo.Internal:\r\n if (!await this.userService.isUserInRole(UserRoles.Collaborator))\r\n displayActions = false;\r\n break;\r\n case AssignedTo.Client:\r\n if (!(await this.userService.isUserInRole(UserRoles.Client) && currentUser.clientId == task.clientId))\r\n displayActions = false;\r\n break;\r\n }\r\n return displayActions;\r\n }\r\n\r\n getLastModifiedDate(items: any) {\r\n\r\n var lastModifiedDate = items.reduce((item, curr) => {\r\n return item.lastModified < curr.lastModified ? curr : item;\r\n }).lastModified;\r\n\r\n return \"Last refresh : \" + this.datePipe.transform(lastModifiedDate, \"medium\");\r\n }\r\n\r\n async getHangfireJobStartDateExecution(processName) {\r\n var lastModifiedDate = (await this.hangfireJobExecutionService.getJobInfo(processName).toPromise()).endDate;\r\n return \"Last refresh : \" + this.datePipe.transform(lastModifiedDate, \"medium\")\r\n }\r\n\r\n async treatedByNetworkMember(task: any, service: any): Promise {\r\n const isNetworkMember = await this.userService.isUserInRole(UserRoles.NetworkMember);\r\n const isCollaborator = await this.userService.isUserInRole(UserRoles.Collaborator);\r\n\r\n if ((task.actionPerform == ActionPerform.MarkAsNotDone || task.actionPerform == null) && isNetworkMember) {\r\n if (await service.changeActionPerform(task.id, ActionPerform.MarkAsDone)) {\r\n task.actionPerform = ActionPerform.MarkAsDone;\r\n let fileList: FileParameter[] = [];\r\n\r\n for (let i = 0; i < task.adminDbAttachments.length; i++) {\r\n const file = await this.documentService.getAdminDbDocument(task.adminDbAttachments[i], [task.networkMemberId]);\r\n fileList.push({ data: new Blob([file.data]), fileName: file.fileName });\r\n }\r\n\r\n const commentDto: AddCommentDto = {\r\n taskId: task.id,\r\n content: \"

    The task has been done by Network Member

    \",\r\n processName: task.processId || task.process,\r\n clientName: task.title,\r\n networkMemberName: task.networkMember.accountName,\r\n country: null,\r\n files: fileList,\r\n tags: null,\r\n isDeleted: false,\r\n isEdited: false,\r\n isHtmlText: true,\r\n commentType: CommentType.Comment,\r\n notificationFrequency: NotificationFrequency.Instantly,\r\n notificationType: NotificationType.EmailNotification,\r\n notificationStatus: NotificationStatus.New\r\n };\r\n\r\n await this.commentService.addComment(commentDto);\r\n return true;\r\n }\r\n } else if (task.actionPerform == ActionPerform.MarkAsDone && isCollaborator) {\r\n task.actionPerform = ActionPerform.MarkAsNotDone;\r\n await service.changeActionPerform(task.id, ActionPerform.MarkAsNotDone);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ContactsClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactsService {\r\n\r\n // constructor\r\n constructor(private contactsClient: ContactsClient) { }\r\n\r\n // get primary contact from account\r\n async GetPrimaryContactFromAccount(accountId: string) {\r\n return this.contactsClient.getPrimaryContactFromAccount(accountId).toPromise();\r\n }\r\n \r\n // get consultant contact from account\r\n async GetConsultantContactFromAccount(accountId: string) {\r\n return this.contactsClient.getConsultantContactFromAccount(accountId).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CountriesClient, CountryDto, CountyDto } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountriesService {\r\n\r\n // hold the countries\r\n countries: CountryDto[] = [];\r\n counties:CountyDto[]=[]\r\n\r\n // constructor\r\n constructor(private countriesClient: CountriesClient) {\r\n\r\n // load the countries\r\n this.loadCountries();\r\n this.loadCounties();\r\n\r\n }\r\n\r\n // get the countries method\r\n async loadCountries() {\r\n // save the countries\r\n return this.countries = await this.countriesClient.getCountries().toPromise();\r\n }\r\n async loadCounties() {\r\n // save the countries\r\n this.counties = await this.countriesClient.getCounties().toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DocumentsClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentService {\r\n\r\n constructor(private documentClient: DocumentsClient) { }\r\n\r\n async getDocumentByPath(path: string) {\r\n return await this.documentClient.getDocumentByPath(path).toPromise();\r\n }\r\n async getAdminDbDocument(path: string, networkMemberIds: string[]) {\r\n return await this.documentClient.downloadFile(path, networkMemberIds).toPromise();\r\n }\r\n async geIllustrationtDocument(path: string) {\r\n return await this.documentClient.getIllustrationFile(path).toPromise();\r\n }\r\n async getAdminDbDocToPdf(path: string) {\r\n return await this.documentClient.getAdminDbDocumentInPdf(path).toPromise();\r\n }\r\n\r\n sanitizeFileName(path: string, fileType?: string) {\r\n var pathSplited = path.split('/');\r\n var path = pathSplited[pathSplited.length - 1];\r\n\r\n if (fileType) {\r\n path = path.split('.').slice(0, -1).join('.') + fileType\r\n }\r\n else {\r\n if (path.split('.')[1] == 'docx') {\r\n path = path.split('.').slice(0, -1).join('.') + '.pdf'\r\n }\r\n }\r\n return path;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EmbeddedEnvelope } from 'src/app/models/EmbeddedEnvelope';\r\nimport { DocuSignClient } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ESignatureService {\r\n\r\n // constructor\r\n constructor(private docuSignClient: DocuSignClient) {\r\n }\r\n\r\n async getEmbeddedUrl(embeddedEnvelop: EmbeddedEnvelope) {\r\n\r\n let embeddedUrl = await this.docuSignClient.getDocumentToSignUrl(embeddedEnvelop.SignerName, embeddedEnvelop.SignerEmail, embeddedEnvelop.SignerClientId,\r\n embeddedEnvelop.ReturnUrl, embeddedEnvelop.DocPdf).toPromise();\r\n return embeddedUrl;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport {\r\n FaqCategoriesClient,\r\n FaqCategoryDto,\r\n QuestionClient,\r\n QuestionDto,\r\n UpdateFaqCommand,\r\n UpdateQuestionCommand,\r\n} from \"../web-api-client\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FaqService {\r\n\r\n faqCategories: FaqCategoryDto[] = [];\r\n questions: QuestionDto[] = [];\r\n\r\n constructor(\r\n private faqCategoriesClient: FaqCategoriesClient,\r\n private questionClient: QuestionClient\r\n ) {}\r\n\r\n async getFaqCategories(): Promise {\r\n this.faqCategories = await this.faqCategoriesClient\r\n .getFaqCategories()\r\n .toPromise();\r\n return this.faqCategories;\r\n }\r\n\r\n async addFaqCategory(categoryName: string) {\r\n let newCategory = new FaqCategoryDto();\r\n newCategory.id = await this.faqCategoriesClient.addFaqCategory(categoryName, this.faqCategories.length + 1).toPromise();\r\n newCategory.name = categoryName;\r\n newCategory.sortOrder = this.faqCategories.length + 1;\r\n newCategory.questions = [];\r\n this.faqCategories.push(newCategory);\r\n }\r\n\r\n async updateFaqCateogry(command: FaqCategoryDto) {\r\n await this.faqCategoriesClient.updateFaqCategory(command).toPromise();\r\n }\r\n\r\n getQuestionsOfCategory(categoryId: string) {\r\n return this.faqCategories.find((c) => c.id == categoryId)?.questions;\r\n }\r\n\r\n async deleteFaqCategory(categoryId: string) {\r\n this.faqCategories = this.faqCategories.filter(c => c.id != categoryId);\r\n await this.faqCategoriesClient.deleteFaqCategory(categoryId).toPromise();\r\n }\r\n\r\n async getQuestions(): Promise {\r\n this.questions = await this.questionClient.getQuestions().toPromise();\r\n return this.questions;\r\n }\r\n\r\n async addQuestion(catId: string, title: string, answer: string) {\r\n let question = new QuestionDto();\r\n question.id = await this.faqCategoriesClient.addFaqQuestion(catId, title, answer).toPromise();\r\n question.title = title;\r\n question.answer = answer;\r\n this.questions.push(question);\r\n }\r\n\r\n async updateQuestion(categoryId: string, question: QuestionDto) {\r\n let command = new UpdateQuestionCommand();\r\n command.categoryId = categoryId;\r\n command.question = question;\r\n await this.questionClient.updateQuestion(command).toPromise();\r\n }\r\n\r\n async deleteQuestion(categoryId: string, questionId: string) {\r\n await this.questionClient.deleteQuestion(categoryId, questionId).toPromise();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FilterParameter } from \"src/app/models/FilterPrameter\";\r\nimport { ActionPerform, FileParameter, FileUploadTaskDto, FileUploadTasksClient, SortingElement } from \"src/app/web-api-client\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\n\r\nexport class FileUploadTaskService {\r\n // hold the active task\r\n activeFileUploadTask: FileUploadTaskDto;\r\n processId: string;\r\n\r\n // constructor\r\n constructor(private fileUploadTaskClient: FileUploadTasksClient, private router: Router) { }\r\n\r\n // get the tasks per process for NETWORK MEMBER\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n // get the tasks by process\r\n return await this.fileUploadTaskClient\r\n .getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize)\r\n .toPromise();\r\n }\r\n\r\n // get a task by Id\r\n async getFileUploadTaskById(id: string): Promise {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n try {\r\n // return the task\r\n return await this.fileUploadTaskClient.getById(id).toPromise();\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // get a task by Id and set as active\r\n async getFileUploadTaskByIdAndSetActive(id: string): Promise {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n try {\r\n // save the task\r\n this.activeFileUploadTask = await this.fileUploadTaskClient.getById(id).toPromise();\r\n // return the task\r\n return this.activeFileUploadTask;\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // upload a file\r\n async uploadFileToTask(task: FileUploadTaskDto, file: File, submit: boolean): Promise {\r\n let $parameter: FileParameter;\r\n\r\n //configure paramater\r\n $parameter = { data: new Blob([file]), fileName: file.name };\r\n //upload file\r\n var filePath = await this.fileUploadTaskClient\r\n .uploadFile(task.id, task.processId, submit, $parameter)\r\n .toPromise();\r\n return filePath;\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.fileUploadTaskClient.downloadFile(taskId, fileId, systemAttachment).toPromise();\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.fileUploadTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.fileUploadTaskClient.getTasks(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize)\r\n .toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.fileUploadTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n async changeTaskStatus(id: string, status: number) {\r\n return await this.fileUploadTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n async changeActionPerform(id:string, actionPerform:ActionPerform){\r\n return await this.fileUploadTaskClient.changeActionPerform(id,actionPerform).toPromise();\r\n }\r\n\r\n // remove a file\r\n /**\r\n removeFile(task: FileUploadTask, file: string | ArrayBuffer) {\r\n // get the files of the task\r\n let files = this.fileUploadTasks.find(t => t.Id == task.Id).Files;\r\n // remove the file from the list and save to the files of the task\r\n this.fileUploadTasks.find(t => t.Id == task.Id).Files = files.filter(f => f.content != file);\r\n }*/\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Attachment, CreateIllustrationCommand, CustomFile, IllustrationRequestDto, IllustrationRevisionDto, IllustrationsClient, RejectIllustrationCommand, TasksStatus } from 'src/app/web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IllustrationService {\r\n\r\n // constructor\r\n constructor(private illustrationsClient: IllustrationsClient, private router: Router) { }\r\n\r\n // get the illustrations of my organization\r\n async getMyOrganizationIllustrationsPaginated(clientName: string, status: TasksStatus,subscriberId: string, subscriberEmail:string, dueDate:number, startDate: Date, endDate: Date, pageNumber: number, pageSize: number): Promise {\r\n return await this.illustrationsClient.getMyOrganization(clientName, status, subscriberId, subscriberEmail,dueDate,startDate, endDate, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the illustrations with networkmemberId\r\n async getIllustrationsPaginated(networkMemberIds: string[], clientName: string, status: TasksStatus, subscriberId: string, subscriberEmail:string, dueDate : number, startDate: Date, endDate: Date, pageNumber: number, pageSize: number): Promise {\r\n return await this.illustrationsClient.findIllustration(networkMemberIds, clientName, status, subscriberId, subscriberEmail, dueDate, startDate, endDate, pageNumber, pageSize).toPromise();\r\n }\r\n\r\n // get the illustration by id\r\n async getIllustrationById(id: string): Promise {\r\n try {\r\n // return the illustration\r\n return await this.illustrationsClient.getIllustrationById(id).toPromise();\r\n }\r\n catch (error) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n\r\n // method to create an illustration\r\n async createIllustration(ClientId: string | null,\r\n ClientName: string | null,\r\n CountriesId: string[],\r\n accountRepresentativeEmail,\r\n accountRepresentativeId,\r\n regionalDirectorEmail,\r\n regionalDirectorId,\r\n NetworkMemberId:string,\r\n Files: CustomFile[],\r\n ) {\r\n // create the command\r\n let command = new CreateIllustrationCommand();\r\n command.clientId = ClientId;\r\n command.clientName = ClientName;\r\n command.countriesId = CountriesId;\r\n command.networkMemberId = NetworkMemberId\r\n command.files = Files;\r\n command.accountRepresentativeEmail = accountRepresentativeEmail\r\n command.accountRepresentativeId = accountRepresentativeId\r\n command.regionalDirectorEmail = regionalDirectorEmail\r\n command.regionalDirectorId = regionalDirectorId\r\n // create the illustration\r\n return await this.illustrationsClient.create(command).toPromise();\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.illustrationsClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n async rejectIllustration(accountId,comments,files, opportunityId, userEmailAddress){\r\n let command = new RejectIllustrationCommand()\r\n command.accountId = accountId\r\n command.comments = comments\r\n command.files = files\r\n command.opportunityId = opportunityId\r\n command.userEmailAddress = userEmailAddress\r\n return await this.illustrationsClient.reject(command).toPromise()\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActionPerform, GeneralTaskClient, GeneralTaskDto, SortingElement, Status, TasksStatus, UpsertGeneralTaskCommand } from '../web-api-client';\r\nimport { FilterParameter } from '../models/FilterPrameter';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class InformativeService {\r\n informatives: GeneralTaskDto[] = [];\r\n activeTask: GeneralTaskDto;\r\n constructor(private generalTaskClient: GeneralTaskClient, private router: Router) { }\r\n\r\n //network Member\r\n async getMyOrganization(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.generalTaskClient.getMyOrganization(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n }\r\n\r\n async getMyOrganizationPaginated(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number) {\r\n this.informatives = await this.getMyOrganization(filterParameter, sortingFields, page, pageSize);\r\n this.informatives = this.informatives.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize);\r\n return this.informatives;\r\n }\r\n\r\n async getTasks(filterParameter: FilterParameter, sortingFields: SortingElement[], page: number, pageSize: number): Promise {\r\n return this.generalTaskClient.getTasks(filterParameter.Id,\r\n filterParameter.SourceId,\r\n filterParameter.Title,\r\n filterParameter.SubTitle,\r\n filterParameter.DisplayDate,\r\n filterParameter.ProcessId,\r\n filterParameter.NetworkMemberId,\r\n filterParameter.ClientId,\r\n filterParameter.Country,\r\n filterParameter.Status,\r\n filterParameter.ClientName,\r\n filterParameter.NetworkMemberIds,\r\n filterParameter.SubscriberId,\r\n filterParameter.SearchDateLimit,\r\n filterParameter.OverdueDate,\r\n filterParameter.CreatedDate,\r\n filterParameter.PayTo,\r\n sortingFields,\r\n page,\r\n pageSize).toPromise();\r\n }\r\n\r\n async getInformative(id: string): Promise {\r\n try {\r\n this.activeTask = await this.generalTaskClient.getTasksById(id).toPromise();\r\n return this.activeTask;\r\n }\r\n catch (error) {\r\n if (error.status === 404) {\r\n this.router.navigate(['/404'], { skipLocationChange: true });\r\n }\r\n }\r\n }\r\n\r\n async downloadFile(taskId: string, fileId: string, systemAttachment: boolean) {\r\n return await this.generalTaskClient.downloadFile(taskId, fileId, systemAttachment).toPromise();\r\n }\r\n\r\n async getSubscribersEmails(taskId: string) {\r\n return this.generalTaskClient.getTaskSubscribersByTaskId(taskId).toPromise();\r\n }\r\n\r\n async changeTaskStatus(id: string, status: TasksStatus) {\r\n return await this.generalTaskClient.changeTaskStatus(id, status).toPromise()\r\n }\r\n\r\n async downloadFileFromPath(taskId: string, filePath: string) {\r\n return await this.generalTaskClient.downloadFileFromPath(taskId, filePath).toPromise();\r\n }\r\n async changeActionPerform(id:string, actionPerform:ActionPerform){\r\n return await this.generalTaskClient.changeActionPerform(id,actionPerform).toPromise();\r\n }\r\n async UpsertInformative(networkMemberId :string,title:string,subTitle:string, clientId:string,processId:string,\r\n taskId:string,metadata : string,insuropeSubscribers : string[],status : Status,sourceId : string, country:string, content:string){\r\n\r\n var upsertTask = new UpsertGeneralTaskCommand();\r\n upsertTask.clientId = clientId\r\n upsertTask.processId = processId\r\n upsertTask.taskId = taskId\r\n upsertTask.metaData = metadata\r\n upsertTask.insuropeSubscribers = insuropeSubscribers\r\n upsertTask.title = title\r\n upsertTask.networkMemberId = networkMemberId\r\n upsertTask.subTitle = subTitle\r\n upsertTask.status = status\r\n upsertTask.sourceId = sourceId\r\n upsertTask.country = country\r\n upsertTask.content = content\r\n\r\n return await this.generalTaskClient.upsert(upsertTask).toPromise();\r\n }\r\n async MergeTasks(originTaskId, destinationTaskId){\r\n return await this.generalTaskClient.mergeTasks(originTaskId,destinationTaskId).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountDto, NetworkMembersClient } from 'src/app/web-api-client';\r\nimport * as _ from 'underscore';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkMembersService {\r\n\r\n // constructor\r\n constructor(private networkMembersClient: NetworkMembersClient) { }\r\n\r\n // get the network members by name\r\n async getNetworkMembersByName(name: string, page: number, pageSize: number) {\r\n var networkMemberList: AccountDto[] = await this.networkMembersClient.findNetworkMembersByName(name, page, pageSize).toPromise();\r\n let sortedNetworkMemberList = _.sortBy(_.sortBy(networkMemberList, 'accountName'), 'isAdl');\r\n return sortedNetworkMemberList\r\n }\r\n\r\n // get the network member by id\r\n async getNetworkMemberById(id: string) {\r\n return await this.networkMembersClient.findNetworkMemberById(id).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NotificationClient, NotificationDto, NotificationStatus, UpdateNotificationStatusByCommentIdCommand } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n constructor(private notificationClient: NotificationClient,) { }\r\n\r\n async GetNotificationByCommentId(id){\r\n return await this.notificationClient.notificationsByCommentId(id).toPromise();\r\n }\r\n async ChangeNotificationStatus(commentId:string,status : NotificationStatus ){\r\n var command = new UpdateNotificationStatusByCommentIdCommand();\r\n command.commentId = commentId;\r\n command.status = status\r\n return await this.notificationClient.updateNotificationStatusByCommentId(command).toPromise()\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { OpportunityClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpportunitiesService {\r\n\r\n constructor(private opportunityClient : OpportunityClient) { \r\n }\r\n\r\n async getOpportunitiesBySearchingId(id,page: number, pageSize: number){\r\n return await this.opportunityClient.getOpportunitiesBySearchingId(id,page,pageSize).toPromise()\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nexport enum MessageType {\r\n Error,\r\n Success,\r\n Information,\r\n Warning,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PopupNotificationsService {\r\n\r\n constructor(private toastr: ToastrService) {}\r\n\r\n showMessage(\r\n message: string,\r\n type: MessageType,\r\n duration = 10000\r\n ): void {\r\n switch (type) {\r\n case MessageType.Error:\r\n this.toastr.error(message, \"Error\", {\r\n timeOut: duration\r\n });\r\n break;\r\n case MessageType.Warning:\r\n this.toastr.warning(message, \"Warning\", {\r\n timeOut: duration\r\n });\r\n break;\r\n case MessageType.Success:\r\n this.toastr.success(message, \"Success\", {\r\n timeOut: duration\r\n });\r\n break;\r\n default:\r\n this.toastr.info(message, \"Info\", {\r\n timeOut: duration\r\n });\r\n break;\r\n }\r\n }\r\n\r\n showServerErrorNotification(\r\n error: any\r\n ): void {\r\n switch (error.status) {\r\n case 0:\r\n this.showMessage('The connection to the server has failed, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n case 401:\r\n this.showMessage('An error occured on the authentication, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n case 400:\r\n this.showMessage('A validation error occured, please contact insuropexchange@insurope.com if the error persists.'.concat(error.message), MessageType.Error);\r\n break;\r\n case 404:\r\n case 504:\r\n this.showMessage(error.error.detail, MessageType.Error);\r\n break;\r\n case 403:\r\n this.showMessage('You are not authorized to perform this action, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n break;\r\n default:\r\n this.showMessage('An unexpected error occured, please contact insuropexchange@insurope.com if the error persists.', MessageType.Error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { IdTokenClaims } from '@azure/msal-common';\r\nimport { Consent, UpdateUserConsentsCommand, UserDto, UsersClient } from '../web-api-client';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n isUnauthorized: boolean = false;\r\n loadedUser: boolean = false;\r\n\r\n constructor(private userController: MsalService, private userClient: UsersClient) {\r\n }\r\n\r\n async getCurrentUser(): Promise {\r\n var localStorageUser = localStorage.getItem('user');\r\n if (localStorageUser && (!localStorageUser.includes(\"termsAndConditions\") || !localStorageUser.includes(\"privacyNotices\"))) {\r\n localStorage.removeItem(\"user\");\r\n localStorageUser = null;\r\n }\r\n\r\n var user = JSON.parse(localStorageUser) as UserDto;\r\n if (user && user.email.toLowerCase() != this.getCurrentUserEmail()) {\r\n user = null;\r\n }\r\n\r\n if (!user) {\r\n try {\r\n user = await (this.userClient.getCurrentUser().toPromise());\r\n if (user) {\r\n localStorage.setItem('user', JSON.stringify(user));\r\n this.loadedUser = true;\r\n }\r\n }\r\n catch (error) {\r\n this.isUnauthorized = true;\r\n this.loadedUser = true;\r\n }\r\n }\r\n else {\r\n this.loadedUser = true;\r\n }\r\n\r\n return user;\r\n }\r\n\r\n\r\n getCurrentUserEmail(): string {\r\n var token = this.userController.instance.getActiveAccount()?.idTokenClaims as IdTokenClaims\r\n return token?.emails[0]?.toLowerCase();\r\n }\r\n\r\n async getCurrentUserName() {\r\n var user = await this.getCurrentUser();\r\n return user?.firstName + \" \" + user?.lastName;\r\n }\r\n\r\n async getCurrentUserId() {\r\n var user = await this.getCurrentUser();\r\n return user.id;\r\n }\r\n\r\n async isUserInRole(role: string) {\r\n var user = await this.getCurrentUser();\r\n if (user) {\r\n return (user.roles.findIndex(c => c == role) > -1);\r\n }\r\n return false;\r\n }\r\n\r\n async isFinancial() {\r\n var user = await this.getCurrentUser();\r\n if (user) {\r\n return (user.isFinancial)\r\n }\r\n }\r\n\r\n async logout() {\r\n localStorage.setItem('user', null);\r\n this.userController.logoutRedirect({ account: this.userController.instance.getActiveAccount() });\r\n }\r\n\r\n async getAllUsersByNetworkMemberId(networkMemberId: string) {\r\n return await this.userClient.getUsersByNetworkMemberId(networkMemberId).toPromise();\r\n }\r\n\r\n async getAllUsersByConnectedNetworkMemberId() {\r\n return await this.userClient.getUsersByConnectedNetworkMemberId().toPromise();\r\n }\r\n\r\n async getUserById(id: string) {\r\n return await this.userClient.getUserById(id).toPromise();\r\n }\r\n\r\n async getAllUsers() {\r\n return await this.userClient.getAllUsers().toPromise();\r\n }\r\n\r\n async getPaginatedUsers(pageNumber, pageSize) {\r\n return await this.userClient.getUsers(pageNumber, pageSize).toPromise();\r\n }\r\n\r\n async getUserByIdByNM(id: string, nmIds: string[]) {\r\n return await this.userClient.getUserByIdByNM(id, nmIds).toPromise();\r\n }\r\n\r\n async logUserActivity(userAction: string, userId: string, email: string, path: string) {\r\n return await this.userClient.logUserActivity(userAction, userId, email, path).toPromise();\r\n }\r\n\r\n async getAllSubscriber(email: string) {\r\n return await this.userClient.getAllSubscribeUsers(email).toPromise();\r\n }\r\n\r\n async upsertUser(userId: string, privacyNotices: Consent, TermsAndConditions: Consent) {\r\n var updateConsentCommand = new UpdateUserConsentsCommand();\r\n\r\n updateConsentCommand.userId = userId;\r\n updateConsentCommand.privacyNotice = privacyNotices;\r\n updateConsentCommand.termsAndConditions = TermsAndConditions;\r\n\r\n return await this.userClient.updateUserConsents(updateConsentCommand).toPromise();\r\n }\r\n async getUserByEmail(email:string){\r\n console.log(email);\r\n return await this.userClient.getUserByEmail(email).toPromise();\r\n }\r\n} \r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.18.2.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\r\n\r\nexport interface INotificationClient {\r\n dailyNotification(notificationFrequency: NotificationFrequency | undefined): Observable;\r\n notifyNm(id: string | undefined, processName: string | null | undefined, userType: string | null | undefined, sourceIds: string[]): Observable;\r\n illustrationNotification(illustrationId: string, emails: EmailContact): Observable;\r\n allNotifications(): Observable;\r\n notificationsByCommentId(id: string): Observable;\r\n notificationsByNotificationType(notificationType: NotificationType, notificationFrequency: NotificationFrequency): Observable;\r\n saveNotification(notification: NotificationDto): Observable;\r\n sendEmailNotification(emailMessage: EmailMessageDto): Observable;\r\n sendMultipleEmailNotification(emailMessages: EmailMessageDto[]): Observable;\r\n markNotificationsAsRead(command: UpdateEmailNotificationsStatusCommand): Observable;\r\n updateNotificationStatusByCommentId(command: UpdateNotificationStatusByCommentIdCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationClient implements INotificationClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n dailyNotification(notificationFrequency: NotificationFrequency | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/dailyNotification?\";\r\n if (notificationFrequency === null)\r\n throw new Error(\"The parameter 'notificationFrequency' cannot be null.\");\r\n else if (notificationFrequency !== undefined)\r\n url_ += \"notificationFrequency=\" + encodeURIComponent(\"\" + notificationFrequency) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDailyNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDailyNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDailyNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n notifyNm(id: string | undefined, processName: string | null | undefined, userType: string | null | undefined, sourceIds: string[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/NotifyUsers?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\r\n if (userType !== undefined && userType !== null)\r\n url_ += \"userType=\" + encodeURIComponent(\"\" + userType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(sourceIds);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processNotifyNm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processNotifyNm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processNotifyNm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n illustrationNotification(illustrationId: string, emails: EmailContact): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/IllustrationNotification/{illustrationId}\";\r\n if (illustrationId === undefined || illustrationId === null)\r\n throw new Error(\"The parameter 'illustrationId' must be defined.\");\r\n url_ = url_.replace(\"{illustrationId}\", encodeURIComponent(\"\" + illustrationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emails);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIllustrationNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIllustrationNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIllustrationNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n allNotifications(): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/AllNotifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAllNotifications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllNotifications(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllNotifications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NotificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n notificationsByCommentId(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/Notifications/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processNotificationsByCommentId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processNotificationsByCommentId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processNotificationsByCommentId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NotificationDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n notificationsByNotificationType(notificationType: NotificationType, notificationFrequency: NotificationFrequency): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/NotificationsByType/{notificationType}/{notificationFrequency}\";\r\n if (notificationType === undefined || notificationType === null)\r\n throw new Error(\"The parameter 'notificationType' must be defined.\");\r\n url_ = url_.replace(\"{notificationType}\", encodeURIComponent(\"\" + notificationType));\r\n if (notificationFrequency === undefined || notificationFrequency === null)\r\n throw new Error(\"The parameter 'notificationFrequency' must be defined.\");\r\n url_ = url_.replace(\"{notificationFrequency}\", encodeURIComponent(\"\" + notificationFrequency));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processNotificationsByNotificationType(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processNotificationsByNotificationType(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processNotificationsByNotificationType(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NotificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveNotification(notification: NotificationDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SaveNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(notification);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n sendEmailNotification(emailMessage: EmailMessageDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SendEmailNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emailMessage);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendEmailNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendEmailNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSendEmailNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n sendMultipleEmailNotification(emailMessages: EmailMessageDto[]): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/SendMultipleEmailNotification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(emailMessages);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendMultipleEmailNotification(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendMultipleEmailNotification(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSendMultipleEmailNotification(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n markNotificationsAsRead(command: UpdateEmailNotificationsStatusCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/UpdateEmailNotificationsStatusAsync\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processMarkNotificationsAsRead(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMarkNotificationsAsRead(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processMarkNotificationsAsRead(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateNotificationStatusByCommentId(command: UpdateNotificationStatusByCommentIdCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Notification/UpdateNotificationStatusByCommentId\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateNotificationStatusByCommentId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateNotificationStatusByCommentId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateNotificationStatusByCommentId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IUsersClient {\r\n getUsers(pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n upsertUser(command: UpsertUserCommand): Observable;\r\n getUsersByNetworkMemberId(networkMemberId: string | null | undefined): Observable;\r\n getUsersByConnectedNetworkMemberId(): Observable;\r\n getUserById(id: string): Observable;\r\n getUserByEmail(email: string | null): Observable;\r\n getUserByIdByNM(id: string, nmIds: string[] | null | undefined): Observable;\r\n getCurrentUser(): Observable;\r\n updateUserConsents(command: UpdateUserConsentsCommand): Observable;\r\n getAllUsers(): Observable;\r\n logUserActivity(userAction: string | null | undefined, userId: string | null | undefined, email: string | null | undefined, path: string | null | undefined): Observable;\r\n getAllSubscribeUsers(email: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UsersClient implements IUsersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getUsers(pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users?\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"pageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsertUser(command: UpsertUserCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsertUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsertUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsertUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUsersByNetworkMemberId(networkMemberId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/getUsersByNetworkMemberId?\";\r\n if (networkMemberId !== undefined && networkMemberId !== null)\r\n url_ += \"networkMemberId=\" + encodeURIComponent(\"\" + networkMemberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsersByNetworkMemberId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsersByNetworkMemberId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsersByNetworkMemberId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUsersByConnectedNetworkMemberId(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/getUsersByConnectedNetworkMemberId\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUsersByConnectedNetworkMemberId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsersByConnectedNetworkMemberId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsersByConnectedNetworkMemberId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserById(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserByEmail(email: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/user/getUserByEmail/{email}\";\r\n if (email === undefined || email === null)\r\n throw new Error(\"The parameter 'email' must be defined.\");\r\n url_ = url_.replace(\"{email}\", encodeURIComponent(\"\" + email));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserByEmail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserByEmail(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserByEmail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserByIdByNM(id: string, nmIds: string[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/userByNM/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (nmIds !== undefined && nmIds !== null)\r\n nmIds && nmIds.forEach(item => { url_ += \"nmIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserByIdByNM(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserByIdByNM(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserByIdByNM(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCurrentUser(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/Me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCurrentUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCurrentUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCurrentUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateUserConsents(command: UpdateUserConsentsCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/updateConsents\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateUserConsents(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateUserConsents(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateUserConsents(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllUsers(): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/All\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n logUserActivity(userAction: string | null | undefined, userId: string | null | undefined, email: string | null | undefined, path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/activity?\";\r\n if (userAction !== undefined && userAction !== null)\r\n url_ += \"UserAction=\" + encodeURIComponent(\"\" + userAction) + \"&\";\r\n if (userId !== undefined && userId !== null)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (email !== undefined && email !== null)\r\n url_ += \"Email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"Path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLogUserActivity(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLogUserActivity(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processLogUserActivity(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllSubscribeUsers(email: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Users/getAllSubscribeUsers?\";\r\n if (email !== undefined && email !== null)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllSubscribeUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllSubscribeUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllSubscribeUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IAccountsClient {\r\n getAccountById(id: string | null): Observable;\r\n findAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findAccountsByState(state: string | null | undefined, name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findAccountByName(clientId: string | null | undefined, clientName: string | null | undefined): Observable;\r\n findAccountXesByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findPooledAndProspectAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTechnicalContactByExternalAccountNumber(externalAccountNumber: string | null | undefined): Observable;\r\n getAccountExcelFile(externalAccountNumber: string | null | undefined): Observable;\r\n getAccountExpansionPlan(accountId: string | undefined, sortOrder: string | null | undefined, sortColumn: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsClient implements IAccountsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getAccountById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountsByState(state: string | null | undefined, name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/filterByState?\";\r\n if (state !== undefined && state !== null)\r\n url_ += \"State=\" + encodeURIComponent(\"\" + state) + \"&\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountsByState(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountsByState(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountsByState(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountByName(clientId: string | null | undefined, clientName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/findAccountByName?\";\r\n if (clientId !== undefined && clientId !== null)\r\n url_ += \"ClientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findAccountXesByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/filter/extended?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindAccountXesByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindAccountXesByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindAccountXesByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findPooledAndProspectAccountsByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/pooledandprospect/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindPooledAndProspectAccountsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindPooledAndProspectAccountsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindPooledAndProspectAccountsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTechnicalContactByExternalAccountNumber(externalAccountNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/technicalaccount?\";\r\n if (externalAccountNumber !== undefined && externalAccountNumber !== null)\r\n url_ += \"ExternalAccountNumber=\" + encodeURIComponent(\"\" + externalAccountNumber) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTechnicalContactByExternalAccountNumber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTechnicalContactByExternalAccountNumber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTechnicalContactByExternalAccountNumber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TechnicalContact.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAccountExcelFile(externalAccountNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/excel?\";\r\n if (externalAccountNumber !== undefined && externalAccountNumber !== null)\r\n url_ += \"ExternalAccountNumber=\" + encodeURIComponent(\"\" + externalAccountNumber) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountExcelFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountExcelFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountExcelFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAccountExpansionPlan(accountId: string | undefined, sortOrder: string | null | undefined, sortColumn: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Accounts/expansionPlan?\";\r\n if (accountId === null)\r\n throw new Error(\"The parameter 'accountId' cannot be null.\");\r\n else if (accountId !== undefined)\r\n url_ += \"AccountId=\" + encodeURIComponent(\"\" + accountId) + \"&\";\r\n if (sortOrder !== undefined && sortOrder !== null)\r\n url_ += \"SortOrder=\" + encodeURIComponent(\"\" + sortOrder) + \"&\";\r\n if (sortColumn !== undefined && sortColumn !== null)\r\n url_ += \"SortColumn=\" + encodeURIComponent(\"\" + sortColumn) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAccountExpansionPlan(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAccountExpansionPlan(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAccountExpansionPlan(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfExpansionPlanDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IBooleanTaskClient {\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getBooleanTaskById(taskId: string): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n upsert(request: UpsertBooleanTaskDto): Observable;\r\n batchUpsert(tasks: UpsertBooleanTaskDto[]): Observable;\r\n update(request: UpdateBooleanTaskDto): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BooleanTaskClient implements IBooleanTaskClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BooleanTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBooleanTaskById(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBooleanTaskById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBooleanTaskById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetBooleanTaskById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BooleanTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BooleanTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(request: UpsertBooleanTaskDto): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/upsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(tasks: UpsertBooleanTaskDto[]): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/batchupsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tasks);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(request: UpdateBooleanTaskDto): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/BooleanTask/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICommentsClient {\r\n create(taskId: string, customSubscriberProvider: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, country: string | null | undefined, periodEnd: string | null | undefined, files: FileParameter[] | null | undefined, content: string | null | undefined, tags: string[] | null | undefined, isDeleted: boolean | undefined, isEdited: boolean | undefined, isHtmlText: boolean | undefined, commentType: CommentType | null | undefined, notificationFrequency: NotificationFrequency | undefined, notificationType: NotificationType | undefined, notificationStatus: NotificationStatus | undefined): Observable;\r\n get(taskId: string): Observable;\r\n getDiscussionTaskSubscribers(discussionId: string): Observable;\r\n getIllustrationTaskSubscribers(discussionId: string | undefined, clientSubscribers: TaskUserSusbscriptionDto[] | null | undefined, insuropeSubscribers: TaskUserSusbscriptionDto[] | null | undefined, networkMemberSubscribers: TaskUserSusbscriptionDto[] | null | undefined): Observable;\r\n delete(taskId: string | undefined, commentId: string | undefined): Observable;\r\n downloadFile(commentId: string | undefined, discussionId: string | undefined, fileId: string | undefined): Observable;\r\n update(taskId: string | undefined, lastExported: Date | undefined): Observable;\r\n addCurrentUserToSubscribers(taskId: string): Observable;\r\n addSubscriber(taskId: string | undefined, subscriberId: string | undefined, processId: string | null | undefined): Observable;\r\n deleteSubscriber(taskId: string | undefined, userId: string | undefined): Observable;\r\n getAllAttachments(discussionId: string): Observable;\r\n addCommentTags(tagNames: string[] | null | undefined, taskId: string | undefined, commentId: string | undefined): Observable;\r\n deleteCommentTags(tagId: string | undefined, taskId: string | undefined, commentId: string | undefined): Observable;\r\n getCommentTags(taskId: string | undefined, commentId: string | undefined): Observable;\r\n getDefaultTags(): Observable;\r\n upsertDefaultTag(tagName: string | null | undefined): Observable;\r\n getDiscussionTags(taskId: string | undefined, tagName: string | null | undefined): Observable;\r\n filterCommentsByTag(taskId: string | undefined, name: string | null | undefined): Observable;\r\n editComment(taskId: string | undefined, commentId: string | undefined, content: string | null | undefined, sendNotification: boolean | undefined, periodEnd: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, customSubscriberProvider: string | null | undefined, country: string | null | undefined, title: string | null | undefined, files: FileParameter[] | null | undefined): Observable;\r\n addExternalComment(externalComment: AddExternalCommentsCommand): Observable;\r\n deleteFileFromComment(taskId: string | undefined, fileId: string | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommentsClient implements ICommentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n create(taskId: string, customSubscriberProvider: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, country: string | null | undefined, periodEnd: string | null | undefined, files: FileParameter[] | null | undefined, content: string | null | undefined, tags: string[] | null | undefined, isDeleted: boolean | undefined, isEdited: boolean | undefined, isHtmlText: boolean | undefined, commentType: CommentType | null | undefined, notificationFrequency: NotificationFrequency | undefined, notificationType: NotificationType | undefined, notificationStatus: NotificationStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{taskId}?\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n if (customSubscriberProvider !== undefined && customSubscriberProvider !== null)\r\n url_ += \"customSubscriberProvider=\" + encodeURIComponent(\"\" + customSubscriberProvider) + \"&\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"clientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (networkMemberName !== undefined && networkMemberName !== null)\r\n url_ += \"networkMemberName=\" + encodeURIComponent(\"\" + networkMemberName) + \"&\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n if (periodEnd !== undefined && periodEnd !== null)\r\n url_ += \"periodEnd=\" + encodeURIComponent(\"\" + periodEnd) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (files !== null && files !== undefined)\r\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\r\n if (content !== null && content !== undefined)\r\n content_.append(\"Content\", content.toString());\r\n if (tags !== null && tags !== undefined)\r\n tags.forEach(item_ => content_.append(\"Tags\", item_.toString()));\r\n if (isDeleted === null || isDeleted === undefined)\r\n throw new Error(\"The parameter 'isDeleted' cannot be null.\");\r\n else\r\n content_.append(\"IsDeleted\", isDeleted.toString());\r\n if (isEdited === null || isEdited === undefined)\r\n throw new Error(\"The parameter 'isEdited' cannot be null.\");\r\n else\r\n content_.append(\"IsEdited\", isEdited.toString());\r\n if (isHtmlText === null || isHtmlText === undefined)\r\n throw new Error(\"The parameter 'isHtmlText' cannot be null.\");\r\n else\r\n content_.append(\"IsHtmlText\", isHtmlText.toString());\r\n if (commentType !== null && commentType !== undefined)\r\n content_.append(\"CommentType\", commentType.toString());\r\n if (notificationFrequency === null || notificationFrequency === undefined)\r\n throw new Error(\"The parameter 'notificationFrequency' cannot be null.\");\r\n else\r\n content_.append(\"NotificationFrequency\", notificationFrequency.toString());\r\n if (notificationType === null || notificationType === undefined)\r\n throw new Error(\"The parameter 'notificationType' cannot be null.\");\r\n else\r\n content_.append(\"NotificationType\", notificationType.toString());\r\n if (notificationStatus === null || notificationStatus === undefined)\r\n throw new Error(\"The parameter 'notificationStatus' cannot be null.\");\r\n else\r\n content_.append(\"NotificationStatus\", notificationStatus.toString());\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n get(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiscussionDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDiscussionTaskSubscribers(discussionId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{discussionId}/tasksubscribers\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDiscussionTaskSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDiscussionTaskSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDiscussionTaskSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getIllustrationTaskSubscribers(discussionId: string | undefined, clientSubscribers: TaskUserSusbscriptionDto[] | null | undefined, insuropeSubscribers: TaskUserSusbscriptionDto[] | null | undefined, networkMemberSubscribers: TaskUserSusbscriptionDto[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/illustrationTasksubscribers?\";\r\n if (discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' cannot be null.\");\r\n else if (discussionId !== undefined)\r\n url_ += \"DiscussionId=\" + encodeURIComponent(\"\" + discussionId) + \"&\";\r\n if (clientSubscribers !== undefined && clientSubscribers !== null)\r\n clientSubscribers && clientSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"ClientSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (insuropeSubscribers !== undefined && insuropeSubscribers !== null)\r\n insuropeSubscribers && insuropeSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"InsuropeSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (networkMemberSubscribers !== undefined && networkMemberSubscribers !== null)\r\n networkMemberSubscribers && networkMemberSubscribers.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"NetworkMemberSubscribers[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationTaskSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationTaskSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationTaskSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"commentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(commentId: string | undefined, discussionId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/Download?\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n if (discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' cannot be null.\");\r\n else if (discussionId !== undefined)\r\n url_ += \"DiscussionId=\" + encodeURIComponent(\"\" + discussionId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(taskId: string | undefined, lastExported: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/update?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (lastExported === null)\r\n throw new Error(\"The parameter 'lastExported' cannot be null.\");\r\n else if (lastExported !== undefined)\r\n url_ += \"LastExported=\" + encodeURIComponent(lastExported ? \"\" + lastExported.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addCurrentUserToSubscribers(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addCurrentUserToSubscriber/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddCurrentUserToSubscribers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddCurrentUserToSubscribers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddCurrentUserToSubscribers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addSubscriber(taskId: string | undefined, subscriberId: string | undefined, processId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addSubscriber?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (subscriberId === null)\r\n throw new Error(\"The parameter 'subscriberId' cannot be null.\");\r\n else if (subscriberId !== undefined)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"ProcessId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddSubscriber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddSubscriber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddSubscriber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteSubscriber(taskId: string | undefined, userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteSubscriber?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteSubscriber(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteSubscriber(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteSubscriber(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAllAttachments(discussionId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/{discussionId}/allAttchments\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAllAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAllAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAllAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AttachmentDTO.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addCommentTags(tagNames: string[] | null | undefined, taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/addTagsToComment?\";\r\n if (tagNames !== undefined && tagNames !== null)\r\n tagNames && tagNames.forEach(item => { url_ += \"TagNames=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteCommentTags(tagId: string | undefined, taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteTagsFromComment?\";\r\n if (tagId === null)\r\n throw new Error(\"The parameter 'tagId' cannot be null.\");\r\n else if (tagId !== undefined)\r\n url_ += \"TagId=\" + encodeURIComponent(\"\" + tagId) + \"&\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCommentTags(taskId: string | undefined, commentId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getCommentTags?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (commentId === null)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else if (commentId !== undefined)\r\n url_ += \"CommentId=\" + encodeURIComponent(\"\" + commentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCommentTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCommentTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCommentTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDefaultTags(): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getDefaultTags\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDefaultTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDefaultTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDefaultTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsertDefaultTag(tagName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/upsertDefaultTag?\";\r\n if (tagName !== undefined && tagName !== null)\r\n url_ += \"tagName=\" + encodeURIComponent(\"\" + tagName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsertDefaultTag(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsertDefaultTag(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsertDefaultTag(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentTagDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDiscussionTags(taskId: string | undefined, tagName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/getDiscussionTags?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (tagName !== undefined && tagName !== null)\r\n url_ += \"TagName=\" + encodeURIComponent(\"\" + tagName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDiscussionTags(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDiscussionTags(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDiscussionTags(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentTagDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n filterCommentsByTag(taskId: string | undefined, name: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/FilterCommentsByTag?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFilterCommentsByTag(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFilterCommentsByTag(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFilterCommentsByTag(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n editComment(taskId: string | undefined, commentId: string | undefined, content: string | null | undefined, sendNotification: boolean | undefined, periodEnd: string | null | undefined, processName: string | null | undefined, clientName: string | null | undefined, networkMemberName: string | null | undefined, customSubscriberProvider: string | null | undefined, country: string | null | undefined, title: string | null | undefined, files: FileParameter[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/updateComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (taskId === null || taskId === undefined)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else\r\n content_.append(\"TaskId\", taskId.toString());\r\n if (commentId === null || commentId === undefined)\r\n throw new Error(\"The parameter 'commentId' cannot be null.\");\r\n else\r\n content_.append(\"CommentId\", commentId.toString());\r\n if (content !== null && content !== undefined)\r\n content_.append(\"Content\", content.toString());\r\n if (sendNotification === null || sendNotification === undefined)\r\n throw new Error(\"The parameter 'sendNotification' cannot be null.\");\r\n else\r\n content_.append(\"SendNotification\", sendNotification.toString());\r\n if (periodEnd !== null && periodEnd !== undefined)\r\n content_.append(\"PeriodEnd\", periodEnd.toString());\r\n if (processName !== null && processName !== undefined)\r\n content_.append(\"ProcessName\", processName.toString());\r\n if (clientName !== null && clientName !== undefined)\r\n content_.append(\"ClientName\", clientName.toString());\r\n if (networkMemberName !== null && networkMemberName !== undefined)\r\n content_.append(\"NetworkMemberName\", networkMemberName.toString());\r\n if (customSubscriberProvider !== null && customSubscriberProvider !== undefined)\r\n content_.append(\"CustomSubscriberProvider\", customSubscriberProvider.toString());\r\n if (country !== null && country !== undefined)\r\n content_.append(\"Country\", country.toString());\r\n if (title !== null && title !== undefined)\r\n content_.append(\"Title\", title.toString());\r\n if (files !== null && files !== undefined)\r\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processEditComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processEditComment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processEditComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CommentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addExternalComment(externalComment: AddExternalCommentsCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/AddExternalComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(externalComment);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddExternalComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddExternalComment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddExternalComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CommentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteFileFromComment(taskId: string | undefined, fileId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Comments/deleteFileFromComment?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteFileFromComment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteFileFromComment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteFileFromComment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IContactsClient {\r\n getPrimaryContactFromAccount(accountId: string | null): Observable;\r\n getConsultantContactFromAccount(accountId: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactsClient implements IContactsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getPrimaryContactFromAccount(accountId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Contacts/Account/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetPrimaryContactFromAccount(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPrimaryContactFromAccount(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetPrimaryContactFromAccount(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContactDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getConsultantContactFromAccount(accountId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Contacts/MainConsultant/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetConsultantContactFromAccount(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetConsultantContactFromAccount(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetConsultantContactFromAccount(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContactDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICountriesClient {\r\n getCountries(): Observable;\r\n getCounties(): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountriesClient implements ICountriesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCountries(): Observable {\r\n let url_ = this.baseUrl + \"/api/Countries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCountries(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCountries(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCountries(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCounties(): Observable {\r\n let url_ = this.baseUrl + \"/api/Countries/counties\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCounties(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCounties(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCounties(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountyDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface ICrmAttachmentsClient {\r\n getCrmAccountAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getCrmAccountContractualAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getCrmAccountImportantAttachments(accountId: string | null, type: string | null): Observable;\r\n downloadCrmAttachment(attachmentId: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CrmAttachmentsClient implements ICrmAttachmentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCrmAccountAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfCrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCrmAccountContractualAttachments(accountId: string | null, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}/contractual?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountContractualAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountContractualAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountContractualAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaginatedListOfCrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCrmAccountImportantAttachments(accountId: string | null, type: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/filter/{accountId}/important/{type}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (type === undefined || type === null)\r\n throw new Error(\"The parameter 'type' must be defined.\");\r\n url_ = url_.replace(\"{type}\", encodeURIComponent(\"\" + type));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCrmAccountImportantAttachments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCrmAccountImportantAttachments(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetCrmAccountImportantAttachments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CrmAttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadCrmAttachment(attachmentId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/CrmAttachments/download/{attachmentId}\";\r\n if (attachmentId === undefined || attachmentId === null)\r\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\r\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadCrmAttachment(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadCrmAttachment(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadCrmAttachment(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IDocumentsClient {\r\n downloadFile(path: string | null | undefined, networkMemberIds: string[] | null | undefined): Observable;\r\n getIllustrationFile(path: string | null | undefined): Observable;\r\n getAdminDbDocumentInPdf(path: string | null | undefined): Observable;\r\n getDocumentByPath(path: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentsClient implements IDocumentsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n downloadFile(path: string | null | undefined, networkMemberIds: string[] | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/AdminDb?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"Path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n if (networkMemberIds !== undefined && networkMemberIds !== null)\r\n networkMemberIds && networkMemberIds.forEach(item => { url_ += \"NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getIllustrationFile(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getIllustrationFile?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAdminDbDocumentInPdf(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getAdminDbDocumentInPdf?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetAdminDbDocumentInPdf(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAdminDbDocumentInPdf(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAdminDbDocumentInPdf(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getDocumentByPath(path: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Documents/getDocumentByPath?\";\r\n if (path !== undefined && path !== null)\r\n url_ += \"path=\" + encodeURIComponent(\"\" + path) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDocumentByPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDocumentByPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDocumentByPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IDocuSignClient {\r\n getDocumentToSignUrl(signerName: string | null | undefined, signerEmail: string | null | undefined, signerClientId: string | null | undefined, returnUrl: string | null | undefined, docPdfFile: FileParameter | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocuSignClient implements IDocuSignClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getDocumentToSignUrl(signerName: string | null | undefined, signerEmail: string | null | undefined, signerClientId: string | null | undefined, returnUrl: string | null | undefined, docPdfFile: FileParameter | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/DocuSign?\";\r\n if (signerName !== undefined && signerName !== null)\r\n url_ += \"signerName=\" + encodeURIComponent(\"\" + signerName) + \"&\";\r\n if (signerEmail !== undefined && signerEmail !== null)\r\n url_ += \"signerEmail=\" + encodeURIComponent(\"\" + signerEmail) + \"&\";\r\n if (signerClientId !== undefined && signerClientId !== null)\r\n url_ += \"signerClientId=\" + encodeURIComponent(\"\" + signerClientId) + \"&\";\r\n if (returnUrl !== undefined && returnUrl !== null)\r\n url_ += \"returnUrl=\" + encodeURIComponent(\"\" + returnUrl) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (docPdfFile !== null && docPdfFile !== undefined)\r\n content_.append(\"docPdfFile\", docPdfFile.data, docPdfFile.fileName ? docPdfFile.fileName : \"docPdfFile\");\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetDocumentToSignUrl(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDocumentToSignUrl(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDocumentToSignUrl(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IFaqCategoriesClient {\r\n getFaqCategories(): Observable;\r\n addFaqCategory(name: string | null | undefined, sortOrder: number | undefined): Observable;\r\n deleteFaqCategory(id: string | undefined): Observable;\r\n addFaqQuestion(categoryId: string | undefined, title: string | null | undefined, answer: string | null | undefined): Observable;\r\n updateFaqCategory(command: UpdateFaqCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FaqCategoriesClient implements IFaqCategoriesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFaqCategories(): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFaqCategories(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFaqCategories(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetFaqCategories(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FaqCategoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addFaqCategory(name: string | null | undefined, sortOrder: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (sortOrder === null)\r\n throw new Error(\"The parameter 'sortOrder' cannot be null.\");\r\n else if (sortOrder !== undefined)\r\n url_ += \"sortOrder=\" + encodeURIComponent(\"\" + sortOrder) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteFaqCategory(id: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addFaqQuestion(categoryId: string | undefined, title: string | null | undefined, answer: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories/question?\";\r\n if (categoryId === null)\r\n throw new Error(\"The parameter 'categoryId' cannot be null.\");\r\n else if (categoryId !== undefined)\r\n url_ += \"CategoryId=\" + encodeURIComponent(\"\" + categoryId) + \"&\";\r\n if (title !== undefined && title !== null)\r\n url_ += \"Title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (answer !== undefined && answer !== null)\r\n url_ += \"Answer=\" + encodeURIComponent(\"\" + answer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddFaqQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddFaqQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddFaqQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateFaqCategory(command: UpdateFaqCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/FaqCategories/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateFaqCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateFaqCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateFaqCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IFileUploadTasksClient {\r\n getById(id: string): Observable;\r\n getBySourceId(sourceId: string | null, processId: string | null | undefined): Observable;\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n uploadFile(taskId: string, processId: string | null | undefined, submit: boolean | undefined, file: FileParameter | null | undefined): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n upsert(command: UpsertFileUploadTaskCommand): Observable;\r\n batchUpsert(command: UpsertFileUploadTaskCommand[]): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n copyRemainingAccountInputDoublons(accountYear: string | null | undefined): Observable;\r\n changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadTasksClient implements IFileUploadTasksClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getById(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{Id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{Id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FileUploadTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBySourceId(sourceId: string | null, processId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/sourceId/{sourceId}?\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBySourceId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBySourceId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetBySourceId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FileUploadTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FileUploadTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FileUploadTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n uploadFile(taskId: string, processId: string | null | undefined, submit: boolean | undefined, file: FileParameter | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{taskId}?\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n if (processId !== undefined && processId !== null)\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n if (submit === null)\r\n throw new Error(\"The parameter 'submit' cannot be null.\");\r\n else if (submit !== undefined)\r\n url_ += \"submit=\" + encodeURIComponent(\"\" + submit) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUploadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUploadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n if (systemAttachment === null)\r\n throw new Error(\"The parameter 'systemAttachment' cannot be null.\");\r\n else if (systemAttachment !== undefined)\r\n url_ += \"SystemAttachment=\" + encodeURIComponent(\"\" + systemAttachment) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(command: UpsertFileUploadTaskCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(command: UpsertFileUploadTaskCommand[]): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/batchUpsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n copyRemainingAccountInputDoublons(accountYear: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/CopyRemainingAccountInputDoublons?\";\r\n if (accountYear !== undefined && accountYear !== null)\r\n url_ += \"accountYear=\" + encodeURIComponent(\"\" + accountYear) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCopyRemainingAccountInputDoublons(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCopyRemainingAccountInputDoublons(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCopyRemainingAccountInputDoublons(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/FileUploadTasks/changeActionPerform?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (actionPerform === null)\r\n throw new Error(\"The parameter 'actionPerform' cannot be null.\");\r\n else if (actionPerform !== undefined)\r\n url_ += \"ActionPerform=\" + encodeURIComponent(\"\" + actionPerform) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeActionPerform(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeActionPerform(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeActionPerform(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IGeneralTaskClient {\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n getTasksById(taskId: string): Observable;\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n upsert(command: UpsertGeneralTaskCommand): Observable;\r\n batchUpsert(tasks: UpsertGeneralTaskCommand[]): Observable;\r\n getTaskSubscribersByTaskId(taskId: string): Observable;\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable;\r\n changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable;\r\n mergeTasks(originTaskId: string | undefined, destinationTaskId: string | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeneralTaskClient implements IGeneralTaskClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getMyOrganization(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/myOrganization?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeneralTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasksById(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/{taskId}\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasksById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasksById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasksById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GeneralTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTasks(filterParameter_Id: string | undefined, filterParameter_SourceId: string | null | undefined, filterParameter_Title: string | null | undefined, filterParameter_SubTitle: string | null | undefined, filterParameter_DisplayDate: Date | undefined, filterParameter_ProcessId: string | null | undefined, filterParameter_NetworkMemberId: string | null | undefined, filterParameter_ClientId: string | null | undefined, filterParameter_Country: string | null | undefined, filterParameter_Status: TasksStatus | null | undefined, filterParameter_ClientName: string | null | undefined, filterParameter_NetworkMemberIds: string[] | null | undefined, filterParameter_SubscriberId: string | null | undefined, filterParameter_SearchDateLimit: Date | null | undefined, filterParameter_OverdueDate: number | null | undefined, filterParameter_ModifiedDate: Date | null | undefined, filterParameter_PayTo: PayToEnum | null | undefined, sortingElements: SortingElement[] | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/filter?\";\r\n if (filterParameter_Id === null)\r\n throw new Error(\"The parameter 'filterParameter_Id' cannot be null.\");\r\n else if (filterParameter_Id !== undefined)\r\n url_ += \"FilterParameter.Id=\" + encodeURIComponent(\"\" + filterParameter_Id) + \"&\";\r\n if (filterParameter_SourceId !== undefined && filterParameter_SourceId !== null)\r\n url_ += \"FilterParameter.SourceId=\" + encodeURIComponent(\"\" + filterParameter_SourceId) + \"&\";\r\n if (filterParameter_Title !== undefined && filterParameter_Title !== null)\r\n url_ += \"FilterParameter.Title=\" + encodeURIComponent(\"\" + filterParameter_Title) + \"&\";\r\n if (filterParameter_SubTitle !== undefined && filterParameter_SubTitle !== null)\r\n url_ += \"FilterParameter.SubTitle=\" + encodeURIComponent(\"\" + filterParameter_SubTitle) + \"&\";\r\n if (filterParameter_DisplayDate === null)\r\n throw new Error(\"The parameter 'filterParameter_DisplayDate' cannot be null.\");\r\n else if (filterParameter_DisplayDate !== undefined)\r\n url_ += \"FilterParameter.DisplayDate=\" + encodeURIComponent(filterParameter_DisplayDate ? \"\" + filterParameter_DisplayDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_ProcessId !== undefined && filterParameter_ProcessId !== null)\r\n url_ += \"FilterParameter.ProcessId=\" + encodeURIComponent(\"\" + filterParameter_ProcessId) + \"&\";\r\n if (filterParameter_NetworkMemberId !== undefined && filterParameter_NetworkMemberId !== null)\r\n url_ += \"FilterParameter.NetworkMemberId=\" + encodeURIComponent(\"\" + filterParameter_NetworkMemberId) + \"&\";\r\n if (filterParameter_ClientId !== undefined && filterParameter_ClientId !== null)\r\n url_ += \"FilterParameter.ClientId=\" + encodeURIComponent(\"\" + filterParameter_ClientId) + \"&\";\r\n if (filterParameter_Country !== undefined && filterParameter_Country !== null)\r\n url_ += \"FilterParameter.Country=\" + encodeURIComponent(\"\" + filterParameter_Country) + \"&\";\r\n if (filterParameter_Status !== undefined && filterParameter_Status !== null)\r\n url_ += \"FilterParameter.Status=\" + encodeURIComponent(\"\" + filterParameter_Status) + \"&\";\r\n if (filterParameter_ClientName !== undefined && filterParameter_ClientName !== null)\r\n url_ += \"FilterParameter.ClientName=\" + encodeURIComponent(\"\" + filterParameter_ClientName) + \"&\";\r\n if (filterParameter_NetworkMemberIds !== undefined && filterParameter_NetworkMemberIds !== null)\r\n filterParameter_NetworkMemberIds && filterParameter_NetworkMemberIds.forEach(item => { url_ += \"FilterParameter.NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (filterParameter_SubscriberId !== undefined && filterParameter_SubscriberId !== null)\r\n url_ += \"FilterParameter.SubscriberId=\" + encodeURIComponent(\"\" + filterParameter_SubscriberId) + \"&\";\r\n if (filterParameter_SearchDateLimit !== undefined && filterParameter_SearchDateLimit !== null)\r\n url_ += \"FilterParameter.SearchDateLimit=\" + encodeURIComponent(filterParameter_SearchDateLimit ? \"\" + filterParameter_SearchDateLimit.toISOString() : \"\") + \"&\";\r\n if (filterParameter_OverdueDate !== undefined && filterParameter_OverdueDate !== null)\r\n url_ += \"FilterParameter.OverdueDate=\" + encodeURIComponent(\"\" + filterParameter_OverdueDate) + \"&\";\r\n if (filterParameter_ModifiedDate !== undefined && filterParameter_ModifiedDate !== null)\r\n url_ += \"FilterParameter.ModifiedDate=\" + encodeURIComponent(filterParameter_ModifiedDate ? \"\" + filterParameter_ModifiedDate.toISOString() : \"\") + \"&\";\r\n if (filterParameter_PayTo !== undefined && filterParameter_PayTo !== null)\r\n url_ += \"FilterParameter.PayTo=\" + encodeURIComponent(\"\" + filterParameter_PayTo) + \"&\";\r\n if (sortingElements !== undefined && sortingElements !== null)\r\n sortingElements && sortingElements.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"SortingElements[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeneralTaskDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFile(taskId: string | undefined, fileId: string | undefined, systemAttachment: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/Download?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (fileId === null)\r\n throw new Error(\"The parameter 'fileId' cannot be null.\");\r\n else if (fileId !== undefined)\r\n url_ += \"FileId=\" + encodeURIComponent(\"\" + fileId) + \"&\";\r\n if (systemAttachment === null)\r\n throw new Error(\"The parameter 'systemAttachment' cannot be null.\");\r\n else if (systemAttachment !== undefined)\r\n url_ += \"SystemAttachment=\" + encodeURIComponent(\"\" + systemAttachment) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/downloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n upsert(command: UpsertGeneralTaskCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n batchUpsert(tasks: UpsertGeneralTaskCommand[]): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/batchupsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tasks);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processBatchUpsert(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processBatchUpsert(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processBatchUpsert(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTaskSubscribersByTaskId(taskId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/{taskId}/tasksubscribers\";\r\n if (taskId === undefined || taskId === null)\r\n throw new Error(\"The parameter 'taskId' must be defined.\");\r\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetTaskSubscribersByTaskId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTaskSubscribersByTaskId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTaskSubscribersByTaskId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TaskSubscribersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTaskStatus(id: string | undefined, status: TasksStatus | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/updateTaskStatus?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeTaskStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTaskStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTaskStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeActionPerform(id: string | undefined, actionPerform: ActionPerform | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/changeActionPerform?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (actionPerform === null)\r\n throw new Error(\"The parameter 'actionPerform' cannot be null.\");\r\n else if (actionPerform !== undefined)\r\n url_ += \"ActionPerform=\" + encodeURIComponent(\"\" + actionPerform) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeActionPerform(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeActionPerform(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeActionPerform(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n mergeTasks(originTaskId: string | undefined, destinationTaskId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/GeneralTask/merge?\";\r\n if (originTaskId === null)\r\n throw new Error(\"The parameter 'originTaskId' cannot be null.\");\r\n else if (originTaskId !== undefined)\r\n url_ += \"OriginTaskId=\" + encodeURIComponent(\"\" + originTaskId) + \"&\";\r\n if (destinationTaskId === null)\r\n throw new Error(\"The parameter 'destinationTaskId' cannot be null.\");\r\n else if (destinationTaskId !== undefined)\r\n url_ += \"DestinationTaskId=\" + encodeURIComponent(\"\" + destinationTaskId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processMergeTasks(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMergeTasks(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processMergeTasks(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GeneralTaskDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IHangfireJobClient {\r\n updateJob(command: UpdateHangfireJobCommand): Observable;\r\n getJobInfo(processName: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HangfireJobClient implements IHangfireJobClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n updateJob(command: UpdateHangfireJobCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/HangfireJob/upsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateJob(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateJob(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateJob(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getJobInfo(processName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/HangfireJob/getJobInfo?\";\r\n if (processName !== undefined && processName !== null)\r\n url_ += \"processName=\" + encodeURIComponent(\"\" + processName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetJobInfo(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetJobInfo(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetJobInfo(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = JobExecutionInfoDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IIllustrationsClient {\r\n getIllustrationById(id: string | null): Observable;\r\n getMyOrganization(clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findIllustration(networkMemberIds: string[] | undefined, clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n create(command: CreateIllustrationCommand): Observable;\r\n reject(command: RejectIllustrationCommand): Observable;\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IllustrationsClient implements IIllustrationsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getIllustrationById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetIllustrationById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetIllustrationById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetIllustrationById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = IllustrationRequestDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getMyOrganization(clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/myOrganization?\";\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (status !== undefined && status !== null)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n if (subscriberId !== undefined && subscriberId !== null)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (subscriberEmail !== undefined && subscriberEmail !== null)\r\n url_ += \"SubscriberEmail=\" + encodeURIComponent(\"\" + subscriberEmail) + \"&\";\r\n if (dueDate !== undefined && dueDate !== null)\r\n url_ += \"DueDate=\" + encodeURIComponent(\"\" + dueDate) + \"&\";\r\n if (startDate !== undefined && startDate !== null)\r\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate !== undefined && endDate !== null)\r\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetMyOrganization(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetMyOrganization(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetMyOrganization(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IllustrationRequestDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findIllustration(networkMemberIds: string[] | undefined, clientName: string | null | undefined, status: TasksStatus | null | undefined, subscriberId: string | null | undefined, subscriberEmail: string | null | undefined, dueDate: number | null | undefined, startDate: Date | null | undefined, endDate: Date | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/filter?\";\r\n if (networkMemberIds === null)\r\n throw new Error(\"The parameter 'networkMemberIds' cannot be null.\");\r\n else if (networkMemberIds !== undefined)\r\n networkMemberIds && networkMemberIds.forEach(item => { url_ += \"NetworkMemberIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (clientName !== undefined && clientName !== null)\r\n url_ += \"ClientName=\" + encodeURIComponent(\"\" + clientName) + \"&\";\r\n if (status !== undefined && status !== null)\r\n url_ += \"Status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n if (subscriberId !== undefined && subscriberId !== null)\r\n url_ += \"SubscriberId=\" + encodeURIComponent(\"\" + subscriberId) + \"&\";\r\n if (subscriberEmail !== undefined && subscriberEmail !== null)\r\n url_ += \"SubscriberEmail=\" + encodeURIComponent(\"\" + subscriberEmail) + \"&\";\r\n if (dueDate !== undefined && dueDate !== null)\r\n url_ += \"DueDate=\" + encodeURIComponent(\"\" + dueDate) + \"&\";\r\n if (startDate !== undefined && startDate !== null)\r\n url_ += \"StartDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate !== undefined && endDate !== null)\r\n url_ += \"EndDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindIllustration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindIllustration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindIllustration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IllustrationRequestDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(command: CreateIllustrationCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n reject(command: RejectIllustrationCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/reject\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processReject(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processReject(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processReject(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n downloadFileFromPath(taskId: string | undefined, attachmentPath: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Illustrations/DownloadFromPath?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"TaskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (attachmentPath !== undefined && attachmentPath !== null)\r\n url_ += \"AttachmentPath=\" + encodeURIComponent(\"\" + attachmentPath) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadFileFromPath(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadFileFromPath(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownloadFileFromPath(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface INetworkMembersClient {\r\n findNetworkMembersByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n findNetworkMemberById(id: string | null): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkMembersClient implements INetworkMembersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n findNetworkMembersByName(name: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/NetworkMembers/filter?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindNetworkMembersByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindNetworkMembersByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindNetworkMembersByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n findNetworkMemberById(id: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/NetworkMembers/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processFindNetworkMemberById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFindNetworkMemberById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFindNetworkMemberById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IOpportunityClient {\r\n getOpportunities(): Observable;\r\n getOpportunitiesBySearchingId(id: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpportunityClient implements IOpportunityClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getOpportunities(): Observable {\r\n let url_ = this.baseUrl + \"/api/Opportunity\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetOpportunities(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetOpportunities(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetOpportunities(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpportunityDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getOpportunitiesBySearchingId(id: string | null | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Opportunity/searchingId?\";\r\n if (id !== undefined && id !== null)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (pageNumber === null)\r\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\r\n else if (pageNumber !== undefined)\r\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetOpportunitiesBySearchingId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetOpportunitiesBySearchingId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetOpportunitiesBySearchingId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpportunityDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IQuestionClient {\r\n getQuestions(): Observable;\r\n addQuestion(title: string | null | undefined, answer: string | null | undefined): Observable;\r\n deleteQuestion(categoryId: string | undefined, questionId: string | undefined): Observable;\r\n updateQuestion(command: UpdateQuestionCommand): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuestionClient implements IQuestionClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getQuestions(): Observable {\r\n let url_ = this.baseUrl + \"/api/Question\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetQuestions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetQuestions(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetQuestions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(QuestionDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addQuestion(title: string | null | undefined, answer: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Question?\";\r\n if (title !== undefined && title !== null)\r\n url_ += \"title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (answer !== undefined && answer !== null)\r\n url_ += \"answer=\" + encodeURIComponent(\"\" + answer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteQuestion(categoryId: string | undefined, questionId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Question?\";\r\n if (categoryId === null)\r\n throw new Error(\"The parameter 'categoryId' cannot be null.\");\r\n else if (categoryId !== undefined)\r\n url_ += \"CategoryId=\" + encodeURIComponent(\"\" + categoryId) + \"&\";\r\n if (questionId === null)\r\n throw new Error(\"The parameter 'questionId' cannot be null.\");\r\n else if (questionId !== undefined)\r\n url_ += \"QuestionId=\" + encodeURIComponent(\"\" + questionId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDeleteQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateQuestion(command: UpdateQuestionCommand): Observable {\r\n let url_ = this.baseUrl + \"/api/Question/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateQuestion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateQuestion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateQuestion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Unit.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IReportingClient {\r\n getToken(reportName: string | null | undefined): Observable;\r\n getReportsName(): Observable;\r\n getReportAccessRolesByCategory(category: SettingCategory): Observable;\r\n getSettingsByName(name: string | null): Observable;\r\n createSettings(newReportSettings: NewPowerBiReportSettings): Observable;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportingClient implements IReportingClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getToken(reportName: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/token?\";\r\n if (reportName !== undefined && reportName !== null)\r\n url_ += \"ReportName=\" + encodeURIComponent(\"\" + reportName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EmbedParamsDTO.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getReportsName(): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/reports\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetReportsName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReportsName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetReportsName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PowerBiReportDetails.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getReportAccessRolesByCategory(category: SettingCategory): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/category/{category}\";\r\n if (category === undefined || category === null)\r\n throw new Error(\"The parameter 'category' must be defined.\");\r\n url_ = url_.replace(\"{category}\", encodeURIComponent(\"\" + category));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetReportAccessRolesByCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReportAccessRolesByCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetReportAccessRolesByCategory(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReportAccessRoles.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getSettingsByName(name: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/name/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetSettingsByName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSettingsByName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetSettingsByName(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportAccessRoles.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createSettings(newReportSettings: NewPowerBiReportSettings): Observable {\r\n let url_ = this.baseUrl + \"/api/Reporting/settings/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newReportSettings);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReportAccessRoles.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n/** Represents a void type, since Void is not a valid return type in C#. */\r\nexport class Unit implements IUnit {\r\n\r\n constructor(data?: IUnit) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): Unit {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Unit();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents a void type, since Void is not a valid return type in C#. */\r\nexport interface IUnit {\r\n}\r\n\r\nexport enum NotificationFrequency {\r\n Daily = 1,\r\n Weekly = 2,\r\n Instantly = 3,\r\n Scheduled = 4,\r\n Ignore = 5,\r\n Reccurent = 6,\r\n}\r\n\r\nexport class EmailContact implements IEmailContact {\r\n illustrationRevisionId?: string;\r\n toEmails?: string[];\r\n ccEmails?: string[];\r\n\r\n constructor(data?: IEmailContact) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.illustrationRevisionId = _data[\"illustrationRevisionId\"];\r\n if (Array.isArray(_data[\"toEmails\"])) {\r\n this.toEmails = [] as any;\r\n for (let item of _data[\"toEmails\"])\r\n this.toEmails!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccEmails\"])) {\r\n this.ccEmails = [] as any;\r\n for (let item of _data[\"ccEmails\"])\r\n this.ccEmails!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailContact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailContact();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"illustrationRevisionId\"] = this.illustrationRevisionId;\r\n if (Array.isArray(this.toEmails)) {\r\n data[\"toEmails\"] = [];\r\n for (let item of this.toEmails)\r\n data[\"toEmails\"].push(item);\r\n }\r\n if (Array.isArray(this.ccEmails)) {\r\n data[\"ccEmails\"] = [];\r\n for (let item of this.ccEmails)\r\n data[\"ccEmails\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailContact {\r\n illustrationRevisionId?: string;\r\n toEmails?: string[];\r\n ccEmails?: string[];\r\n}\r\n\r\nexport abstract class AuditableEntity implements IAuditableEntity {\r\n created?: Date;\r\n createdBy?: string | undefined;\r\n lastModified?: Date | undefined;\r\n lastModifiedBy?: string | undefined;\r\n\r\n constructor(data?: IAuditableEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.lastModified = _data[\"lastModified\"] ? new Date(_data[\"lastModified\"].toString()) : undefined;\r\n this.lastModifiedBy = _data[\"lastModifiedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditableEntity {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'AuditableEntity' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"lastModified\"] = this.lastModified ? this.lastModified.toISOString() : undefined;\r\n data[\"lastModifiedBy\"] = this.lastModifiedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuditableEntity {\r\n created?: Date;\r\n createdBy?: string | undefined;\r\n lastModified?: Date | undefined;\r\n lastModifiedBy?: string | undefined;\r\n}\r\n\r\nexport class NotificationDto extends AuditableEntity implements INotificationDto {\r\n id?: string;\r\n subject?: string;\r\n message?: string;\r\n status?: NotificationStatus;\r\n discussionId?: string;\r\n commentId?: string;\r\n processId?: string | undefined;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n emailMessage?: EmailMessageDto | undefined;\r\n userStatus?: UserStatus | undefined;\r\n occurencyDaysNumber?: number;\r\n\r\n constructor(data?: INotificationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.message = _data[\"message\"];\r\n this.status = _data[\"status\"];\r\n this.discussionId = _data[\"discussionId\"];\r\n this.commentId = _data[\"commentId\"];\r\n this.processId = _data[\"processId\"];\r\n this.notificationFrequency = _data[\"notificationFrequency\"];\r\n this.notificationType = _data[\"notificationType\"];\r\n this.emailMessage = _data[\"emailMessage\"] ? EmailMessageDto.fromJS(_data[\"emailMessage\"]) : undefined;\r\n this.userStatus = _data[\"userStatus\"] ? UserStatus.fromJS(_data[\"userStatus\"]) : undefined;\r\n this.occurencyDaysNumber = _data[\"occurencyDaysNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"message\"] = this.message;\r\n data[\"status\"] = this.status;\r\n data[\"discussionId\"] = this.discussionId;\r\n data[\"commentId\"] = this.commentId;\r\n data[\"processId\"] = this.processId;\r\n data[\"notificationFrequency\"] = this.notificationFrequency;\r\n data[\"notificationType\"] = this.notificationType;\r\n data[\"emailMessage\"] = this.emailMessage ? this.emailMessage.toJSON() : undefined;\r\n data[\"userStatus\"] = this.userStatus ? this.userStatus.toJSON() : undefined;\r\n data[\"occurencyDaysNumber\"] = this.occurencyDaysNumber;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationDto extends IAuditableEntity {\r\n id?: string;\r\n subject?: string;\r\n message?: string;\r\n status?: NotificationStatus;\r\n discussionId?: string;\r\n commentId?: string;\r\n processId?: string | undefined;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n emailMessage?: EmailMessageDto | undefined;\r\n userStatus?: UserStatus | undefined;\r\n occurencyDaysNumber?: number;\r\n}\r\n\r\nexport enum NotificationStatus {\r\n New = 0,\r\n Read = 1,\r\n Unread = 2,\r\n Deleted = 3,\r\n Sent = 4,\r\n Stopped = 5,\r\n}\r\n\r\nexport enum NotificationType {\r\n EmailNotification = 0,\r\n WebNotification = 1,\r\n SmsNotification = 2,\r\n}\r\n\r\nexport class EmailMessageDto implements IEmailMessageDto {\r\n recipientsId?: string[];\r\n recipientsEmail?: string[];\r\n ccRecipientsId?: string[];\r\n ccRecipientsEmails?: string[];\r\n subject?: string;\r\n introduction?: string;\r\n buttonText?: string;\r\n buttonLink?: string;\r\n afterButtonText?: string;\r\n footer?: string;\r\n attachments?: UploadFileDto[];\r\n\r\n constructor(data?: IEmailMessageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"recipientsId\"])) {\r\n this.recipientsId = [] as any;\r\n for (let item of _data[\"recipientsId\"])\r\n this.recipientsId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"recipientsEmail\"])) {\r\n this.recipientsEmail = [] as any;\r\n for (let item of _data[\"recipientsEmail\"])\r\n this.recipientsEmail!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccRecipientsId\"])) {\r\n this.ccRecipientsId = [] as any;\r\n for (let item of _data[\"ccRecipientsId\"])\r\n this.ccRecipientsId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ccRecipientsEmails\"])) {\r\n this.ccRecipientsEmails = [] as any;\r\n for (let item of _data[\"ccRecipientsEmails\"])\r\n this.ccRecipientsEmails!.push(item);\r\n }\r\n this.subject = _data[\"subject\"];\r\n this.introduction = _data[\"introduction\"];\r\n this.buttonText = _data[\"buttonText\"];\r\n this.buttonLink = _data[\"buttonLink\"];\r\n this.afterButtonText = _data[\"afterButtonText\"];\r\n this.footer = _data[\"footer\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(UploadFileDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailMessageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailMessageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.recipientsId)) {\r\n data[\"recipientsId\"] = [];\r\n for (let item of this.recipientsId)\r\n data[\"recipientsId\"].push(item);\r\n }\r\n if (Array.isArray(this.recipientsEmail)) {\r\n data[\"recipientsEmail\"] = [];\r\n for (let item of this.recipientsEmail)\r\n data[\"recipientsEmail\"].push(item);\r\n }\r\n if (Array.isArray(this.ccRecipientsId)) {\r\n data[\"ccRecipientsId\"] = [];\r\n for (let item of this.ccRecipientsId)\r\n data[\"ccRecipientsId\"].push(item);\r\n }\r\n if (Array.isArray(this.ccRecipientsEmails)) {\r\n data[\"ccRecipientsEmails\"] = [];\r\n for (let item of this.ccRecipientsEmails)\r\n data[\"ccRecipientsEmails\"].push(item);\r\n }\r\n data[\"subject\"] = this.subject;\r\n data[\"introduction\"] = this.introduction;\r\n data[\"buttonText\"] = this.buttonText;\r\n data[\"buttonLink\"] = this.buttonLink;\r\n data[\"afterButtonText\"] = this.afterButtonText;\r\n data[\"footer\"] = this.footer;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailMessageDto {\r\n recipientsId?: string[];\r\n recipientsEmail?: string[];\r\n ccRecipientsId?: string[];\r\n ccRecipientsEmails?: string[];\r\n subject?: string;\r\n introduction?: string;\r\n buttonText?: string;\r\n buttonLink?: string;\r\n afterButtonText?: string;\r\n footer?: string;\r\n attachments?: UploadFileDto[];\r\n}\r\n\r\nexport class UploadFileDto implements IUploadFileDto {\r\n file?: string;\r\n fileName?: string;\r\n fileType?: string;\r\n fileDate?: Date;\r\n\r\n constructor(data?: IUploadFileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UploadFileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UploadFileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUploadFileDto {\r\n file?: string;\r\n fileName?: string;\r\n fileType?: string;\r\n fileDate?: Date;\r\n}\r\n\r\nexport class UserStatus implements IUserStatus {\r\n userId?: string;\r\n status?: NotificationStatus;\r\n modifiedDateTime?: Date;\r\n\r\n constructor(data?: IUserStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.status = _data[\"status\"];\r\n this.modifiedDateTime = _data[\"modifiedDateTime\"] ? new Date(_data[\"modifiedDateTime\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"status\"] = this.status;\r\n data[\"modifiedDateTime\"] = this.modifiedDateTime ? this.modifiedDateTime.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserStatus {\r\n userId?: string;\r\n status?: NotificationStatus;\r\n modifiedDateTime?: Date;\r\n}\r\n\r\nexport class UpdateEmailNotificationsStatusCommand implements IUpdateEmailNotificationsStatusCommand {\r\n notificationIds?: string[];\r\n status?: NotificationStatus;\r\n\r\n constructor(data?: IUpdateEmailNotificationsStatusCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"notificationIds\"])) {\r\n this.notificationIds = [] as any;\r\n for (let item of _data[\"notificationIds\"])\r\n this.notificationIds!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateEmailNotificationsStatusCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateEmailNotificationsStatusCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.notificationIds)) {\r\n data[\"notificationIds\"] = [];\r\n for (let item of this.notificationIds)\r\n data[\"notificationIds\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateEmailNotificationsStatusCommand {\r\n notificationIds?: string[];\r\n status?: NotificationStatus;\r\n}\r\n\r\nexport class UpdateNotificationStatusByCommentIdCommand implements IUpdateNotificationStatusByCommentIdCommand {\r\n commentId?: string;\r\n status?: NotificationStatus;\r\n\r\n constructor(data?: IUpdateNotificationStatusByCommentIdCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.commentId = _data[\"commentId\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateNotificationStatusByCommentIdCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateNotificationStatusByCommentIdCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"commentId\"] = this.commentId;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateNotificationStatusByCommentIdCommand {\r\n commentId?: string;\r\n status?: NotificationStatus;\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n crmSourceId?: string;\r\n isPrimary?: boolean;\r\n contactMailing?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotices?: Consent;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.invitatedToAzure = _data[\"invitatedToAzure\"];\r\n this.crmSourceId = _data[\"crmSourceId\"];\r\n this.isPrimary = _data[\"isPrimary\"];\r\n this.contactMailing = _data[\"contactMailing\"];\r\n this.termsAndConditions = _data[\"termsAndConditions\"] ? Consent.fromJS(_data[\"termsAndConditions\"]) : undefined;\r\n this.privacyNotices = _data[\"privacyNotices\"] ? Consent.fromJS(_data[\"privacyNotices\"]) : undefined;\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"reportsAccessRoles\"])) {\r\n this.reportsAccessRoles = [] as any;\r\n for (let item of _data[\"reportsAccessRoles\"])\r\n this.reportsAccessRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"invitatedToAzure\"] = this.invitatedToAzure;\r\n data[\"crmSourceId\"] = this.crmSourceId;\r\n data[\"isPrimary\"] = this.isPrimary;\r\n data[\"contactMailing\"] = this.contactMailing;\r\n data[\"termsAndConditions\"] = this.termsAndConditions ? this.termsAndConditions.toJSON() : undefined;\r\n data[\"privacyNotices\"] = this.privacyNotices ? this.privacyNotices.toJSON() : undefined;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n if (Array.isArray(this.reportsAccessRoles)) {\r\n data[\"reportsAccessRoles\"] = [];\r\n for (let item of this.reportsAccessRoles)\r\n data[\"reportsAccessRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n crmSourceId?: string;\r\n isPrimary?: boolean;\r\n contactMailing?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotices?: Consent;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n}\r\n\r\nexport class Consent implements IConsent {\r\n isMandatory?: boolean;\r\n approved?: boolean;\r\n approvedDate?: Date | undefined;\r\n version?: string | undefined;\r\n\r\n constructor(data?: IConsent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isMandatory = _data[\"isMandatory\"];\r\n this.approved = _data[\"approved\"];\r\n this.approvedDate = _data[\"approvedDate\"] ? new Date(_data[\"approvedDate\"].toString()) : undefined;\r\n this.version = _data[\"version\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Consent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Consent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isMandatory\"] = this.isMandatory;\r\n data[\"approved\"] = this.approved;\r\n data[\"approvedDate\"] = this.approvedDate ? this.approvedDate.toISOString() : undefined;\r\n data[\"version\"] = this.version;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConsent {\r\n isMandatory?: boolean;\r\n approved?: boolean;\r\n approvedDate?: Date | undefined;\r\n version?: string | undefined;\r\n}\r\n\r\nexport class UpsertUserCommand implements IUpsertUserCommand {\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n termsAndCondition?: Consent;\r\n privacyNotice?: Consent;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n\r\n constructor(data?: IUpsertUserCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.termsAndCondition = _data[\"termsAndCondition\"] ? Consent.fromJS(_data[\"termsAndCondition\"]) : undefined;\r\n this.privacyNotice = _data[\"privacyNotice\"] ? Consent.fromJS(_data[\"privacyNotice\"]) : undefined;\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.invitatedToAzure = _data[\"invitatedToAzure\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"reportsAccessRoles\"])) {\r\n this.reportsAccessRoles = [] as any;\r\n for (let item of _data[\"reportsAccessRoles\"])\r\n this.reportsAccessRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertUserCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"termsAndCondition\"] = this.termsAndCondition ? this.termsAndCondition.toJSON() : undefined;\r\n data[\"privacyNotice\"] = this.privacyNotice ? this.privacyNotice.toJSON() : undefined;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"invitatedToAzure\"] = this.invitatedToAzure;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n if (Array.isArray(this.reportsAccessRoles)) {\r\n data[\"reportsAccessRoles\"] = [];\r\n for (let item of this.reportsAccessRoles)\r\n data[\"reportsAccessRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertUserCommand {\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberId?: string;\r\n networkMemberIds?: string[];\r\n termsAndCondition?: Consent;\r\n privacyNotice?: Consent;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n invitatedToAzure?: boolean;\r\n roles?: string[];\r\n reportsAccessRoles?: string[];\r\n}\r\n\r\nexport class UpdateUserConsentsCommand implements IUpdateUserConsentsCommand {\r\n userId?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotice?: Consent;\r\n\r\n constructor(data?: IUpdateUserConsentsCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.termsAndConditions = _data[\"termsAndConditions\"] ? Consent.fromJS(_data[\"termsAndConditions\"]) : undefined;\r\n this.privacyNotice = _data[\"privacyNotice\"] ? Consent.fromJS(_data[\"privacyNotice\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserConsentsCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserConsentsCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"termsAndConditions\"] = this.termsAndConditions ? this.termsAndConditions.toJSON() : undefined;\r\n data[\"privacyNotice\"] = this.privacyNotice ? this.privacyNotice.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserConsentsCommand {\r\n userId?: string;\r\n termsAndConditions?: Consent;\r\n privacyNotice?: Consent;\r\n}\r\n\r\nexport class AccountDto implements IAccountDto {\r\n id?: string;\r\n accountName?: string;\r\n type?: string;\r\n status?: string;\r\n currencyCode?: string;\r\n isAdl?: boolean;\r\n externalAccountNumber?: string;\r\n email?: string;\r\n mainPhone?: string;\r\n webAddress?: string;\r\n countries?: CountryDto[];\r\n accountX?: AccountXesDto;\r\n accountManager?: AccountManagerDto;\r\n divisionalManager?: DivisionalManagerDto;\r\n\r\n constructor(data?: IAccountDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.type = _data[\"type\"];\r\n this.status = _data[\"status\"];\r\n this.currencyCode = _data[\"currencyCode\"];\r\n this.isAdl = _data[\"isAdl\"];\r\n this.externalAccountNumber = _data[\"externalAccountNumber\"];\r\n this.email = _data[\"email\"];\r\n this.mainPhone = _data[\"mainPhone\"];\r\n this.webAddress = _data[\"webAddress\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(CountryDto.fromJS(item));\r\n }\r\n this.accountX = _data[\"accountX\"] ? AccountXesDto.fromJS(_data[\"accountX\"]) : undefined;\r\n this.accountManager = _data[\"accountManager\"] ? AccountManagerDto.fromJS(_data[\"accountManager\"]) : undefined;\r\n this.divisionalManager = _data[\"divisionalManager\"] ? DivisionalManagerDto.fromJS(_data[\"divisionalManager\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"type\"] = this.type;\r\n data[\"status\"] = this.status;\r\n data[\"currencyCode\"] = this.currencyCode;\r\n data[\"isAdl\"] = this.isAdl;\r\n data[\"externalAccountNumber\"] = this.externalAccountNumber;\r\n data[\"email\"] = this.email;\r\n data[\"mainPhone\"] = this.mainPhone;\r\n data[\"webAddress\"] = this.webAddress;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item.toJSON());\r\n }\r\n data[\"accountX\"] = this.accountX ? this.accountX.toJSON() : undefined;\r\n data[\"accountManager\"] = this.accountManager ? this.accountManager.toJSON() : undefined;\r\n data[\"divisionalManager\"] = this.divisionalManager ? this.divisionalManager.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountDto {\r\n id?: string;\r\n accountName?: string;\r\n type?: string;\r\n status?: string;\r\n currencyCode?: string;\r\n isAdl?: boolean;\r\n externalAccountNumber?: string;\r\n email?: string;\r\n mainPhone?: string;\r\n webAddress?: string;\r\n countries?: CountryDto[];\r\n accountX?: AccountXesDto;\r\n accountManager?: AccountManagerDto;\r\n divisionalManager?: DivisionalManagerDto;\r\n}\r\n\r\nexport class CountryDto implements ICountryDto {\r\n countryId?: string;\r\n name?: string;\r\n iso2?: string;\r\n\r\n constructor(data?: ICountryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countryId = _data[\"countryId\"];\r\n this.name = _data[\"name\"];\r\n this.iso2 = _data[\"iso2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countryId\"] = this.countryId;\r\n data[\"name\"] = this.name;\r\n data[\"iso2\"] = this.iso2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryDto {\r\n countryId?: string;\r\n name?: string;\r\n iso2?: string;\r\n}\r\n\r\nexport class AccountXesDto implements IAccountXesDto {\r\n id?: string;\r\n systems?: string;\r\n pooldate?: Date;\r\n dividend?: string;\r\n last_Account?: string;\r\n lives?: string;\r\n premium?: number;\r\n poolComments?: string;\r\n result?: number;\r\n carry_forward_result?: number;\r\n currentPooledCountries?: number;\r\n currentPRCountries?: number;\r\n\r\n constructor(data?: IAccountXesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.systems = _data[\"systems\"];\r\n this.pooldate = _data[\"pooldate\"] ? new Date(_data[\"pooldate\"].toString()) : undefined;\r\n this.dividend = _data[\"dividend\"];\r\n this.last_Account = _data[\"last_Account\"];\r\n this.lives = _data[\"lives\"];\r\n this.premium = _data[\"premium\"];\r\n this.poolComments = _data[\"poolComments\"];\r\n this.result = _data[\"result\"];\r\n this.carry_forward_result = _data[\"carry_forward_result\"];\r\n this.currentPooledCountries = _data[\"currentPooledCountries\"];\r\n this.currentPRCountries = _data[\"currentPRCountries\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountXesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountXesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"systems\"] = this.systems;\r\n data[\"pooldate\"] = this.pooldate ? this.pooldate.toISOString() : undefined;\r\n data[\"dividend\"] = this.dividend;\r\n data[\"last_Account\"] = this.last_Account;\r\n data[\"lives\"] = this.lives;\r\n data[\"premium\"] = this.premium;\r\n data[\"poolComments\"] = this.poolComments;\r\n data[\"result\"] = this.result;\r\n data[\"carry_forward_result\"] = this.carry_forward_result;\r\n data[\"currentPooledCountries\"] = this.currentPooledCountries;\r\n data[\"currentPRCountries\"] = this.currentPRCountries;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountXesDto {\r\n id?: string;\r\n systems?: string;\r\n pooldate?: Date;\r\n dividend?: string;\r\n last_Account?: string;\r\n lives?: string;\r\n premium?: number;\r\n poolComments?: string;\r\n result?: number;\r\n carry_forward_result?: number;\r\n currentPooledCountries?: number;\r\n currentPRCountries?: number;\r\n}\r\n\r\nexport class AccountManagerDto implements IAccountManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n\r\n constructor(data?: IAccountManagerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userInfo = _data[\"userInfo\"] ? UserInfoDto.fromJS(_data[\"userInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountManagerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountManagerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userInfo\"] = this.userInfo ? this.userInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n}\r\n\r\nexport class UserInfoDto implements IUserInfoDto {\r\n id?: string;\r\n descriptor?: string;\r\n department?: string;\r\n division?: string;\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n mobile?: any;\r\n phone?: string;\r\n region?: string;\r\n title?: string;\r\n userName?: string;\r\n address?: AddressDto;\r\n\r\n constructor(data?: IUserInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.descriptor = _data[\"descriptor\"];\r\n this.department = _data[\"department\"];\r\n this.division = _data[\"division\"];\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.mobile = _data[\"mobile\"];\r\n this.phone = _data[\"phone\"];\r\n this.region = _data[\"region\"];\r\n this.title = _data[\"title\"];\r\n this.userName = _data[\"userName\"];\r\n this.address = _data[\"address\"] ? AddressDto.fromJS(_data[\"address\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"descriptor\"] = this.descriptor;\r\n data[\"department\"] = this.department;\r\n data[\"division\"] = this.division;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"mobile\"] = this.mobile;\r\n data[\"phone\"] = this.phone;\r\n data[\"region\"] = this.region;\r\n data[\"title\"] = this.title;\r\n data[\"userName\"] = this.userName;\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoDto {\r\n id?: string;\r\n descriptor?: string;\r\n department?: string;\r\n division?: string;\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n mobile?: any;\r\n phone?: string;\r\n region?: string;\r\n title?: string;\r\n userName?: string;\r\n address?: AddressDto;\r\n}\r\n\r\nexport class AddressDto implements IAddressDto {\r\n id?: string;\r\n countryCode?: string;\r\n country?: string;\r\n\r\n constructor(data?: IAddressDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddressDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddressDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddressDto {\r\n id?: string;\r\n countryCode?: string;\r\n country?: string;\r\n}\r\n\r\nexport class DivisionalManagerDto implements IDivisionalManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n\r\n constructor(data?: IDivisionalManagerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userInfo = _data[\"userInfo\"] ? UserInfoDto.fromJS(_data[\"userInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DivisionalManagerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DivisionalManagerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userInfo\"] = this.userInfo ? this.userInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDivisionalManagerDto {\r\n id?: string;\r\n userInfo?: UserInfoDto;\r\n}\r\n\r\nexport class TechnicalContact implements ITechnicalContact {\r\n name?: string;\r\n email?: string;\r\n phone?: string;\r\n\r\n constructor(data?: ITechnicalContact) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TechnicalContact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TechnicalContact();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITechnicalContact {\r\n name?: string;\r\n email?: string;\r\n phone?: string;\r\n}\r\n\r\nexport class PaginatedListOfExpansionPlanDto implements IPaginatedListOfExpansionPlanDto {\r\n items?: ExpansionPlanDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n\r\n constructor(data?: IPaginatedListOfExpansionPlanDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(ExpansionPlanDto.fromJS(item));\r\n }\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.totalPages = _data[\"totalPages\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.hasPreviousPage = _data[\"hasPreviousPage\"];\r\n this.hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaginatedListOfExpansionPlanDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaginatedListOfExpansionPlanDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaginatedListOfExpansionPlanDto {\r\n items?: ExpansionPlanDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class ExpansionPlanDto implements IExpansionPlanDto {\r\n id?: string;\r\n country?: string;\r\n local_company_name?: string | undefined;\r\n status?: string;\r\n startDate?: Date | undefined;\r\n benefits?: string;\r\n employees?: number | undefined;\r\n premiumPoolCurrency?: number | undefined;\r\n comments?: string | undefined;\r\n brokerComtact?: string | undefined;\r\n companyContact?: string | undefined;\r\n insurer?: string | undefined;\r\n insNetwork?: string | undefined;\r\n account?: AccountDto;\r\n\r\n constructor(data?: IExpansionPlanDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.country = _data[\"country\"];\r\n this.local_company_name = _data[\"local_company_name\"];\r\n this.status = _data[\"status\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.benefits = _data[\"benefits\"];\r\n this.employees = _data[\"employees\"];\r\n this.premiumPoolCurrency = _data[\"premiumPoolCurrency\"];\r\n this.comments = _data[\"comments\"];\r\n this.brokerComtact = _data[\"brokerComtact\"];\r\n this.companyContact = _data[\"companyContact\"];\r\n this.insurer = _data[\"insurer\"];\r\n this.insNetwork = _data[\"insNetwork\"];\r\n this.account = _data[\"account\"] ? AccountDto.fromJS(_data[\"account\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExpansionPlanDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExpansionPlanDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"country\"] = this.country;\r\n data[\"local_company_name\"] = this.local_company_name;\r\n data[\"status\"] = this.status;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"benefits\"] = this.benefits;\r\n data[\"employees\"] = this.employees;\r\n data[\"premiumPoolCurrency\"] = this.premiumPoolCurrency;\r\n data[\"comments\"] = this.comments;\r\n data[\"brokerComtact\"] = this.brokerComtact;\r\n data[\"companyContact\"] = this.companyContact;\r\n data[\"insurer\"] = this.insurer;\r\n data[\"insNetwork\"] = this.insNetwork;\r\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExpansionPlanDto {\r\n id?: string;\r\n country?: string;\r\n local_company_name?: string | undefined;\r\n status?: string;\r\n startDate?: Date | undefined;\r\n benefits?: string;\r\n employees?: number | undefined;\r\n premiumPoolCurrency?: number | undefined;\r\n comments?: string | undefined;\r\n brokerComtact?: string | undefined;\r\n companyContact?: string | undefined;\r\n insurer?: string | undefined;\r\n insNetwork?: string | undefined;\r\n account?: AccountDto;\r\n}\r\n\r\nexport class BaseTaskDto extends AuditableEntity implements IBaseTaskDto {\r\n id?: string;\r\n sourceId?: string;\r\n processId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n metaData?: string;\r\n networkMember?: AccountDto;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n assignedTo?: AssignedTo;\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n adminDbAttachments?: string[];\r\n systemAttachments?: Attachment[];\r\n isOverdue?: boolean;\r\n isNewTask?: boolean;\r\n overdueDate?: Date | undefined;\r\n country?: string;\r\n actionPerform?: ActionPerform;\r\n actionPerformedDate?: Date | undefined;\r\n\r\n constructor(data?: IBaseTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.processId = _data[\"processId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.metaData = _data[\"metaData\"];\r\n this.networkMember = _data[\"networkMember\"] ? AccountDto.fromJS(_data[\"networkMember\"]) : undefined;\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n this.assignedTo = _data[\"assignedTo\"];\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.isNewTask = _data[\"isNewTask\"];\r\n this.overdueDate = _data[\"overdueDate\"] ? new Date(_data[\"overdueDate\"].toString()) : undefined;\r\n this.country = _data[\"country\"];\r\n this.actionPerform = _data[\"actionPerform\"];\r\n this.actionPerformedDate = _data[\"actionPerformedDate\"] ? new Date(_data[\"actionPerformedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"processId\"] = this.processId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"networkMember\"] = this.networkMember ? this.networkMember.toJSON() : undefined;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n data[\"assignedTo\"] = this.assignedTo;\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"isNewTask\"] = this.isNewTask;\r\n data[\"overdueDate\"] = this.overdueDate ? this.overdueDate.toISOString() : undefined;\r\n data[\"country\"] = this.country;\r\n data[\"actionPerform\"] = this.actionPerform;\r\n data[\"actionPerformedDate\"] = this.actionPerformedDate ? this.actionPerformedDate.toISOString() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseTaskDto extends IAuditableEntity {\r\n id?: string;\r\n sourceId?: string;\r\n processId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n metaData?: string;\r\n networkMember?: AccountDto;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n assignedTo?: AssignedTo;\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n adminDbAttachments?: string[];\r\n systemAttachments?: Attachment[];\r\n isOverdue?: boolean;\r\n isNewTask?: boolean;\r\n overdueDate?: Date | undefined;\r\n country?: string;\r\n actionPerform?: ActionPerform;\r\n actionPerformedDate?: Date | undefined;\r\n}\r\n\r\nexport class BooleanTaskDto extends BaseTaskDto implements IBooleanTaskDto {\r\n value?: boolean | undefined;\r\n streamAttachments?: Stream[];\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n\r\n constructor(data?: IBooleanTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n this.approvalDate = _data[\"approvalDate\"] ? new Date(_data[\"approvalDate\"].toString()) : undefined;\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"] ? new Date(_data[\"inputRcvdDate\"].toString()) : undefined;\r\n this.firstCheckedDate = _data[\"firstCheckedDate\"] ? new Date(_data[\"firstCheckedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n data[\"approvalDate\"] = this.approvalDate ? this.approvalDate.toISOString() : undefined;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate ? this.inputRcvdDate.toISOString() : undefined;\r\n data[\"firstCheckedDate\"] = this.firstCheckedDate ? this.firstCheckedDate.toISOString() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBooleanTaskDto extends IBaseTaskDto {\r\n value?: boolean | undefined;\r\n streamAttachments?: Stream[];\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n}\r\n\r\nexport abstract class MarshalByRefObject implements IMarshalByRefObject {\r\n\r\n constructor(data?: IMarshalByRefObject) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): MarshalByRefObject {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'MarshalByRefObject' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarshalByRefObject {\r\n}\r\n\r\nexport abstract class Stream extends MarshalByRefObject implements IStream {\r\n canTimeout?: boolean;\r\n readTimeout?: number;\r\n writeTimeout?: number;\r\n\r\n constructor(data?: IStream) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.canTimeout = _data[\"canTimeout\"];\r\n this.readTimeout = _data[\"readTimeout\"];\r\n this.writeTimeout = _data[\"writeTimeout\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Stream {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'Stream' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canTimeout\"] = this.canTimeout;\r\n data[\"readTimeout\"] = this.readTimeout;\r\n data[\"writeTimeout\"] = this.writeTimeout;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStream extends IMarshalByRefObject {\r\n canTimeout?: boolean;\r\n readTimeout?: number;\r\n writeTimeout?: number;\r\n}\r\n\r\nexport class Status implements IStatus {\r\n value?: TasksStatus;\r\n sortOrder?: number;\r\n\r\n constructor(data?: IStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Status {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Status();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatus {\r\n value?: TasksStatus;\r\n sortOrder?: number;\r\n}\r\n\r\nexport enum TasksStatus {\r\n Open = 0,\r\n Closed = 1,\r\n OnHold = 2,\r\n WaitingForInput = 3,\r\n IsDeleted = 4,\r\n Hidden = 5,\r\n Finalized = 6,\r\n InProgress = 7,\r\n All = 8,\r\n}\r\n\r\nexport enum AssignedTo {\r\n NetworkMember = 0,\r\n Internal = 1,\r\n Client = 2,\r\n}\r\n\r\nexport class Attachment implements IAttachment {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n checkSum?: string;\r\n fileDate?: Date;\r\n commentId?: string;\r\n\r\n constructor(data?: IAttachment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.path = _data[\"path\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.checkSum = _data[\"checkSum\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n this.commentId = _data[\"commentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Attachment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Attachment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"path\"] = this.path;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"checkSum\"] = this.checkSum;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n data[\"commentId\"] = this.commentId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachment {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n checkSum?: string;\r\n fileDate?: Date;\r\n commentId?: string;\r\n}\r\n\r\nexport enum ActionPerform {\r\n MarkAsNotDone = 0,\r\n MarkAsDone = 1,\r\n}\r\n\r\nexport enum PayToEnum {\r\n Null = 0,\r\n Insurope = 1,\r\n Client = 2,\r\n Other = 3,\r\n}\r\n\r\nexport class SortingElement implements ISortingElement {\r\n columnName?: string;\r\n sortOrder?: SortOrder;\r\n\r\n constructor(data?: ISortingElement) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.columnName = _data[\"columnName\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SortingElement {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SortingElement();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"columnName\"] = this.columnName;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISortingElement {\r\n columnName?: string;\r\n sortOrder?: SortOrder;\r\n}\r\n\r\nexport enum SortOrder {\r\n Ascending = 0,\r\n Descending = 1,\r\n}\r\n\r\nexport class UpsertBooleanTaskDto implements IUpsertBooleanTaskDto {\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: string;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n approvalDate?: string | undefined;\r\n inputRcvdDate?: string | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n country?: string;\r\n\r\n constructor(data?: IUpsertBooleanTaskDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.displayDate = _data[\"displayDate\"];\r\n this.processId = _data[\"processId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.approvalDate = _data[\"approvalDate\"];\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"];\r\n this.firstCheckedDate = _data[\"firstCheckedDate\"] ? new Date(_data[\"firstCheckedDate\"].toString()) : undefined;\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertBooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertBooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"displayDate\"] = this.displayDate;\r\n data[\"processId\"] = this.processId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"approvalDate\"] = this.approvalDate;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate;\r\n data[\"firstCheckedDate\"] = this.firstCheckedDate ? this.firstCheckedDate.toISOString() : undefined;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertBooleanTaskDto {\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: string;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n approvalDate?: string | undefined;\r\n inputRcvdDate?: string | undefined;\r\n firstCheckedDate?: Date | undefined;\r\n country?: string;\r\n}\r\n\r\nexport class UpdateBooleanTaskDto implements IUpdateBooleanTaskDto {\r\n id?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n adminDbAttachments?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: Date | undefined;\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n assignedTo?: AssignedTo;\r\n systemAttachments?: Attachment[];\r\n isNewTask?: boolean;\r\n\r\n constructor(data?: IUpdateBooleanTaskDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.processId = _data[\"processId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"] ? new Date(_data[\"overdueDate\"].toString()) : undefined;\r\n this.approvalDate = _data[\"approvalDate\"] ? new Date(_data[\"approvalDate\"].toString()) : undefined;\r\n this.inputRcvdDate = _data[\"inputRcvdDate\"] ? new Date(_data[\"inputRcvdDate\"].toString()) : undefined;\r\n this.assignedTo = _data[\"assignedTo\"];\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n this.isNewTask = _data[\"isNewTask\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateBooleanTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateBooleanTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"processId\"] = this.processId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate ? this.overdueDate.toISOString() : undefined;\r\n data[\"approvalDate\"] = this.approvalDate ? this.approvalDate.toISOString() : undefined;\r\n data[\"inputRcvdDate\"] = this.inputRcvdDate ? this.inputRcvdDate.toISOString() : undefined;\r\n data[\"assignedTo\"] = this.assignedTo;\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n data[\"isNewTask\"] = this.isNewTask;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateBooleanTaskDto {\r\n id?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n sourceId?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n metaData?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n status?: Status;\r\n adminDbAttachments?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: Date | undefined;\r\n approvalDate?: Date | undefined;\r\n inputRcvdDate?: Date | undefined;\r\n assignedTo?: AssignedTo;\r\n systemAttachments?: Attachment[];\r\n isNewTask?: boolean;\r\n}\r\n\r\nexport class TaskSubscribersDto implements ITaskSubscribersDto {\r\n id?: string;\r\n processId?: string;\r\n insuropeSubscribers?: TaskUserSusbscriptionDto[];\r\n networkMemberSubscribers?: TaskUserSusbscriptionDto[];\r\n clientSubscribers?: TaskUserSusbscriptionDto[];\r\n\r\n constructor(data?: ITaskSubscribersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processId = _data[\"processId\"];\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(TaskUserSusbscriptionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaskSubscribersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaskSubscribersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processId\"] = this.processId;\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITaskSubscribersDto {\r\n id?: string;\r\n processId?: string;\r\n insuropeSubscribers?: TaskUserSusbscriptionDto[];\r\n networkMemberSubscribers?: TaskUserSusbscriptionDto[];\r\n clientSubscribers?: TaskUserSusbscriptionDto[];\r\n}\r\n\r\nexport class TaskUserSusbscriptionDto implements ITaskUserSusbscriptionDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n removedFromDiscussion?: boolean;\r\n\r\n constructor(data?: ITaskUserSusbscriptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.preferredEmail = _data[\"preferredEmail\"];\r\n if (Array.isArray(_data[\"networkMemberIds\"])) {\r\n this.networkMemberIds = [] as any;\r\n for (let item of _data[\"networkMemberIds\"])\r\n this.networkMemberIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.active = _data[\"active\"];\r\n this.isFinancial = _data[\"isFinancial\"];\r\n this.isManuallyAdded = _data[\"isManuallyAdded\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.removedFromDiscussion = _data[\"removedFromDiscussion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TaskUserSusbscriptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TaskUserSusbscriptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"preferredEmail\"] = this.preferredEmail;\r\n if (Array.isArray(this.networkMemberIds)) {\r\n data[\"networkMemberIds\"] = [];\r\n for (let item of this.networkMemberIds)\r\n data[\"networkMemberIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"active\"] = this.active;\r\n data[\"isFinancial\"] = this.isFinancial;\r\n data[\"isManuallyAdded\"] = this.isManuallyAdded;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"removedFromDiscussion\"] = this.removedFromDiscussion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITaskUserSusbscriptionDto {\r\n id?: string;\r\n sourceId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n preferredEmail?: string;\r\n networkMemberIds?: string[];\r\n clientId?: string;\r\n active?: boolean;\r\n isFinancial?: boolean | undefined;\r\n isManuallyAdded?: boolean;\r\n isDeleted?: boolean;\r\n removedFromDiscussion?: boolean;\r\n}\r\n\r\nexport class CommentDto implements ICommentDto {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTagDto[];\r\n createdByUserRolls?: string[];\r\n\r\n constructor(data?: ICommentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.content = _data[\"content\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.messageSent = _data[\"messageSent\"] ? new Date(_data[\"messageSent\"].toString()) : undefined;\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEdited = _data[\"isEdited\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.commentType = _data[\"commentType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(CommentTagDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"createdByUserRolls\"])) {\r\n this.createdByUserRolls = [] as any;\r\n for (let item of _data[\"createdByUserRolls\"])\r\n this.createdByUserRolls!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"content\"] = this.content;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"messageSent\"] = this.messageSent ? this.messageSent.toISOString() : undefined;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEdited\"] = this.isEdited;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"commentType\"] = this.commentType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.createdByUserRolls)) {\r\n data[\"createdByUserRolls\"] = [];\r\n for (let item of this.createdByUserRolls)\r\n data[\"createdByUserRolls\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentDto {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTagDto[];\r\n createdByUserRolls?: string[];\r\n}\r\n\r\nexport enum CommentType {\r\n Comment = 0,\r\n Reply = 1,\r\n Edited = 2,\r\n Automated = 3,\r\n ApprovalLetter = 4,\r\n ExternalComment = 5,\r\n}\r\n\r\nexport class CommentTagDto extends AuditableEntity implements ICommentTagDto {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n\r\n constructor(data?: ICommentTagDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tagName = _data[\"tagName\"];\r\n this.isDeletable = _data[\"isDeletable\"];\r\n if (Array.isArray(_data[\"createdByUserRoles\"])) {\r\n this.createdByUserRoles = [] as any;\r\n for (let item of _data[\"createdByUserRoles\"])\r\n this.createdByUserRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentTagDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentTagDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tagName\"] = this.tagName;\r\n data[\"isDeletable\"] = this.isDeletable;\r\n if (Array.isArray(this.createdByUserRoles)) {\r\n data[\"createdByUserRoles\"] = [];\r\n for (let item of this.createdByUserRoles)\r\n data[\"createdByUserRoles\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentTagDto extends IAuditableEntity {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n}\r\n\r\nexport class DiscussionDto implements IDiscussionDto {\r\n id?: string;\r\n lastExported?: Date | undefined;\r\n taskId?: string;\r\n comments?: Comment[];\r\n systemAttachments?: Attachment[];\r\n\r\n constructor(data?: IDiscussionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.lastExported = _data[\"lastExported\"] ? new Date(_data[\"lastExported\"].toString()) : undefined;\r\n this.taskId = _data[\"taskId\"];\r\n if (Array.isArray(_data[\"comments\"])) {\r\n this.comments = [] as any;\r\n for (let item of _data[\"comments\"])\r\n this.comments!.push(Comment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"systemAttachments\"])) {\r\n this.systemAttachments = [] as any;\r\n for (let item of _data[\"systemAttachments\"])\r\n this.systemAttachments!.push(Attachment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiscussionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiscussionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"lastExported\"] = this.lastExported ? this.lastExported.toISOString() : undefined;\r\n data[\"taskId\"] = this.taskId;\r\n if (Array.isArray(this.comments)) {\r\n data[\"comments\"] = [];\r\n for (let item of this.comments)\r\n data[\"comments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.systemAttachments)) {\r\n data[\"systemAttachments\"] = [];\r\n for (let item of this.systemAttachments)\r\n data[\"systemAttachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiscussionDto {\r\n id?: string;\r\n lastExported?: Date | undefined;\r\n taskId?: string;\r\n comments?: Comment[];\r\n systemAttachments?: Attachment[];\r\n}\r\n\r\nexport class Comment extends AuditableEntity implements IComment {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTag[];\r\n createdByUserRolls?: string[];\r\n\r\n constructor(data?: IComment) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.content = _data[\"content\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.messageSent = _data[\"messageSent\"] ? new Date(_data[\"messageSent\"].toString()) : undefined;\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEdited = _data[\"isEdited\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.commentType = _data[\"commentType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(CommentTag.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"createdByUserRolls\"])) {\r\n this.createdByUserRolls = [] as any;\r\n for (let item of _data[\"createdByUserRolls\"])\r\n this.createdByUserRolls!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Comment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Comment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"content\"] = this.content;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"messageSent\"] = this.messageSent ? this.messageSent.toISOString() : undefined;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEdited\"] = this.isEdited;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"commentType\"] = this.commentType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.createdByUserRolls)) {\r\n data[\"createdByUserRolls\"] = [];\r\n for (let item of this.createdByUserRolls)\r\n data[\"createdByUserRolls\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IComment extends IAuditableEntity {\r\n id?: string;\r\n userId?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n content?: string;\r\n networkMemberId?: string;\r\n messageSent?: Date;\r\n isDeleted?: boolean;\r\n isEdited?: boolean;\r\n isHtmlText?: boolean;\r\n commentType?: CommentType;\r\n attachments?: Attachment[];\r\n tags?: CommentTag[];\r\n createdByUserRolls?: string[];\r\n}\r\n\r\nexport class CommentTag extends AuditableEntity implements ICommentTag {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n\r\n constructor(data?: ICommentTag) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tagName = _data[\"tagName\"];\r\n this.isDeletable = _data[\"isDeletable\"];\r\n if (Array.isArray(_data[\"createdByUserRoles\"])) {\r\n this.createdByUserRoles = [] as any;\r\n for (let item of _data[\"createdByUserRoles\"])\r\n this.createdByUserRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommentTag {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CommentTag();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tagName\"] = this.tagName;\r\n data[\"isDeletable\"] = this.isDeletable;\r\n if (Array.isArray(this.createdByUserRoles)) {\r\n data[\"createdByUserRoles\"] = [];\r\n for (let item of this.createdByUserRoles)\r\n data[\"createdByUserRoles\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommentTag extends IAuditableEntity {\r\n id?: string;\r\n tagName?: string;\r\n isDeletable?: boolean;\r\n createdByUserRoles?: string[];\r\n}\r\n\r\nexport class AttachmentDTO implements IAttachmentDTO {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n commentId?: string;\r\n fileDate?: Date;\r\n\r\n constructor(data?: IAttachmentDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.path = _data[\"path\"];\r\n this.fileType = _data[\"fileType\"];\r\n this.commentId = _data[\"commentId\"];\r\n this.fileDate = _data[\"fileDate\"] ? new Date(_data[\"fileDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"path\"] = this.path;\r\n data[\"fileType\"] = this.fileType;\r\n data[\"commentId\"] = this.commentId;\r\n data[\"fileDate\"] = this.fileDate ? this.fileDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDTO {\r\n id?: string;\r\n name?: string;\r\n path?: string;\r\n fileType?: string;\r\n commentId?: string;\r\n fileDate?: Date;\r\n}\r\n\r\nexport class AddExternalCommentsCommand implements IAddExternalCommentsCommand {\r\n externalComments?: ExternalComment[];\r\n\r\n constructor(data?: IAddExternalCommentsCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"externalComments\"])) {\r\n this.externalComments = [] as any;\r\n for (let item of _data[\"externalComments\"])\r\n this.externalComments!.push(ExternalComment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddExternalCommentsCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddExternalCommentsCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.externalComments)) {\r\n data[\"externalComments\"] = [];\r\n for (let item of this.externalComments)\r\n data[\"externalComments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddExternalCommentsCommand {\r\n externalComments?: ExternalComment[];\r\n}\r\n\r\nexport class ExternalComment implements IExternalComment {\r\n sourceId?: string;\r\n content?: string;\r\n processId?: ProcessIds;\r\n clientName?: string;\r\n networkMemberName?: string;\r\n periodEndYear?: string;\r\n country?: string;\r\n userEmailAddress?: string;\r\n isServiceUser?: boolean;\r\n isHtmlText?: boolean;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n attachments?: UploadFileDto[];\r\n tags?: string[];\r\n\r\n constructor(data?: IExternalComment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.content = _data[\"content\"];\r\n this.processId = _data[\"processId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.networkMemberName = _data[\"networkMemberName\"];\r\n this.periodEndYear = _data[\"periodEndYear\"];\r\n this.country = _data[\"country\"];\r\n this.userEmailAddress = _data[\"userEmailAddress\"];\r\n this.isServiceUser = _data[\"isServiceUser\"];\r\n this.isHtmlText = _data[\"isHtmlText\"];\r\n this.notificationFrequency = _data[\"notificationFrequency\"];\r\n this.notificationType = _data[\"notificationType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(UploadFileDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExternalComment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExternalComment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"content\"] = this.content;\r\n data[\"processId\"] = this.processId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"networkMemberName\"] = this.networkMemberName;\r\n data[\"periodEndYear\"] = this.periodEndYear;\r\n data[\"country\"] = this.country;\r\n data[\"userEmailAddress\"] = this.userEmailAddress;\r\n data[\"isServiceUser\"] = this.isServiceUser;\r\n data[\"isHtmlText\"] = this.isHtmlText;\r\n data[\"notificationFrequency\"] = this.notificationFrequency;\r\n data[\"notificationType\"] = this.notificationType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExternalComment {\r\n sourceId?: string;\r\n content?: string;\r\n processId?: ProcessIds;\r\n clientName?: string;\r\n networkMemberName?: string;\r\n periodEndYear?: string;\r\n country?: string;\r\n userEmailAddress?: string;\r\n isServiceUser?: boolean;\r\n isHtmlText?: boolean;\r\n notificationFrequency?: NotificationFrequency;\r\n notificationType?: NotificationType;\r\n attachments?: UploadFileDto[];\r\n tags?: string[];\r\n}\r\n\r\nexport enum ProcessIds {\r\n PoolingPermissions = 0,\r\n IllustrationInputs = 1,\r\n AccountInputs = 2,\r\n Approvals = 3,\r\n Payments = 4,\r\n ServiceFees = 5,\r\n AnnualReport = 6,\r\n Illustrations = 7,\r\n MultipoolApprovals = 8,\r\n MultipoolPayments = 9,\r\n IllustrationRequestInput = 10,\r\n}\r\n\r\nexport class ContactDto implements IContactDto {\r\n id?: string;\r\n name?: string;\r\n email?: string;\r\n workPhone?: string;\r\n isPrimary?: boolean;\r\n account?: AccountDto;\r\n\r\n constructor(data?: IContactDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.workPhone = _data[\"workPhone\"];\r\n this.isPrimary = _data[\"isPrimary\"];\r\n this.account = _data[\"account\"] ? AccountDto.fromJS(_data[\"account\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"workPhone\"] = this.workPhone;\r\n data[\"isPrimary\"] = this.isPrimary;\r\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactDto {\r\n id?: string;\r\n name?: string;\r\n email?: string;\r\n workPhone?: string;\r\n isPrimary?: boolean;\r\n account?: AccountDto;\r\n}\r\n\r\nexport class CountyDto implements ICountyDto {\r\n countyId?: string;\r\n name?: string;\r\n\r\n constructor(data?: ICountyDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.countyId = _data[\"countyId\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountyDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountyDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"countyId\"] = this.countyId;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountyDto {\r\n countyId?: string;\r\n name?: string;\r\n}\r\n\r\nexport class PaginatedListOfCrmAttachmentDto implements IPaginatedListOfCrmAttachmentDto {\r\n items?: CrmAttachmentDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n\r\n constructor(data?: IPaginatedListOfCrmAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(CrmAttachmentDto.fromJS(item));\r\n }\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.totalPages = _data[\"totalPages\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.hasPreviousPage = _data[\"hasPreviousPage\"];\r\n this.hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaginatedListOfCrmAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaginatedListOfCrmAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaginatedListOfCrmAttachmentDto {\r\n items?: CrmAttachmentDto[];\r\n pageNumber?: number;\r\n totalPages?: number;\r\n totalCount?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class CrmAttachmentDto implements ICrmAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n modifyDate?: Date;\r\n attachDate?: Date;\r\n fileSize?: number;\r\n description?: string;\r\n createUser?: UserInfoDto;\r\n details?: AttachmentDetailsDto;\r\n\r\n constructor(data?: ICrmAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.modifyDate = _data[\"modifyDate\"] ? new Date(_data[\"modifyDate\"].toString()) : undefined;\r\n this.attachDate = _data[\"attachDate\"] ? new Date(_data[\"attachDate\"].toString()) : undefined;\r\n this.fileSize = _data[\"fileSize\"];\r\n this.description = _data[\"description\"];\r\n this.createUser = _data[\"createUser\"] ? UserInfoDto.fromJS(_data[\"createUser\"]) : undefined;\r\n this.details = _data[\"details\"] ? AttachmentDetailsDto.fromJS(_data[\"details\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CrmAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CrmAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"modifyDate\"] = this.modifyDate ? this.modifyDate.toISOString() : undefined;\r\n data[\"attachDate\"] = this.attachDate ? this.attachDate.toISOString() : undefined;\r\n data[\"fileSize\"] = this.fileSize;\r\n data[\"description\"] = this.description;\r\n data[\"createUser\"] = this.createUser ? this.createUser.toJSON() : undefined;\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICrmAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n modifyDate?: Date;\r\n attachDate?: Date;\r\n fileSize?: number;\r\n description?: string;\r\n createUser?: UserInfoDto;\r\n details?: AttachmentDetailsDto;\r\n}\r\n\r\nexport class AttachmentDetailsDto implements IAttachmentDetailsDto {\r\n attachmentsecurity?: string;\r\n importantFile?: string;\r\n subType?: string;\r\n\r\n constructor(data?: IAttachmentDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.attachmentsecurity = _data[\"attachmentsecurity\"];\r\n this.importantFile = _data[\"importantFile\"];\r\n this.subType = _data[\"subType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"attachmentsecurity\"] = this.attachmentsecurity;\r\n data[\"importantFile\"] = this.importantFile;\r\n data[\"subType\"] = this.subType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDetailsDto {\r\n attachmentsecurity?: string;\r\n importantFile?: string;\r\n subType?: string;\r\n}\r\n\r\nexport class FaqCategoryDto implements IFaqCategoryDto {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: QuestionDto[];\r\n\r\n constructor(data?: IFaqCategoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(QuestionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FaqCategoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FaqCategoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFaqCategoryDto {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: QuestionDto[];\r\n}\r\n\r\nexport class QuestionDto implements IQuestionDto {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n\r\n constructor(data?: IQuestionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.answer = _data[\"answer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"answer\"] = this.answer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestionDto {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n}\r\n\r\nexport class UpdateFaqCommand implements IUpdateFaqCommand {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: Question[];\r\n\r\n constructor(data?: IUpdateFaqCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.sortOrder = _data[\"sortOrder\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(Question.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateFaqCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateFaqCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"sortOrder\"] = this.sortOrder;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateFaqCommand {\r\n id?: string;\r\n name?: string;\r\n sortOrder?: number;\r\n questions?: Question[];\r\n}\r\n\r\nexport class Question extends AuditableEntity implements IQuestion {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n\r\n constructor(data?: IQuestion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.answer = _data[\"answer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Question {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Question();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"answer\"] = this.answer;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestion extends IAuditableEntity {\r\n id?: string;\r\n title?: string;\r\n answer?: string;\r\n}\r\n\r\nexport class FileUploadTaskDto extends BaseTaskDto implements IFileUploadTaskDto {\r\n country?: string;\r\n attachments?: Attachment[];\r\n\r\n constructor(data?: IFileUploadTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileUploadTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileUploadTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileUploadTaskDto extends IBaseTaskDto {\r\n country?: string;\r\n attachments?: Attachment[];\r\n}\r\n\r\nexport class UpsertFileUploadTaskCommand implements IUpsertFileUploadTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date | undefined;\r\n metaData?: string;\r\n processId?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n country?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n maxApprovalCheckedDate?: Date | undefined;\r\n\r\n constructor(data?: IUpsertFileUploadTaskCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.metaData = _data[\"metaData\"];\r\n this.processId = _data[\"processId\"];\r\n this.value = _data[\"value\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.country = _data[\"country\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.isOverdue = _data[\"isOverdue\"];\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.maxApprovalCheckedDate = _data[\"maxApprovalCheckedDate\"] ? new Date(_data[\"maxApprovalCheckedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertFileUploadTaskCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertFileUploadTaskCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"processId\"] = this.processId;\r\n data[\"value\"] = this.value;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"country\"] = this.country;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"isOverdue\"] = this.isOverdue;\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"maxApprovalCheckedDate\"] = this.maxApprovalCheckedDate ? this.maxApprovalCheckedDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertFileUploadTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date | undefined;\r\n metaData?: string;\r\n processId?: string;\r\n value?: boolean | undefined;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n country?: string;\r\n status?: Status;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n isOverdue?: boolean;\r\n overdueDate?: string | undefined;\r\n maxApprovalCheckedDate?: Date | undefined;\r\n}\r\n\r\nexport class GeneralTaskDto extends BaseTaskDto implements IGeneralTaskDto {\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n attachments?: Attachment[];\r\n\r\n constructor(data?: IGeneralTaskDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.payTo = _data[\"payTo\"];\r\n this.payStartedDate = _data[\"payStartedDate\"] ? new Date(_data[\"payStartedDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeneralTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeneralTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payTo\"] = this.payTo;\r\n data[\"payStartedDate\"] = this.payStartedDate ? this.payStartedDate.toISOString() : undefined;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeneralTaskDto extends IBaseTaskDto {\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n attachments?: Attachment[];\r\n}\r\n\r\nexport class UpsertGeneralTaskCommand implements IUpsertGeneralTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n metaData?: string;\r\n status?: Status;\r\n taskId?: string | undefined;\r\n country?: string | undefined;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n overdueDate?: string | undefined;\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n requestSource?: RequestSource;\r\n\r\n constructor(data?: IUpsertGeneralTaskCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.title = _data[\"title\"];\r\n this.subTitle = _data[\"subTitle\"];\r\n this.content = _data[\"content\"];\r\n this.displayDate = _data[\"displayDate\"] ? new Date(_data[\"displayDate\"].toString()) : undefined;\r\n this.processId = _data[\"processId\"];\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.metaData = _data[\"metaData\"];\r\n this.status = _data[\"status\"] ? Status.fromJS(_data[\"status\"]) : undefined;\r\n this.taskId = _data[\"taskId\"];\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"streamAttachments\"])) {\r\n this.streamAttachments = [] as any;\r\n for (let item of _data[\"streamAttachments\"])\r\n this.streamAttachments!.push(Stream.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"adminDbAttachments\"])) {\r\n this.adminDbAttachments = [] as any;\r\n for (let item of _data[\"adminDbAttachments\"])\r\n this.adminDbAttachments!.push(item);\r\n }\r\n if (Array.isArray(_data[\"insuropeSubscribers\"])) {\r\n this.insuropeSubscribers = [] as any;\r\n for (let item of _data[\"insuropeSubscribers\"])\r\n this.insuropeSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientSubscribers\"])) {\r\n this.clientSubscribers = [] as any;\r\n for (let item of _data[\"clientSubscribers\"])\r\n this.clientSubscribers!.push(item);\r\n }\r\n this.overdueDate = _data[\"overdueDate\"];\r\n this.payTo = _data[\"payTo\"];\r\n this.payStartedDate = _data[\"payStartedDate\"] ? new Date(_data[\"payStartedDate\"].toString()) : undefined;\r\n this.requestSource = _data[\"requestSource\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpsertGeneralTaskCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpsertGeneralTaskCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"title\"] = this.title;\r\n data[\"subTitle\"] = this.subTitle;\r\n data[\"content\"] = this.content;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString() : undefined;\r\n data[\"processId\"] = this.processId;\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"metaData\"] = this.metaData;\r\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\r\n data[\"taskId\"] = this.taskId;\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.streamAttachments)) {\r\n data[\"streamAttachments\"] = [];\r\n for (let item of this.streamAttachments)\r\n data[\"streamAttachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.adminDbAttachments)) {\r\n data[\"adminDbAttachments\"] = [];\r\n for (let item of this.adminDbAttachments)\r\n data[\"adminDbAttachments\"].push(item);\r\n }\r\n if (Array.isArray(this.insuropeSubscribers)) {\r\n data[\"insuropeSubscribers\"] = [];\r\n for (let item of this.insuropeSubscribers)\r\n data[\"insuropeSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n if (Array.isArray(this.clientSubscribers)) {\r\n data[\"clientSubscribers\"] = [];\r\n for (let item of this.clientSubscribers)\r\n data[\"clientSubscribers\"].push(item);\r\n }\r\n data[\"overdueDate\"] = this.overdueDate;\r\n data[\"payTo\"] = this.payTo;\r\n data[\"payStartedDate\"] = this.payStartedDate ? this.payStartedDate.toISOString() : undefined;\r\n data[\"requestSource\"] = this.requestSource;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpsertGeneralTaskCommand {\r\n sourceId?: string;\r\n title?: string;\r\n subTitle?: string;\r\n content?: string;\r\n displayDate?: Date;\r\n processId?: string;\r\n networkMemberId?: string;\r\n clientId?: string;\r\n metaData?: string;\r\n status?: Status;\r\n taskId?: string | undefined;\r\n country?: string | undefined;\r\n streamAttachments?: Stream[];\r\n adminDbAttachments?: string[];\r\n insuropeSubscribers?: string[];\r\n networkMemberSubscribers?: string[];\r\n clientSubscribers?: string[];\r\n overdueDate?: string | undefined;\r\n payTo?: PayToEnum;\r\n payStartedDate?: Date | undefined;\r\n requestSource?: RequestSource;\r\n}\r\n\r\nexport enum RequestSource {\r\n Hangfire = 0,\r\n AzureMessagingService = 1,\r\n}\r\n\r\nexport class UpdateHangfireJobCommand implements IUpdateHangfireJobCommand {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n errorMessage?: string | undefined;\r\n\r\n constructor(data?: IUpdateHangfireJobCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processName = _data[\"processName\"];\r\n this.jobName = _data[\"jobName\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.errorMessage = _data[\"errorMessage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateHangfireJobCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateHangfireJobCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processName\"] = this.processName;\r\n data[\"jobName\"] = this.jobName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateHangfireJobCommand {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n errorMessage?: string | undefined;\r\n}\r\n\r\nexport class JobExecutionInfoDto implements IJobExecutionInfoDto {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n status?: string | undefined;\r\n\r\n constructor(data?: IJobExecutionInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processName = _data[\"processName\"];\r\n this.jobName = _data[\"jobName\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): JobExecutionInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new JobExecutionInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processName\"] = this.processName;\r\n data[\"jobName\"] = this.jobName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IJobExecutionInfoDto {\r\n id?: string;\r\n processName?: string;\r\n jobName?: string;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n status?: string | undefined;\r\n}\r\n\r\nexport class IllustrationRequestDto implements IIllustrationRequestDto {\r\n id?: string;\r\n clientName?: string;\r\n clientId?: string;\r\n illustrationStage?: IllustrationStageDto;\r\n assignedToId?: string | undefined;\r\n assignedToEmail?: string;\r\n insuropeTypeOfBusiness?: boolean | undefined;\r\n commonCurrencyId?: string;\r\n memberTypeOfBusiness?: string;\r\n brokerName?: string;\r\n renewal?: boolean | undefined;\r\n statusComment?: string;\r\n networkMemberComments?: string;\r\n insuropeAdditionalComments?: string;\r\n wordMPPPath?: string;\r\n illustrationRevisions?: IllustrationRevisionDto[];\r\n illustrationType?: IllustrationTypeDto;\r\n salesRepresentative?: GraphApiUserDto;\r\n supportRepresentative?: GraphApiUserDto;\r\n networkMember?: AccountDto;\r\n countries?: CountryDto[];\r\n networkMemberSubscribers?: string[];\r\n\r\n constructor(data?: IIllustrationRequestDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.illustrationStage = _data[\"illustrationStage\"] ? IllustrationStageDto.fromJS(_data[\"illustrationStage\"]) : undefined;\r\n this.assignedToId = _data[\"assignedToId\"];\r\n this.assignedToEmail = _data[\"assignedToEmail\"];\r\n this.insuropeTypeOfBusiness = _data[\"insuropeTypeOfBusiness\"];\r\n this.commonCurrencyId = _data[\"commonCurrencyId\"];\r\n this.memberTypeOfBusiness = _data[\"memberTypeOfBusiness\"];\r\n this.brokerName = _data[\"brokerName\"];\r\n this.renewal = _data[\"renewal\"];\r\n this.statusComment = _data[\"statusComment\"];\r\n this.networkMemberComments = _data[\"networkMemberComments\"];\r\n this.insuropeAdditionalComments = _data[\"insuropeAdditionalComments\"];\r\n this.wordMPPPath = _data[\"wordMPPPath\"];\r\n if (Array.isArray(_data[\"illustrationRevisions\"])) {\r\n this.illustrationRevisions = [] as any;\r\n for (let item of _data[\"illustrationRevisions\"])\r\n this.illustrationRevisions!.push(IllustrationRevisionDto.fromJS(item));\r\n }\r\n this.illustrationType = _data[\"illustrationType\"] ? IllustrationTypeDto.fromJS(_data[\"illustrationType\"]) : undefined;\r\n this.salesRepresentative = _data[\"salesRepresentative\"] ? GraphApiUserDto.fromJS(_data[\"salesRepresentative\"]) : undefined;\r\n this.supportRepresentative = _data[\"supportRepresentative\"] ? GraphApiUserDto.fromJS(_data[\"supportRepresentative\"]) : undefined;\r\n this.networkMember = _data[\"networkMember\"] ? AccountDto.fromJS(_data[\"networkMember\"]) : undefined;\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(CountryDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"networkMemberSubscribers\"])) {\r\n this.networkMemberSubscribers = [] as any;\r\n for (let item of _data[\"networkMemberSubscribers\"])\r\n this.networkMemberSubscribers!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRequestDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRequestDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"illustrationStage\"] = this.illustrationStage ? this.illustrationStage.toJSON() : undefined;\r\n data[\"assignedToId\"] = this.assignedToId;\r\n data[\"assignedToEmail\"] = this.assignedToEmail;\r\n data[\"insuropeTypeOfBusiness\"] = this.insuropeTypeOfBusiness;\r\n data[\"commonCurrencyId\"] = this.commonCurrencyId;\r\n data[\"memberTypeOfBusiness\"] = this.memberTypeOfBusiness;\r\n data[\"brokerName\"] = this.brokerName;\r\n data[\"renewal\"] = this.renewal;\r\n data[\"statusComment\"] = this.statusComment;\r\n data[\"networkMemberComments\"] = this.networkMemberComments;\r\n data[\"insuropeAdditionalComments\"] = this.insuropeAdditionalComments;\r\n data[\"wordMPPPath\"] = this.wordMPPPath;\r\n if (Array.isArray(this.illustrationRevisions)) {\r\n data[\"illustrationRevisions\"] = [];\r\n for (let item of this.illustrationRevisions)\r\n data[\"illustrationRevisions\"].push(item.toJSON());\r\n }\r\n data[\"illustrationType\"] = this.illustrationType ? this.illustrationType.toJSON() : undefined;\r\n data[\"salesRepresentative\"] = this.salesRepresentative ? this.salesRepresentative.toJSON() : undefined;\r\n data[\"supportRepresentative\"] = this.supportRepresentative ? this.supportRepresentative.toJSON() : undefined;\r\n data[\"networkMember\"] = this.networkMember ? this.networkMember.toJSON() : undefined;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.networkMemberSubscribers)) {\r\n data[\"networkMemberSubscribers\"] = [];\r\n for (let item of this.networkMemberSubscribers)\r\n data[\"networkMemberSubscribers\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRequestDto {\r\n id?: string;\r\n clientName?: string;\r\n clientId?: string;\r\n illustrationStage?: IllustrationStageDto;\r\n assignedToId?: string | undefined;\r\n assignedToEmail?: string;\r\n insuropeTypeOfBusiness?: boolean | undefined;\r\n commonCurrencyId?: string;\r\n memberTypeOfBusiness?: string;\r\n brokerName?: string;\r\n renewal?: boolean | undefined;\r\n statusComment?: string;\r\n networkMemberComments?: string;\r\n insuropeAdditionalComments?: string;\r\n wordMPPPath?: string;\r\n illustrationRevisions?: IllustrationRevisionDto[];\r\n illustrationType?: IllustrationTypeDto;\r\n salesRepresentative?: GraphApiUserDto;\r\n supportRepresentative?: GraphApiUserDto;\r\n networkMember?: AccountDto;\r\n countries?: CountryDto[];\r\n networkMemberSubscribers?: string[];\r\n}\r\n\r\nexport class IllustrationStageDto implements IIllustrationStageDto {\r\n id?: string;\r\n name?: string;\r\n\r\n constructor(data?: IIllustrationStageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationStageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationStageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationStageDto {\r\n id?: string;\r\n name?: string;\r\n}\r\n\r\nexport class IllustrationRevisionDto implements IIllustrationRevisionDto {\r\n id?: string;\r\n requesterEmail?: string | undefined;\r\n requestDate?: Date | undefined;\r\n finalizedSupportDate?: Date | undefined;\r\n poolable?: boolean | undefined;\r\n revisionNumber?: number;\r\n illustrationRevisionOptions?: IllustrationRevisionOptionDto[];\r\n illustrationRevisionAttachments?: IllustrationRevisionAttachmentDto[];\r\n\r\n constructor(data?: IIllustrationRevisionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.requesterEmail = _data[\"requesterEmail\"];\r\n this.requestDate = _data[\"requestDate\"] ? new Date(_data[\"requestDate\"].toString()) : undefined;\r\n this.finalizedSupportDate = _data[\"finalizedSupportDate\"] ? new Date(_data[\"finalizedSupportDate\"].toString()) : undefined;\r\n this.poolable = _data[\"poolable\"];\r\n this.revisionNumber = _data[\"revisionNumber\"];\r\n if (Array.isArray(_data[\"illustrationRevisionOptions\"])) {\r\n this.illustrationRevisionOptions = [] as any;\r\n for (let item of _data[\"illustrationRevisionOptions\"])\r\n this.illustrationRevisionOptions!.push(IllustrationRevisionOptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"illustrationRevisionAttachments\"])) {\r\n this.illustrationRevisionAttachments = [] as any;\r\n for (let item of _data[\"illustrationRevisionAttachments\"])\r\n this.illustrationRevisionAttachments!.push(IllustrationRevisionAttachmentDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"requesterEmail\"] = this.requesterEmail;\r\n data[\"requestDate\"] = this.requestDate ? this.requestDate.toISOString() : undefined;\r\n data[\"finalizedSupportDate\"] = this.finalizedSupportDate ? this.finalizedSupportDate.toISOString() : undefined;\r\n data[\"poolable\"] = this.poolable;\r\n data[\"revisionNumber\"] = this.revisionNumber;\r\n if (Array.isArray(this.illustrationRevisionOptions)) {\r\n data[\"illustrationRevisionOptions\"] = [];\r\n for (let item of this.illustrationRevisionOptions)\r\n data[\"illustrationRevisionOptions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.illustrationRevisionAttachments)) {\r\n data[\"illustrationRevisionAttachments\"] = [];\r\n for (let item of this.illustrationRevisionAttachments)\r\n data[\"illustrationRevisionAttachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionDto {\r\n id?: string;\r\n requesterEmail?: string | undefined;\r\n requestDate?: Date | undefined;\r\n finalizedSupportDate?: Date | undefined;\r\n poolable?: boolean | undefined;\r\n revisionNumber?: number;\r\n illustrationRevisionOptions?: IllustrationRevisionOptionDto[];\r\n illustrationRevisionAttachments?: IllustrationRevisionAttachmentDto[];\r\n}\r\n\r\nexport class IllustrationRevisionOptionDto implements IIllustrationRevisionOptionDto {\r\n id?: string;\r\n sentToSalesRepresentativeBy?: string;\r\n sentToSalesRepresentativeDate?: Date;\r\n sentToNetworkMemberBy?: string;\r\n sentToNetworkMemberDate?: Date;\r\n sentToClientBy?: string;\r\n sentToClientDate?: Date;\r\n deleted?: boolean | undefined;\r\n sentFinalToRd?: string;\r\n sentFinalToRdDate?: Date;\r\n calcOpportunityId?: string;\r\n assignedOpportunityIds?: string;\r\n wordMPPPath?: string;\r\n pdfmppPath?: string;\r\n pdfmppName?: string;\r\n pdflocPath?: string;\r\n pdflocName?: string;\r\n optionGeneralOutput?: OptionGeneralOutputDto;\r\n\r\n constructor(data?: IIllustrationRevisionOptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.sentToSalesRepresentativeBy = _data[\"sentToSalesRepresentativeBy\"];\r\n this.sentToSalesRepresentativeDate = _data[\"sentToSalesRepresentativeDate\"] ? new Date(_data[\"sentToSalesRepresentativeDate\"].toString()) : undefined;\r\n this.sentToNetworkMemberBy = _data[\"sentToNetworkMemberBy\"];\r\n this.sentToNetworkMemberDate = _data[\"sentToNetworkMemberDate\"] ? new Date(_data[\"sentToNetworkMemberDate\"].toString()) : undefined;\r\n this.sentToClientBy = _data[\"sentToClientBy\"];\r\n this.sentToClientDate = _data[\"sentToClientDate\"] ? new Date(_data[\"sentToClientDate\"].toString()) : undefined;\r\n this.deleted = _data[\"deleted\"];\r\n this.sentFinalToRd = _data[\"sentFinalToRd\"];\r\n this.sentFinalToRdDate = _data[\"sentFinalToRdDate\"] ? new Date(_data[\"sentFinalToRdDate\"].toString()) : undefined;\r\n this.calcOpportunityId = _data[\"calcOpportunityId\"];\r\n this.assignedOpportunityIds = _data[\"assignedOpportunityIds\"];\r\n this.wordMPPPath = _data[\"wordMPPPath\"];\r\n this.pdfmppPath = _data[\"pdfmppPath\"];\r\n this.pdfmppName = _data[\"pdfmppName\"];\r\n this.pdflocPath = _data[\"pdflocPath\"];\r\n this.pdflocName = _data[\"pdflocName\"];\r\n this.optionGeneralOutput = _data[\"optionGeneralOutput\"] ? OptionGeneralOutputDto.fromJS(_data[\"optionGeneralOutput\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionOptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionOptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"sentToSalesRepresentativeBy\"] = this.sentToSalesRepresentativeBy;\r\n data[\"sentToSalesRepresentativeDate\"] = this.sentToSalesRepresentativeDate ? this.sentToSalesRepresentativeDate.toISOString() : undefined;\r\n data[\"sentToNetworkMemberBy\"] = this.sentToNetworkMemberBy;\r\n data[\"sentToNetworkMemberDate\"] = this.sentToNetworkMemberDate ? this.sentToNetworkMemberDate.toISOString() : undefined;\r\n data[\"sentToClientBy\"] = this.sentToClientBy;\r\n data[\"sentToClientDate\"] = this.sentToClientDate ? this.sentToClientDate.toISOString() : undefined;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"sentFinalToRd\"] = this.sentFinalToRd;\r\n data[\"sentFinalToRdDate\"] = this.sentFinalToRdDate ? this.sentFinalToRdDate.toISOString() : undefined;\r\n data[\"calcOpportunityId\"] = this.calcOpportunityId;\r\n data[\"assignedOpportunityIds\"] = this.assignedOpportunityIds;\r\n data[\"wordMPPPath\"] = this.wordMPPPath;\r\n data[\"pdfmppPath\"] = this.pdfmppPath;\r\n data[\"pdfmppName\"] = this.pdfmppName;\r\n data[\"pdflocPath\"] = this.pdflocPath;\r\n data[\"pdflocName\"] = this.pdflocName;\r\n data[\"optionGeneralOutput\"] = this.optionGeneralOutput ? this.optionGeneralOutput.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionOptionDto {\r\n id?: string;\r\n sentToSalesRepresentativeBy?: string;\r\n sentToSalesRepresentativeDate?: Date;\r\n sentToNetworkMemberBy?: string;\r\n sentToNetworkMemberDate?: Date;\r\n sentToClientBy?: string;\r\n sentToClientDate?: Date;\r\n deleted?: boolean | undefined;\r\n sentFinalToRd?: string;\r\n sentFinalToRdDate?: Date;\r\n calcOpportunityId?: string;\r\n assignedOpportunityIds?: string;\r\n wordMPPPath?: string;\r\n pdfmppPath?: string;\r\n pdfmppName?: string;\r\n pdflocPath?: string;\r\n pdflocName?: string;\r\n optionGeneralOutput?: OptionGeneralOutputDto;\r\n}\r\n\r\nexport class OptionGeneralOutputDto implements IOptionGeneralOutputDto {\r\n id?: string;\r\n poolingSystem?: string;\r\n\r\n constructor(data?: IOptionGeneralOutputDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.poolingSystem = _data[\"poolingSystem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OptionGeneralOutputDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OptionGeneralOutputDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"poolingSystem\"] = this.poolingSystem;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOptionGeneralOutputDto {\r\n id?: string;\r\n poolingSystem?: string;\r\n}\r\n\r\nexport class IllustrationRevisionAttachmentDto implements IIllustrationRevisionAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n filePath?: string;\r\n illustrationRevisionId?: string;\r\n opportunityId?: string;\r\n createdDate?: Date;\r\n\r\n constructor(data?: IIllustrationRevisionAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.filePath = _data[\"filePath\"];\r\n this.illustrationRevisionId = _data[\"illustrationRevisionId\"];\r\n this.opportunityId = _data[\"opportunityId\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationRevisionAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationRevisionAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"filePath\"] = this.filePath;\r\n data[\"illustrationRevisionId\"] = this.illustrationRevisionId;\r\n data[\"opportunityId\"] = this.opportunityId;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationRevisionAttachmentDto {\r\n id?: string;\r\n fileName?: string;\r\n filePath?: string;\r\n illustrationRevisionId?: string;\r\n opportunityId?: string;\r\n createdDate?: Date;\r\n}\r\n\r\nexport class IllustrationTypeDto implements IIllustrationTypeDto {\r\n id?: string;\r\n name?: string;\r\n\r\n constructor(data?: IIllustrationTypeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IllustrationTypeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IllustrationTypeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIllustrationTypeDto {\r\n id?: string;\r\n name?: string;\r\n}\r\n\r\nexport class GraphApiUserDto implements IGraphApiUserDto {\r\n id?: string;\r\n displayName?: string;\r\n mail?: string;\r\n\r\n constructor(data?: IGraphApiUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.mail = _data[\"mail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GraphApiUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GraphApiUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"mail\"] = this.mail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGraphApiUserDto {\r\n id?: string;\r\n displayName?: string;\r\n mail?: string;\r\n}\r\n\r\nexport class CreateIllustrationCommand implements ICreateIllustrationCommand {\r\n clientId?: string | undefined;\r\n clientName?: string | undefined;\r\n countriesId?: string[];\r\n files?: CustomFile[];\r\n networkMemberId?: string;\r\n accountRepresentativeEmail?: string | undefined;\r\n regionalDirectorEmail?: string | undefined;\r\n accountRepresentativeId?: string | undefined;\r\n regionalDirectorId?: string | undefined;\r\n\r\n constructor(data?: ICreateIllustrationCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n if (Array.isArray(_data[\"countriesId\"])) {\r\n this.countriesId = [] as any;\r\n for (let item of _data[\"countriesId\"])\r\n this.countriesId!.push(item);\r\n }\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(CustomFile.fromJS(item));\r\n }\r\n this.networkMemberId = _data[\"networkMemberId\"];\r\n this.accountRepresentativeEmail = _data[\"accountRepresentativeEmail\"];\r\n this.regionalDirectorEmail = _data[\"regionalDirectorEmail\"];\r\n this.accountRepresentativeId = _data[\"accountRepresentativeId\"];\r\n this.regionalDirectorId = _data[\"regionalDirectorId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateIllustrationCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateIllustrationCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n if (Array.isArray(this.countriesId)) {\r\n data[\"countriesId\"] = [];\r\n for (let item of this.countriesId)\r\n data[\"countriesId\"].push(item);\r\n }\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n data[\"networkMemberId\"] = this.networkMemberId;\r\n data[\"accountRepresentativeEmail\"] = this.accountRepresentativeEmail;\r\n data[\"regionalDirectorEmail\"] = this.regionalDirectorEmail;\r\n data[\"accountRepresentativeId\"] = this.accountRepresentativeId;\r\n data[\"regionalDirectorId\"] = this.regionalDirectorId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateIllustrationCommand {\r\n clientId?: string | undefined;\r\n clientName?: string | undefined;\r\n countriesId?: string[];\r\n files?: CustomFile[];\r\n networkMemberId?: string;\r\n accountRepresentativeEmail?: string | undefined;\r\n regionalDirectorEmail?: string | undefined;\r\n accountRepresentativeId?: string | undefined;\r\n regionalDirectorId?: string | undefined;\r\n}\r\n\r\nexport class CustomFile implements ICustomFile {\r\n file?: string;\r\n fileName?: string;\r\n\r\n constructor(data?: ICustomFile) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomFile {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomFile();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomFile {\r\n file?: string;\r\n fileName?: string;\r\n}\r\n\r\nexport class RejectIllustrationCommand implements IRejectIllustrationCommand {\r\n accountId?: string | undefined;\r\n opportunityId?: string;\r\n comments?: string[];\r\n userEmailAddress?: string;\r\n securityContext?: string;\r\n files?: CustomFile[];\r\n\r\n constructor(data?: IRejectIllustrationCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.accountId = _data[\"accountId\"];\r\n this.opportunityId = _data[\"opportunityId\"];\r\n if (Array.isArray(_data[\"comments\"])) {\r\n this.comments = [] as any;\r\n for (let item of _data[\"comments\"])\r\n this.comments!.push(item);\r\n }\r\n this.userEmailAddress = _data[\"userEmailAddress\"];\r\n this.securityContext = _data[\"securityContext\"];\r\n if (Array.isArray(_data[\"files\"])) {\r\n this.files = [] as any;\r\n for (let item of _data[\"files\"])\r\n this.files!.push(CustomFile.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RejectIllustrationCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RejectIllustrationCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"accountId\"] = this.accountId;\r\n data[\"opportunityId\"] = this.opportunityId;\r\n if (Array.isArray(this.comments)) {\r\n data[\"comments\"] = [];\r\n for (let item of this.comments)\r\n data[\"comments\"].push(item);\r\n }\r\n data[\"userEmailAddress\"] = this.userEmailAddress;\r\n data[\"securityContext\"] = this.securityContext;\r\n if (Array.isArray(this.files)) {\r\n data[\"files\"] = [];\r\n for (let item of this.files)\r\n data[\"files\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRejectIllustrationCommand {\r\n accountId?: string | undefined;\r\n opportunityId?: string;\r\n comments?: string[];\r\n userEmailAddress?: string;\r\n securityContext?: string;\r\n files?: CustomFile[];\r\n}\r\n\r\nexport class OpportunityDto implements IOpportunityDto {\r\n id?: string;\r\n description?: string;\r\n oppAccName?: string;\r\n status?: string;\r\n type?: string;\r\n win?: string;\r\n closed?: string;\r\n currentStep?: string;\r\n currentStepDate?: Date;\r\n reason?: string;\r\n createDate?: Date;\r\n countryIso2Code?: string;\r\n opportunityX?: OpportunityXDto;\r\n\r\n constructor(data?: IOpportunityDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.oppAccName = _data[\"oppAccName\"];\r\n this.status = _data[\"status\"];\r\n this.type = _data[\"type\"];\r\n this.win = _data[\"win\"];\r\n this.closed = _data[\"closed\"];\r\n this.currentStep = _data[\"currentStep\"];\r\n this.currentStepDate = _data[\"currentStepDate\"] ? new Date(_data[\"currentStepDate\"].toString()) : undefined;\r\n this.reason = _data[\"reason\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.countryIso2Code = _data[\"countryIso2Code\"];\r\n this.opportunityX = _data[\"opportunityX\"] ? OpportunityXDto.fromJS(_data[\"opportunityX\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpportunityDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpportunityDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"oppAccName\"] = this.oppAccName;\r\n data[\"status\"] = this.status;\r\n data[\"type\"] = this.type;\r\n data[\"win\"] = this.win;\r\n data[\"closed\"] = this.closed;\r\n data[\"currentStep\"] = this.currentStep;\r\n data[\"currentStepDate\"] = this.currentStepDate ? this.currentStepDate.toISOString() : undefined;\r\n data[\"reason\"] = this.reason;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"countryIso2Code\"] = this.countryIso2Code;\r\n data[\"opportunityX\"] = this.opportunityX ? this.opportunityX.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpportunityDto {\r\n id?: string;\r\n description?: string;\r\n oppAccName?: string;\r\n status?: string;\r\n type?: string;\r\n win?: string;\r\n closed?: string;\r\n currentStep?: string;\r\n currentStepDate?: Date;\r\n reason?: string;\r\n createDate?: Date;\r\n countryIso2Code?: string;\r\n opportunityX?: OpportunityXDto;\r\n}\r\n\r\nexport class OpportunityXDto implements IOpportunityXDto {\r\n opportunityXId?: string;\r\n category?: string;\r\n country?: string;\r\n productcode?: string;\r\n businessplan?: string;\r\n\r\n constructor(data?: IOpportunityXDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.opportunityXId = _data[\"opportunityXId\"];\r\n this.category = _data[\"category\"];\r\n this.country = _data[\"country\"];\r\n this.productcode = _data[\"productcode\"];\r\n this.businessplan = _data[\"businessplan\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpportunityXDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpportunityXDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"opportunityXId\"] = this.opportunityXId;\r\n data[\"category\"] = this.category;\r\n data[\"country\"] = this.country;\r\n data[\"productcode\"] = this.productcode;\r\n data[\"businessplan\"] = this.businessplan;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpportunityXDto {\r\n opportunityXId?: string;\r\n category?: string;\r\n country?: string;\r\n productcode?: string;\r\n businessplan?: string;\r\n}\r\n\r\nexport class UpdateQuestionCommand implements IUpdateQuestionCommand {\r\n categoryId?: string;\r\n question?: Question;\r\n\r\n constructor(data?: IUpdateQuestionCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.categoryId = _data[\"categoryId\"];\r\n this.question = _data[\"question\"] ? Question.fromJS(_data[\"question\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateQuestionCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateQuestionCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"categoryId\"] = this.categoryId;\r\n data[\"question\"] = this.question ? this.question.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateQuestionCommand {\r\n categoryId?: string;\r\n question?: Question;\r\n}\r\n\r\nexport class EmbedParamsDTO implements IEmbedParamsDTO {\r\n type?: string;\r\n embedReport?: EmbedReportDTO[];\r\n embedToken?: EmbedToken;\r\n\r\n constructor(data?: IEmbedParamsDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"embedReport\"])) {\r\n this.embedReport = [] as any;\r\n for (let item of _data[\"embedReport\"])\r\n this.embedReport!.push(EmbedReportDTO.fromJS(item));\r\n }\r\n this.embedToken = _data[\"embedToken\"] ? EmbedToken.fromJS(_data[\"embedToken\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedParamsDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedParamsDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.embedReport)) {\r\n data[\"embedReport\"] = [];\r\n for (let item of this.embedReport)\r\n data[\"embedReport\"].push(item.toJSON());\r\n }\r\n data[\"embedToken\"] = this.embedToken ? this.embedToken.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedParamsDTO {\r\n type?: string;\r\n embedReport?: EmbedReportDTO[];\r\n embedToken?: EmbedToken;\r\n}\r\n\r\nexport class EmbedReportDTO implements IEmbedReportDTO {\r\n reportId?: string;\r\n reportName?: string;\r\n embedUrl?: string;\r\n\r\n constructor(data?: IEmbedReportDTO) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportId = _data[\"reportId\"];\r\n this.reportName = _data[\"reportName\"];\r\n this.embedUrl = _data[\"embedUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedReportDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedReportDTO();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportId\"] = this.reportId;\r\n data[\"reportName\"] = this.reportName;\r\n data[\"embedUrl\"] = this.embedUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedReportDTO {\r\n reportId?: string;\r\n reportName?: string;\r\n embedUrl?: string;\r\n}\r\n\r\nexport class EmbedToken implements IEmbedToken {\r\n token?: string | undefined;\r\n tokenId?: string;\r\n expiration?: Date;\r\n\r\n constructor(data?: IEmbedToken) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n this.tokenId = _data[\"tokenId\"];\r\n this.expiration = _data[\"expiration\"] ? new Date(_data[\"expiration\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmbedToken {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmbedToken();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n data[\"tokenId\"] = this.tokenId;\r\n data[\"expiration\"] = this.expiration ? this.expiration.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmbedToken {\r\n token?: string | undefined;\r\n tokenId?: string;\r\n expiration?: Date;\r\n}\r\n\r\nexport class PowerBiReportDetails implements IPowerBiReportDetails {\r\n reportName?: string;\r\n reportId?: string;\r\n roles?: string[];\r\n\r\n constructor(data?: IPowerBiReportDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportName = _data[\"reportName\"];\r\n this.reportId = _data[\"reportId\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PowerBiReportDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PowerBiReportDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportName\"] = this.reportName;\r\n data[\"reportId\"] = this.reportId;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPowerBiReportDetails {\r\n reportName?: string;\r\n reportId?: string;\r\n roles?: string[];\r\n}\r\n\r\nexport class ReportAccessRoles implements IReportAccessRoles {\r\n reportName?: string;\r\n reportRoles?: string[];\r\n\r\n constructor(data?: IReportAccessRoles) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reportName = _data[\"reportName\"];\r\n if (Array.isArray(_data[\"reportRoles\"])) {\r\n this.reportRoles = [] as any;\r\n for (let item of _data[\"reportRoles\"])\r\n this.reportRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportAccessRoles {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportAccessRoles();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reportName\"] = this.reportName;\r\n if (Array.isArray(this.reportRoles)) {\r\n data[\"reportRoles\"] = [];\r\n for (let item of this.reportRoles)\r\n data[\"reportRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportAccessRoles {\r\n reportName?: string;\r\n reportRoles?: string[];\r\n}\r\n\r\nexport enum SettingCategory {\r\n Jobs = 0,\r\n Tasks = 1,\r\n PowerBiAccessRoles = 2,\r\n}\r\n\r\nexport class NewPowerBiReportSettings implements INewPowerBiReportSettings {\r\n name?: string;\r\n description?: string;\r\n value?: ReportAccessRoles;\r\n\r\n constructor(data?: INewPowerBiReportSettings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.value = _data[\"value\"] ? ReportAccessRoles.fromJS(_data[\"value\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewPowerBiReportSettings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewPowerBiReportSettings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewPowerBiReportSettings {\r\n name?: string;\r\n description?: string;\r\n value?: ReportAccessRoles;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */"],"names":["ActivatedRouteSnapshot","Router","MessageType","RoleGuardService","constructor","userService","popupNotificationService","router","checkUserRole","user","getCurrentUser","isFinancial","canActivate","route","authorizedRoles","data","loadedUser","isUnauthorized","navigate","roles","showMessage","Warning","userHasRole","role","isUserInRole","i0","factory","providedIn","NavigationCancel","MSAL_GUARD_CONFIG","EventType","InteractionType","InteractionStatus","Subject","filter","takeUntil","apiConfig","b2cPolicies","UserAction","AppComponent","msalGuardConfig","authService","msalBroadcastService","ngOnInit","localStorage","removeItem","events","subscribe","event","isIframe","getItem","setItem","url","window","parent","opener","loadingAccount","setTimeout","checkAndSetActiveAccount","instance","getActiveAccount","acquireTokenSilent","account","loginRedirect","msalSubject$","pipe","msg","eventType","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","result","notAuthenticated","payload","idTokenClaims","names","editProfile","alert","logout","setActiveAccount","termsAndConditions","approved","privacyNotices","navigateByUrl","termsAndConditionsAccepted","logUserAccess","LOGIN_FAILURE","ACQUIRE_TOKEN_FAILURE","_destroying$","inProgress$","status","None","setLoginDisplay","handleRedirectObservable","next","error","console","log","logUserActivity","Login","id","email","loginDisplay","getAllAccounts","length","activeAccount","accounts","interactionType","Popup","logoutPopup","mainWindowRedirectUri","logoutRedirect","then","usr","editProfileFlowRequest","scopes","authority","authorities","ngOnDestroy","undefined","complete","selectors","decls","vars","consts","template","_r1","EventEmitter","QueryList","SimpleChanges","faDownload","AccountDto","ContactDto","PaginatedListOfCrmAttachmentDto","PaginatedListOfExpansionPlanDto","TechnicalContact","XLSX","NgbdSortableHeaderDirective","ClientsDetailComponent","clientsService","accountService","popupNotifications","contactsService","ngOnChanges","changes","client","currentValue","loadContacts","loadContractualDocuments","loadAttachments","loadExpansionPlans","downloadAttachment","attachmentId","loadingContractualDocuments","loadingAttachments","loadingImportantFiles","file","a","document","createElement","body","appendChild","blob","Blob","type","URL","createObjectURL","href","download","fileName","click","revokeObjectURL","changeView","view","changeClientViewActiveTab","emit","viewToDisplay","downloadLatestAccountingExcel","getAccountExcelFile","externalAccountNumber","page","loadingExpansionPlans","expansionPlansPageNumber","expansionPlans","getAccountExpansionPlan","pageSize","sortColumn","sortDirection","attachmentsPageNumber","attachments","getClientContracts","items","forEach","att","order","len","fileSize","sizes","attachmentsSizes","push","toFixed","loadingContacts","technicalContact","getTechnicalContact","companyContact","GetPrimaryContactFromAccount","consultantContact","GetConsultantContactFromAccount","contractualDocumentsPageNumber","contractualDocuments","getClientContractualDocuments","contractualDocumentsSizes","exportexcel","exportingExpansionPlans","elements","totalCount","map","item","ws","utils","json_to_sheet","wb","book_new","book_append_sheet","writeFile","accountName","onSort","column","direction","headers","header","sortable","counter","i","Array","viewQuery","ActionButtonComponent","performAction","action","inputs","buttonName","shouldBeDisabled","ctx","faCircleXmark","FileSaver","UserRoles","AttachmentListComponent","activatedroute","popupNotificationsService","commentService","documentService","isCollaborator","Collaborator","taskId","snapshot","paramMap","get","sort","b","Date","fileDate","getTime","downloadFileFromPath","filePath","downloadingFile","service","downloadString","split","pop","setAttribute","style","display","removeChild","catch","Error","downloadFile","isSystemAttachment","name","downloadCommentFile","commentId","downloadAdminDbFile","path","fileType","getAdminDbDocToPdf","imageBlob","dataURItoBlob","newPath","sanitizeFileName","test","File","saveAs","dataURI","byteString","atob","arrayBuffer","ArrayBuffer","int8Array","Uint8Array","charCodeAt","deleteFile","confirm","commentAttachments","x","deleteFileFromComment","formatdate","toLocaleDateString","month","day","year","hour","minute","adminDbAttachments","illustrationAttachments","title","ElementRef","fromEvent","debounceTime","distinctUntilChanged","ClientsSearchComponent","activatedRoute","searchInputField","nativeElement","value","isOnClientView","target","res","text","clickedOnClient","fetchClients","loadClientByName","clearSearch","term","searchResult","searchingClient","getClientsByName","relativeTo","queryParams","clientName","queryParamsHandling","loadClient","clientId","clientEmitter","ActivatedRoute","MultipleFilterSearchComponent","changeFilter","getTitle","queryParamMap","params","printMessage","isNetworkMember","NetworkMember","index","filters","isPaymentsRoute","currentUrl","includes","isOnOverview","isOnIllustration","isPayments","process","NetworkMemberFilterComponent","networkMemberService","networkMemberId","getNetworkMemberById","clickedOnNm","fetchNM","filteredNetworkMembers","searchingNetworkMembers","getNetworkMembersByName","toLowerCase","selectNm","nmId","loadNetworkMember","networkMember","networkMemberEmitter","TasksStatus","StatusFilterComponent","commonService","Open","InProgress","Finalized","Closed","options","storageStatus","selected","parseInt","selectStatus","filteredOptions","Subscription","Observable","TagFilterComponent","CommentService","tagSelectedSubscription","tagSelected","tags","addTag","fetchTags","clickedOnTag","searchingTags","selectedTags","filteredTags","filteredCommentsEventEmitter","comments","filteredComments","filterCommentsByTag","messageSent","unsubscribe","tagFilterSelectedValues","comment","every","tag","some","e","tagName","startsWith","trim","removeTag","t","FormControl","FormGroup","UsersSearchComponent","inputGroup","search","selectedUserId","getUserById","preferredEmail","isInternal","users","getAllUsersByNetworkMemberId","getAllUsersByConnectedNetworkMemberId","clickedOnUser","fetchUser","filteredUsers","searchingUsers","getAllSubscriber","val","selectUser","find","addSubscriber","subscriberId","inOverview","NgbDateStruct","parseDate","YearFilterComponent","dateString","dateInput","dueDate","changeDate","getFullYear","toString","faBell","faEnvelope","faUser","HeaderComponent","userName","getCurrentUserName","NgxDocViewerModule","ModalComponent","activeModal","loading","standalone","features","i2","styles","faChevronDown","faEye","faFile","faHandshake","faCalculator","faCreditCard","faMugHot","faChartLine","faCircleQuestion","environment","NavMenuComponent","reportingClient","innerWidth","toggleNav","isExpanded","isDisabled","w","isClient","Client","isDevelopment","production","createReportsSubMenu","onResize","reloadPage","currentPath","location","reload","getReportsName","reportsSubMenuItems","ProcessIds","ctx_r0","ctx_r1","IllustrationDetailComponent","illustrationService","sanitizer","titleService","toastrService","illustrations","clientSubscribers","networkMemberSubscribers","insuropeSubscribers","getIllustration","illustrationId","illustration","getIllustrationById","task","discussion","getDiscussionByTaskId","illustrationRevisions","revisionNumber","filePathList","mppFilePaths","illustrationRevisionOptions","sentToNetworkMemberDate","pdfmppPath","deleted","pdfmppName","locFilePaths","pdflocPath","pdflocName","revisionOptionMpp","revisionId","filesPath","finalizedDate","finalizedSupportDate","rev","illustrationRevisionAttachments","internalSubscriber","active","salesRepresentative","mail","subscriberEmail","networkMemberSubscriber","taskSubscribers","supportRepresentative","skipLocationChange","setTitle","sanitize","bypassSecurityTrustUrl","downloadMppFile","loadingMppFile","geIllustrationtDocument","faBars","faTh","_","IllustrationListComponent","networkMembersService","head","property","loadIllustrations","isTableViewStoredValueKey","isTableView","storedValue","JSON","parse","changeIsTableViewValue","loadMore","loadingIllustrations","newItems","has","networkmember","statusCode","getMyOrganizationIllustrationsPaginated","networkMemberIDs","getIllustrationsPaginated","hideShowMoreBtn","updatedItems","updatedIllustration","concat","getElementById","classList","add","remove","stringify","replace","oldCharacter","newCharacter","getFinalizedSupportDate","maxDate","max","displayFilter","onOverview","faCheck","faTimes","CommentType","NotificationStatus","faChevronUp","NotificationFrequency","NotificationType","BooleanTaskDetailComponent","booleanTaskService","datePipe","loadingTask","activeBooleanTask","getTaskStatusByNumber","displayTaskAction","processId","isDeleted","getCommentAttachments","deletedCommentEventSubscription","deleteCommentEvent","filterOutDeletedAttachments","commentAttachmentAddedEventSubscription","addCommentAttachmentEvent","attachment","updateAttachmentsList","approveDisaproveTask","approvedTask","changeTaskBooleanStatus","commentDto","content","processName","networkMemberName","country","files","isEdited","isHtmlText","commentType","Comment","notificationFrequency","Instantly","notificationType","EmailNotification","notificationStatus","New","addComment","getButtonName","reject","rejectedTask","flat","sortedAttachemnts","getDueDate","booleanTask","overdueDate","transform","getApprovalDate","approvalDate","dateYear","getMetaData","sourceId","parsed","metaData","approvalQuestions","ApprovalQuestions","periodEndDate","PeriodEndDate","isNaN","SortOrder","SortingElement","faSort","head_r11","BooleanTaskListComponent","isMuView","updateProcess","checkUserRoles","lastRefreshDate","getHangfireJobStartDateExecution","changeIsMuView","muView","updateTitle","loadtasks","loadingBooleanTask","storageDueDate","filterParameter","NetworkMemberIds","ClientId","ClientName","SubscriberId","Status","ProcessId","OverdueDate","sortBystatus","columnName","getPropertyName","obj","sortOrder","Ascending","sortingElements","sortByDueDate","Descending","sortByClient","getMyOrganization","getTasks","propertyAccessor","match","statusFilter","tableView","NgZone","merge","CommentDetailComponent","text$","debouncedText$","clicksWithClosedPopup$","click$","isPopupOpen","inputFocus$","focus$","distinctTags","Set","allTags","v","indexOf","dismissPopup","slice","templateForm","textEditor","allDiscussionTags","commentReplyTagsSubscription","getCommentReplyTagsList","getCommentReplyTags","clientReplyTagsSubscription","getClientReplyTagValue","getClientReplyTag","editCommentSubscription","editCommentEvent","editComment","defaultTags","valueChanges","valid","isValid","approval","shouldSendNotification","tagReplyParameter","commentTags","formattedMessage","message","fillQuillEditorWithText","param","approvalComments","join","messageText","isClientReply","quillEditor","replyTextTitle","insertText","titleIndex","getText","formatText","setSelection","scrollToQuillEditor","editorElement","elementRef","scrollIntoView","behavior","block","onDragOver","dragAreaClass","preventDefault","onDragEnter","onDragEnd","onDragLeave","onDrop","stopPropagation","dataTransfer","fileUploaded","isUploaded","response","filesSize","size","decodedFileName","decodeURIComponent","fileNameParts","extension","cleanedFileName","newFileName","MAX_FILES_SIZE","removeFile","showFilesError","showError","splice","onClickSubmit","multipoolApprovals","Scheduled","Ignore","originalContent","formattedContent","fixQuillIndentation","isOnCreateTask","commentFormDto","Reply","Reccurent","isEdit","sentNotification","isOccurencyApplicable","shouldSendReminder","Stopped","commentEvent","reset","model","deleteTag","getAccountFile","fileResponse","getAdminDbDocument","Boolean","commentForm","showAdminDbError","updatedCommentText","lines","lineText","htmlToPlainText","cancelEdit","deleteText","getLength","html","div","innerHTML","traverseDOM","node","nodeType","Node","TEXT_NODE","textContent","ELEMENT_NODE","Element","childNodes","Renderer2","faClock","faFilePdf","faFileExcel","faFileCsv","Attachment","CommentDto","CommentTagDto","ctx_r2","CommentItemComponent","notificationService","renderer","onKeyDown","maxLength","canBeEdited","Automated","userId","canBeDeleted","discussionTags","clientNameList","notification","GetNotificationByCommentId","generateCommentPreview","getPseudo","ngAfterViewInit","contentDiv","maxHeight","maxCommentElementHeight","scrollingHeight","scrollHeight","maxElementHeight","showButton","pseudo","firstName","lastName","convertFileType","changeNotificationStatus","notif","ChangeNotificationStatus","discussionId","addReplyTags","replyTags","TagReplyParameter","setCommentReplyTagsList","findIndex","deleteCommentTags","$event","newTag","addCommentTag","filterByTag","filterByTagEvent","toggleExpand","commentText","convertToPlainText","sanitizedText","bypassSecurityTrustHtml","expandCollapseComment","shouldExpand","showMore","deleteComment","editeComment","parser","DOMParser","doc","parseFromString","paragraphElements","querySelectorAll","titleElement","querySelector","listElement","p","paragraphText","line","mainItem","substring","DiscussionDto","TaskSubscribersDto","faTrashCan","jsPDF","ctx_r6","ctx_r8","CommentListComponent","customProcessId","commentSubscribersSubscription","updateCommentSubscribers","subscribers","getSubscibers","customSubscriberProvider","getIllustrationTaskSubscriber","illustrationRequestSubscribers","getTaskSubescribersByDiscussionId","IsCollaborator","editCommentDto","TaskId","CommentId","Content","SendNotification","PeriodEnd","periodEnd","ProcessName","NetworkMemberName","CustomSubscriberProvider","Country","Title","addCommentDto","onCreatingNewTask","sendNewTask","accountInputs","annualReport","changeTaskStatus","exportDiscussion","exportCommentBuilder","imageData","messageHeader","toDateString","images","htmlToPlainTextWithImages","generatePDF","traverseDOMWithImages","depth","maxDepth","warn","prev","previousSibling","nextSibling","traverseChildren","liText","indentLevel","styleAttribute","getAttribute","marginMatch","listMarker","parentElement","from","children","indentSpacing","repeat","blueText","spanText","colorMatch","bgColorMatch","imgSrc","img","Image","src","Promise","resolve","onload","imgWidth","naturalWidth","imgHeight","naturalHeight","maxWidth","widthRatio","heightRatio","scale","Math","min","y","width","height","child","childText","margin","lineSpacing","pageWidth","internal","pageHeight","endsWith","setTextColor","cleanLine","beforeBlue","afterBlue","image","shift","imgData","convertImageToBase64","originalImg","addPage","addImage","indentationLevel","adjustedX","wrappedLines","splitTextToSize","wrappedLine","modifiedLine","textParts","currentX","color","highlight","part","textWidth","getTextWidth","rgb","Number","setFillColor","rect","save","fetch","reader","FileReader","onloadend","readAsDataURL","copySubscriberEmail","navigator","clipboard","writeText","getNetworkMemberId","sub","deleteSubscriber","subs","isCommentDeletable","limitDate","getDate","dateTime","loadTagByName","selectedTag","searchTagField","updateCommentList","updateSelectedTag","setQuillFocusEvent","quillEditorSetFocus","onNgDestroy","replyTagsSubscription","faTrash","ActionPerform","AttachmentDTO","FileUploadTaskDto","FileUploadTaskDetailComponent","fileUploadTaskService","activeFileUploadTask","statusText","uploadedFiles","savingLoader","uploadFileToTask","actionPerform","MarkAsDone","excutedByNetworkMember","treatedByNetworkMember","head_r16","FileUploadTaskListComponent","now","clientIdParam","loadingUploadTask","NetworkMemberId","sortBycreatedDate","getSendNmDate","metadata","SendNMDate","getSendClientDate","SendClientDate","getTruncatedTitle","parts","truncatedBefore","truncatedAfter","backBtn","noResultText","GeneralTaskDto","InformativeDetailComponent","informativeService","_commonService","informative","activeTask","newDueDate","displayDate","commentAtt","getPayToStatus","payTo","payStartedDate","formattedDate","class","multipoolPayments","displaySubTitle","head_r25","InformativeListComponent","defaultDate","searchDateLimit","setFullYear","loadInformatives","loadingInformativeTask","DueDate","storagePayTo","PayTo","getMonth","withMultipleComponent","models","ReportsComponent","routeReuseStrategy","shouldReuseRoute","reportName","connectedUser","loadReport","report","getToken","toPromise","firstReportUrl","embedReport","embedUrl","reportConfig","reportId","accessToken","embedToken","token","tokenType","TokenType","Embed","settings","panes","expanded","visible","hyperlinkClickBehavior","HyperlinkClickBehavior","NavigateAndRaiseEvent","background","BackgroundType","Transparent","customLayout","displayOption","DisplayOption","FitToWidth","ctx_r3","AccountInputDetailPageComponent","getFileUploadTaskByIdAndSetActive","initializeMetadatas","outstandingInputs","outstandingInputsForExcel","outstandingInputsToDisplay","addClientNameToTags","setClientReplyTagValue","OutstandingInputs","c","sa","PoolingSystem","mu","selectedColumns","xrPrValue","IsXrcolumn","IsPrcolumn","SubsidiaryName","CountryName","ApprovalLetter","AccountInputListPageComponent","ApprovalsDetailPageComponent","getBooleanTaskById","isMuTask","networkMembers","getDefaultTags","upsertDefaultTag","handledByNetworkMemberTag","handledByInsuropeTag","Approved","question","element","worksheet","table_to_sheet","filteredData","filterOutTheColumnsWithoutHeaders","filteredWorksheet","aoa_to_sheet","filteredRange","decode_range","addFormatting","workBook","range","C","s","cellAddress","r","cellRef","encode_cell","cell","nonEmptyColumns","R","row","colWidths","fill","rowCount","columnCount","col","cellContentLength","maxColumnWidth","alignment","vertical","wrapText","font","bold","wch","ApproveDisapproveClient","approvalQuestion","approvedByNetworkMember","ApprovedByNetworkMember","networkMemberApprovalDate","getUTCDate","commentMessage","SubsidiaryLabel","CommentParameter","updateTask","loadAll","GetButtonName","isApproveByNetworkMember","ApprovalsListPageComponent","changeIsMultipoolViewValue","isMultipoolViewValue","ClientsComponent","getClientSearchResponse","getAccountById","latestAnnualReportId","latestCompositionReportId","latestDividendPaymentLetterId","toJSON","getClientImportantDocuments","tabName","showDashboard","ModalBasicComponent","FaqCategoriesComponent","faqService","modalService","faqCategories","getFaqCategories","isContentEditor","ContentEditor","questions","getQuestionsOfCategory","getCategoryID","category","selectCategory","addFaqCategory","newCategory","updateFaqCategory","updateCategory","updateFaqCateogry","openCat","modalRef","open","componentInstance","isQuestion","addQuestion","newQuestionTitle","newQuestionAnswer","updateQuestion","deleteQuestion","categoryId","openQuestion","deleteQuest","questionId","FinalizedAccountsDetailPageComponent","XRReqCount","FinalizedAccountsListPageComponent","IllustrationInputDetailPageComponent","IllustrationInputListPageComponent","UntypedFormControl","UntypedFormGroup","Validators","CustomFile","faCodeBranch","IllustrationInputRequestDetailPageComponent","informativeTaskService","opportunitiesService","disabled","State","AccountRepresentative","RegionalDirector","OpportunityId","required","Recipient","getInformative","illustrationForm","controls","enable","isLoading","setValue","subTitle","AccountManager","DivisionalManager","isTaskOpen","setupSearchListeners","setTask","subscriptions","searchOpportunityField","fetchOpportunity","filteredOpportunities","searchingOpp","isOppSelected","selectedOpp","getOpportunitiesBySearchingId","delay","ms","createIllustration","getAllAttachments","customFiles","all","fileData","customFile","Success","notes","rejectIllustration","UpsertInformative","MergeTasks","toggle","selectOpportunity","opp","OverviewComponent","searchNetworkMember","hideServiceFees","PaymentsDetailPageComponent","PaymentsListPageComponent","PoolingPermissionsDetailPageComponent","PoolingPermissionsListPageComponent","DOCUMENT","CountryDto","CountyDto","requestIllustration","Guid","IllustrationRequestInputMetadata","ctx_r11","RequestIllustrationComponent","accountsService","countryService","create","loadCountries","networkMemberIds","currentUser","currentUserId","displaySubs","setValidators","searchInputClientField","fetchClient","searchInputCountryField","fetchCountry","subscription","illustrationStage","filteredClients","newClient","isCountySelected","getAccountsByState","selectedCounty","countyId","getPooledAndProspectAccountsByName","filteredCountries","searchingCountry","countries","fetchCounty","filteredCounties","searchingCounty","counties","selectClient","selectedClient","divisionalManager","userInfo","accountManager","showDiscussion","selectCountry","selectedCountry","isCountrySelected","disable","isUSA","getElementsByTagName","onclick","searchInputCountyField","selectCounty","county","sendRequestBySendingComment","sendingRequest","illustrationRequestInputMetadata","divManager","Object","assign","countryId","ServiceFeesDetailPageComponent","ServiceFeesListPageComponent","Consent","TermsAndConditionsComponent","userservice","modal","acceptBtn","acceptCheckbox","addEventListener","checked","acceptTermsAndCondtions","timeNow","toUTCString","consent","approvedDate","getCurrentUserId","newUser","upsertUser","redirectTo","refuseTermsAndCondtions","AccountsService","accountsClient","getAccountsByName","findAccountsByName","state","findAccountsByState","findPooledAndProspectAccountsByName","accountNumber","BooleanTaskService","booleanTaskClient","notificationPopupService","sortingFields","Id","SourceId","SubTitle","DisplayDate","SearchDateLimit","CreatedDate","update","fileId","systemAttachment","getSubscribersEmails","getTaskSubscribersByTaskId","ClientsService","crmAttachmentsClient","pageNumber","findAccountXesByName","getClientByName","findAccountByName","getTechnicalContactByExternalAccountNumber","accountId","getCrmAccountAttachments","getCrmAccountContractualAttachments","getCrmAccountImportantAttachments","downloadCrmAttachment","getClientById","commentsClient","asObservable","reverse","getDiscussionTaskSubscribers","getIllustrationTaskSubscribers","commentParams","addCurrentUserToSubscriber","delete","editDiscussion","lastExportedDate","updatedSubscibersList","addCurrentUserToSubscribers","tagNames","addCommentTags","getCommentTags","tagId","getDiscussionTags","editedComment","commentIndex","htmlContent","listItems","li","listItem","indentClass","cls","parentList","newList","marginLeft","tagsFilteredBy","AssignedTo","CommonService","hangfireJobExecutionService","n","isApproval","getPayToText","displayActions","assignedTo","Internal","getLastModifiedDate","lastModifiedDate","reduce","curr","lastModified","getJobInfo","endDate","MarkAsNotDone","changeActionPerform","fileList","ContactsService","contactsClient","getPrimaryContactFromAccount","getConsultantContactFromAccount","CountriesService","countriesClient","loadCounties","getCountries","getCounties","DocumentService","documentClient","getDocumentByPath","getIllustrationFile","getAdminDbDocumentInPdf","pathSplited","ESignatureService","docuSignClient","getEmbeddedUrl","embeddedEnvelop","embeddedUrl","getDocumentToSignUrl","SignerName","SignerEmail","SignerClientId","ReturnUrl","DocPdf","FaqCategoriesClient","FaqCategoryDto","QuestionClient","QuestionDto","UpdateQuestionCommand","FaqService","faqCategoriesClient","questionClient","categoryName","command","deleteFaqCategory","getQuestions","catId","answer","addFaqQuestion","FileUploadTaskService","fileUploadTaskClient","getFileUploadTaskById","getById","submit","$parameter","uploadFile","CreateIllustrationCommand","IllustrationRequestDto","IllustrationsClient","RejectIllustrationCommand","IllustrationService","illustrationsClient","startDate","findIllustration","CountriesId","accountRepresentativeEmail","accountRepresentativeId","regionalDirectorEmail","regionalDirectorId","Files","countriesId","opportunityId","userEmailAddress","UpsertGeneralTaskCommand","InformativeService","generalTaskClient","getMyOrganizationPaginated","informatives","getTasksById","upsertTask","upsert","originTaskId","destinationTaskId","mergeTasks","NetworkMembersService","networkMembersClient","networkMemberList","findNetworkMembersByName","sortedNetworkMemberList","sortBy","findNetworkMemberById","NotificationClient","UpdateNotificationStatusByCommentIdCommand","NotificationService","notificationClient","notificationsByCommentId","updateNotificationStatusByCommentId","OpportunitiesService","opportunityClient","UpdateUserConsentsCommand","UserService","userController","userClient","localStorageUser","getCurrentUserEmail","emails","getUsersByNetworkMemberId","getUsersByConnectedNetworkMemberId","getAllUsers","getPaginatedUsers","getUsers","getUserByIdByNM","nmIds","userAction","getAllSubscribeUsers","TermsAndConditions","updateConsentCommand","privacyNotice","updateUserConsents","getUserByEmail"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}