amp-workflow-ui 0.1.13 โ†’ 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context.tsx","../src/ui/Statusselector.tsx","../src/ui/dialogs/SendBackDialog.tsx","../src/ui/dialogs/ApproveDialog.tsx","../src/ui/dialogs/RejectDialog.tsx","../src/ui/dialogs/OnHoldDialog.tsx","../src/ui/CustomTimeLineWithStatus.tsx","../src/hooks/useDebounce.ts","../src/common-component/SearchBox.tsx","../src/ui/ApprovalWorkflow.tsx","../src/ui/DialogOpener.tsx","../src/index.tsx"],"names":["jsx","useState","error","jsxs","Fragment","Box","Button","Dialog","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","DialogActions","CircularProgress","Snackbar","Alert","useTheme","useMediaQuery","useEffect","MenuItem","Typography","InputAdornment","styled","Chip","React","_a","_b","_c","_d","_e","_f","_g","statusList","info","Card","CardContent","DialogOpener","ApprovalWorkflow"],"mappings":";;;;;;;;;;;;;;AAGA,IAAM,eAAA,GAAkB,cAA2C,IAAI,CAAA;AAEhE,SAAS,gBAAA,CAAiB;AAAA,EAC/B,KAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,uBAAO,GAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,OAAe,QAAA,EAAS,CAAA;AAC3D;AAEO,SAAS,kBAAA,GAA2C;AACzD,EAAA,MAAM,GAAA,GAAM,WAAW,eAAe,CAAA;AACtC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,yDAAyD,CAAA;AAAA,EAC3E;AACA,EAAA,OAAO,GAAA;AACT;ACTA,IAAM,aAAwC,CAAC;AAAA,EAC7C,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAA6B,IAAI,CAAA;AACjE,EAAA,MAAM,IAAA,GAAO,QAAQ,QAAQ,CAAA;AAE7B,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAA+C;AACxE,IAAA,WAAA,CAAY,MAAM,aAAa,CAAA;AAAA,EACjC,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,MAAM,WAAA,CAAY,IAAI,CAAA;AAE1C,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAA,GAAAA,CAAC,UAAO,OAAA,EAAQ,WAAA,EAAY,OAAM,SAAA,EAAU,OAAA,EAAS,mBAAmB,QAAA,EAAA,cAAA,EAExE,CAAA;AAAA,oBACA,IAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,IAAA;AAAA,QACA,OAAA,EAAS,WAAA;AAAA,QACT,aAAA,EAAe,EAAE,iBAAA,EAAmB,cAAA,EAAe;AAAA,QAElD,QAAA,EAAA;AAAA,UAAA,CAAC,yBACAA,GAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,SAAS,MAAM;AACb,gBAAA,UAAA,EAAW;AACX,gBAAA,WAAA,EAAY;AAAA,cACd,CAAA;AAAA,cACD,QAAA,EAAA;AAAA;AAAA,WAED;AAAA,UAED,UAAA,CAAW,GAAA,CAAI,CAAC,IAAA,qBACfA,GAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cAEC,SAAS,MAAM;AACb,gBAAA,IAAI,IAAA,CAAK,MAAA,KAAW,CAAA,EAAG,SAAA,EAAU;AAAA,qBAAA,IACxB,IAAA,CAAK,MAAA,KAAW,CAAA,EAAG,MAAA,EAAO;AAAA,qBAAA,IAC1B,IAAA,CAAK,MAAA,KAAW,CAAA,EAAG,QAAA,EAAS;AACrC,gBAAA,WAAA,EAAY;AAAA,cACd,CAAA;AAAA,cAEC,QAAA,EAAA,IAAA,CAAK;AAAA,aAAA;AAAA,YARD,IAAA,CAAK;AAAA,WAUb;AAAA;AAAA;AAAA;AACH,GAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,sBAAA,GAAQ,UAAA;AC1Cf,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAAU;AACR,EAAA,MAAM,EAAE,QAAA,EAAU,GAAA,EAAI,GAAI,kBAAA,EAAmB;AAC7C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,SAAS,EAAE,CAAA;AACzC,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,SAAwB,IAAI,CAAA;AACpE,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,SAAiB,EAAE,CAAA;AACnD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,QAAAA,CAA8C,EAAE,CAAA;AAC1E,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,YAAA,GAAe,OAAgC,IAAI,CAAA;AAGzD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,QAAAA,CAI7B;AAAA,IACD,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,EAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,mBAAA,GAAsB,MAC1B,WAAA,CAAY,CAAC,IAAA,MAAU,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,KAAA,EAAM,CAAE,CAAA;AAElD,EAAA,MAAM,mBAAmB,MAAG;AAvD9B,IAAA,IAAA,EAAA;AAuDiC,IAAA,OAAA,CAAA,EAAA,GAAA,YAAA,CAAa,YAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,KAAA,EAAA;AAAA,EAAA,CAAA;AAErD,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAAe;AACzC,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,MAAM,QAAA,GAAW,IAAI,QAAA,EAAS;AAC9B,IAAA,QAAA,CAAS,MAAA,CAAO,QAAQ,IAAI,CAAA;AAC5B,IAAA,IAAI;AACF,MAAA,MAAM,QAAA,GAAW,MAAM,GAAA,CAAI,IAAA,CAAK;AAAA,QAC9B,GAAA,EAAK,2BAAA;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY,KAAA;AAAA,QACZ,OAAA,EAAS,EAAE,cAAA,EAAgB,qBAAA;AAAsB,OAClD,CAAA;AACD,MAAA,WAAA,CAAY,QAAA,CAAS,KAAK,IAAI,CAAA;AAC9B,MAAA,eAAA,CAAgB,QAAA,CAAS,KAAK,IAAI,CAAA;AAClC,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA,EAAS,6BAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,SAASC,MAAAA,EAAY;AACnB,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA,EAAS,qBAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,CAAA,SAAE;AACA,MAAA,cAAA,CAAe,KAAK,CAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,KAAA,KACG;AACH,IAAA,IAAI,MAAM,MAAA,CAAO,KAAA,IAAS,MAAM,MAAA,CAAO,KAAA,CAAM,SAAS,CAAA,EAAG;AACvD,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,CAAC,CAAA;AACjC,MAAA,MAAM,aAAa,IAAI,CAAA;AACvB,MAAA,QAAA,CAAS,CAAC,IAAA,MAAU,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,IAAG,CAAE,CAAA;AAAA,IAC5C,CAAA,MAAO;AACL,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA,WAAA,CAAY,EAAE,CAAA;AAAA,IAChB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,IAAI,OAAA,GAAU,IAAA;AACd,IAAA,MAAM,MAAA,GAAS,EAAE,OAAA,EAAS,EAAA,EAAI,MAAM,EAAA,EAAG;AACvC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAA,CAAO,OAAA,GAAU,wBAAA;AACjB,MAAA,OAAA,GAAU,KAAA;AAAA,IACZ;AACA,IAAA,QAAA,CAAS,MAAM,CAAA;AACf,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAW,YAAY;AA9G/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA+GI,IAAA,IAAI,CAAC,gBAAe,EAAG;AACvB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAM,MAAM,GAAA,CAAI,IAAA,CAAK;AAAA,QACzB,GAAA,EAAK,uBAAuB,aAAa,CAAA,CAAA;AAAA,QACzC,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA,IAAA,EAAM,YAAA;AAAA,UACN,UAAA,EAAA,CAAY,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB;AAAA,SAClC;AAAA,QACA,UAAA,EAAY;AAAA,OACb,CAAA;AAED,MAAA,IAAA,CAAI,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,YAAW,GAAA,EAAK;AACvB,QAAA,WAAA,CAAY;AAAA,UACV,IAAA,EAAM,IAAA;AAAA,UACN,OAAA,EAAS,kCAAA;AAAA,UACT,QAAA,EAAU;AAAA,SACX,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,WAAA,CAAY;AAAA,UACV,IAAA,EAAM,IAAA;AAAA,UACN,OAAA,EAAA,CAAA,CACG,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAa,KAAA,KAAb,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,OAAA,KAAW,kCAAA;AAAA,UAClC,QAAA,EAAU;AAAA,SACX,CAAA;AAAA,MACH;AAAA,IACF,SAAS,CAAA,EAAQ;AACf,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,WAAS,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,QAAA,KAAH,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,IAAA,KAAb,mBAAmB,OAAA,KAAW,6BAAA;AAAA,QACvC,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,CAAA,SAAE;AAEA,MAAA,UAAA,CAAW,EAAE,CAAA;AACb,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA,WAAA,CAAY,EAAE,CAAA;AACd,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA,UAAA,IAAc,UAAA,EAAW;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,uBACEC,IAAAA,CAAAC,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,IAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,UAAA;AAAA,QACT,iBAAA,EAAgB,yBAAA;AAAA,QAChB,IAAI,EAAE,kCAAA,EAAoC,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,QAE7D,QAAA,EAAA;AAAA,0BAAAA,IAAAA;AAAA,YAACE,KAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,eAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA,CAAC,WAAA,EAAA,EAAY,EAAA,EAAG,yBAAA,EAA2B,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,gCAClDA,GAAAA,CAAC,UAAA,EAAA,EAAW,kBAAA,EAAkB,IAAA,EAAC,eAAa,IAAA,EAAC,OAAA,EAAS,UAAA,EACpD,QAAA,kBAAAA,IAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,CAAA,EACjD;AAAA;AAAA;AAAA,WACF;AAAA,0BAEAA,GAAAA,CAAC,aAAA,EAAA,EACC,QAAA,kBAAAA,GAAAA,CAACK,SAAI,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,IACb,QAAA,kBAAAF,IAAAA,CAAC,QAAK,SAAA,EAAS,IAAA,EAAC,SAAS,CAAA,EACvB,QAAA,EAAA;AAAA,4BAAAH,IAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EAAC,EAAA,EAAI,IACb,QAAA,kBAAAA,GAAAA;AAAA,cAAC,SAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAS,IAAA;AAAA,gBACT,KAAA,EAAM,SAAA;AAAA,gBACN,KAAA,EAAO,OAAA;AAAA,gBACP,WAAA,EAAY,cAAA;AAAA,gBACZ,UAAU,CAAC,CAAA,KAAM,UAAA,CAAW,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,gBAC1C,QAAA,EAAQ,IAAA;AAAA,gBACR,KAAA,EAAO,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,gBACf,YAAY,KAAA,CAAM;AAAA;AAAA,aACpB,EACF,CAAA;AAAA,4BAEAG,IAAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EAAC,IAAI,EAAA,EACb,QAAA,EAAA;AAAA,8BAAAH,GAAAA;AAAA,gBAAC,SAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,MAAA;AAAA,kBACL,SAAA,EAAS,IAAA;AAAA,kBACT,KAAA,EAAM,YAAA;AAAA,kBACN,WAAA,EAAY,YAAA;AAAA,kBACZ,UAAA,EAAY;AAAA,oBACV,YAAA,kBACEA,GAAAA,CAAC,cAAA,EAAA,EAAe,UAAS,KAAA,EACtB,QAAA,EAAA,WAAA,mBACCA,GAAAA,CAAC,oBAAiB,IAAA,EAAM,EAAA,EAAI,KAAA,EAAM,SAAA,EAAU,oBAE5CA,GAAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,SAAA,EAAU,eAAA;AAAA,wBACV,KAAA,EAAO,EAAE,MAAA,EAAQ,SAAA,EAAU;AAAA,wBAC3B,OAAA,EAAS;AAAA;AAAA,qBACV,EAEL;AAAA,mBAEJ;AAAA,kBACA,OAAA,EAAS,gBAAA;AAAA,kBACT,KAAA,EAAO,QAAA;AAAA,kBACP,KAAA,EAAO,CAAC,CAAC,KAAA,CAAM,IAAA;AAAA,kBACf,YAAY,KAAA,CAAM;AAAA;AAAA,eACpB;AAAA,8BACAA,GAAAA;AAAA,gBAAC,OAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,MAAA;AAAA,kBACL,GAAA,EAAK,YAAA;AAAA,kBACL,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAO;AAAA,kBACzB,QAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EACF;AAAA,WAAA,EACF,GACF,CAAA,EACF,CAAA;AAAA,0BAEAA,GAAAA,CAAC,aAAA,EAAA,EACC,QAAA,kBAAAG,IAAAA;AAAA,YAACE,KAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,UAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,UAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,UAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE;AAAA,oBACb,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCACAN,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,QAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,WAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,UAAU,OAAA,IAAW,WAAA;AAAA,oBAEpB,QAAA,EAAA,OAAA,mBACCN,GAAAA,CAAC,gBAAA,EAAA,EAAiB,MAAM,EAAA,EAAI,KAAA,EAAM,WAAU,CAAA,GAE5C;AAAA;AAAA;AAEJ;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF;AAAA,oBAGAA,GAAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,MAAM,QAAA,CAAS,IAAA;AAAA,QACf,gBAAA,EAAkB,GAAA;AAAA,QAClB,OAAA,EAAS,mBAAA;AAAA,QACT,YAAA,EAAc,EAAE,QAAA,EAAU,KAAA,EAAO,YAAY,OAAA,EAAQ;AAAA,QAErD,QAAA,kBAAAA,GAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,mBAAA;AAAA,YACT,UAAU,QAAA,CAAS,QAAA;AAAA,YACnB,EAAA,EAAI;AAAA,cACF,KAAA,EAAO,MAAA;AAAA,cACP,KAAA,EAAO,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,MAAA,GAAS,SAAA;AAAA,cAChD,OAAA,EAAS,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,SAAA,GAAY,MAAA;AAAA,cACrD,MAAA,EAAQ;AAAA,aACV;AAAA,YAEC,QAAA,EAAA,QAAA,CAAS;AAAA;AAAA;AACZ;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,IAAO,sBAAA,GAAQ,cAAA;AClQf,SAAS,aAAA,CAAc;AAAA,EACrB,SAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,EAAU;AACR,EAAA,MAAM,EAAE,QAAA,EAAU,GAAA,EAAI,GAAI,kBAAA,EAAmB;AAC7C,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAmB,aAAA,CAAc,KAAA,CAAM,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC;AAE7D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,SAAS,EAAE,CAAA;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,QAAAA,CAA+B,EAAE,CAAA;AAC3D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAS,KAAK,CAAA;AAG5C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,QAAAA,CAI7B;AAAA,IACD,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,EAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,mBAAA,GAAsB,MAC1B,WAAA,CAAY,CAAC,IAAA,MAAU,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,KAAA,EAAM,CAAE,CAAA;AAElD,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,IAAI,OAAA,GAAU,IAAA;AACd,IAAA,MAAM,WAAiC,EAAC;AAExC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,QAAA,CAAS,OAAA,GAAU,0BAAA;AACnB,MAAA,OAAA,GAAU,KAAA;AAAA,IACZ;AAEA,IAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAW,YAAY;AAtE/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAuEI,IAAA,IAAI,CAAC,gBAAe,EAAG;AAEvB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,IAAI,IAAA,CAAK;AAAA,QACb,GAAA,EAAK,CAAA,wBAAA,EAA2B,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA;AAAA,QACzD,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA,UAAA,EAAA,CAAY,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB;AAAA,SAClC;AAAA,QACA,UAAA,EAAY;AAAA,OACb,CAAA;AAGD,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA,EAAS,wBAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,SAAS,CAAA,EAAQ;AAEf,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,WAAS,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,QAAA,KAAH,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,IAAA,KAAb,mBAAmB,OAAA,KAAW,gCAAA;AAAA,QACvC,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,EAAE,CAAA;AACb,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA,UAAA,IAAc,UAAA,EAAW;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,uBACEE,IAAAA,CAAAC,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,IAAAA;AAAA,MAACI,MAAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,UAAA;AAAA,QACT,iBAAA,EAAgB,yBAAA;AAAA,QAChB,IAAI,EAAE,kCAAA,EAAoC,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,QAE7D,QAAA,EAAA;AAAA,0BAAAJ,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,eAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA,CAACQ,WAAAA,EAAA,EAAY,EAAA,EAAG,2BAA2B,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,gCAClDR,GAAAA,CAACS,UAAAA,EAAA,EAAW,kBAAA,EAAkB,IAAA,EAAC,eAAa,IAAA,EAAC,OAAA,EAAS,YACpD,QAAA,kBAAAT,GAAAA,CAACU,kBAAA,EAAiB,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,CAAA,EACjD;AAAA;AAAA;AAAA,WACF;AAAA,0BAEAV,GAAAA,CAACW,aAAAA,EAAA,EACC,QAAA,kBAAAX,GAAAA,CAACK,KAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE,EACf,QAAA,kBAAAL,GAAAA,CAACY,IAAAA,EAAA,EAAK,SAAA,EAAS,IAAA,EAAC,OAAA,EAAS,CAAA,EACvB,QAAA,kBAAAZ,GAAAA,CAACY,IAAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EAAC,EAAA,EAAI,IACb,QAAA,kBAAAZ,GAAAA;AAAA,YAACa,SAAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAS,IAAA;AAAA,cACT,KAAA,EAAM,SAAA;AAAA,cACN,KAAA,EAAO,OAAA;AAAA,cACP,WAAA,EAAY,cAAA;AAAA,cACZ,UAAU,CAAC,CAAA,KAAM,UAAA,CAAW,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cAC1C,QAAA,EAAQ,IAAA;AAAA,cACR,KAAA,EAAO,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,cACf,YAAY,KAAA,CAAM;AAAA;AAAA,WACpB,EACF,CAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,0BAEAb,GAAAA,CAACc,aAAAA,EAAA,EACC,QAAA,kBAAAX,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,UAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,UAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,UAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE;AAAA,oBACb,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCAEAN,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,QAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,WAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,QAAA,EAAU,OAAA;AAAA,oBAET,QAAA,EAAA,OAAA,mBACCN,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,KAAA,EAAM,SAAA,EAAU,CAAA,GAE5C;AAAA;AAAA;AAEJ;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF;AAAA,oBAGAf,GAAAA;AAAA,MAACgB,QAAAA;AAAA,MAAA;AAAA,QACC,MAAM,QAAA,CAAS,IAAA;AAAA,QACf,gBAAA,EAAkB,GAAA;AAAA,QAClB,OAAA,EAAS,mBAAA;AAAA,QACT,YAAA,EAAc,EAAE,QAAA,EAAU,KAAA,EAAO,YAAY,OAAA,EAAQ;AAAA,QAErD,QAAA,kBAAAhB,GAAAA;AAAA,UAACiB,KAAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,mBAAA;AAAA,YACT,UAAU,QAAA,CAAS,QAAA;AAAA,YACnB,EAAA,EAAI;AAAA,cACF,KAAA,EAAO,MAAA;AAAA,cACP,KAAA,EAAO,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,MAAA,GAAS,SAAA;AAAA,cAChD,OAAA,EAAS,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,SAAA,GAAY,MAAA;AAAA,cACrD,MAAA,EAAQ;AAAA,aACV;AAAA,YAEC,QAAA,EAAA,QAAA,CAAS;AAAA;AAAA;AACZ;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,IAAO,qBAAA,GAAQ,aAAA;ACzKf,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAU;AACR,EAAA,MAAM,EAAE,QAAA,EAAU,GAAA,EAAI,GAAI,kBAAA,EAAmB;AAC7C,EAAA,MAAM,QAAQC,QAAAA,EAAS;AACvB,EAAmBC,aAAAA,CAAc,KAAA,CAAM,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC;AAC7D,EAAA,MAAM,YAAY,MAAG;AA7CvB,IAAA,IAAA,EAAA;AA8CI,IAAA,uBAAAnB,GAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,EAAE,KAAA,EAAA,CAAA,CAAO,EAAA,GAAA,KAAA,CAAM,QAAQ,YAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAA4B,aAAY,MAAA,EAAO;AAAA,QAC/D,SAAA,EAAU;AAAA;AAAA,KACX;AAAA,EAAA,CAAA;AAGH,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,SAAiB,EAAE,CAAA;AAC7D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAS,EAAE,CAAA;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,QAAAA,CAAS,EAAE,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,EAAA,EAAI,CAAA;AAC9D,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAIA,QAAAA,CAAc,EAAE,CAAA;AACxE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAS,KAAK,CAAA;AAG5C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,QAAAA,CAI7B;AAAA,IACD,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,EAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,mBAAA,GAAsB,MAC1B,WAAA,CAAY,CAAC,IAAA,MAAU,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,KAAA,EAAM,CAAE,CAAA;AAElD,EAAAmB,UAAU,MAAM;AACd,IAAA,CAAC,YAAY;AAzEjB,MAAA,IAAA,EAAA;AA0EM,MAAA,IAAI;AACF,QAAA,IAAI,CAAC,qBAAqB,MAAA,EAAQ;AAChC,UAAA,MAAM,GAAA,GAAM,MAAM,GAAA,CAAI,GAAA,CAAI;AAAA,YACxB,GAAA,EAAK,qCAAqC,uBAAuB,CAAA,CAAA;AAAA,YACjE,UAAA,EAAY;AAAA,WACb,CAAA;AACD,UAAA,uBAAA,CAAA,CAAA,CAAwB,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,IAAA,KAAL,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAW,IAAA,KAAQ,EAAE,CAAA;AAAA,QAC/C;AAAA,MACF,SAAS,CAAA,EAAG;AACV,QAAA,WAAA,CAAY;AAAA,UACV,IAAA,EAAM,IAAA;AAAA,UACN,OAAA,EAAS,gCAAA;AAAA,UACT,QAAA,EAAU;AAAA,SACX,CAAA;AAAA,MACH;AAAA,IACF,CAAA,GAAG;AAAA,EACL,CAAA,EAAG,CAAC,uBAAuB,CAAC,CAAA;AAE5B,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,IAAI,OAAA,GAAU,IAAA;AACd,IAAA,MAAM,MAAA,GAAS,EAAE,MAAA,EAAQ,EAAA,EAAI,SAAS,EAAA,EAAG;AACzC,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA,MAAA,CAAO,MAAA,GAAS,+BAAA;AAChB,MAAA,OAAA,GAAU,KAAA;AAAA,IACZ;AACA,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAA,CAAO,OAAA,GAAU,wBAAA;AACjB,MAAA,OAAA,GAAU,KAAA;AAAA,IACZ;AACA,IAAA,QAAA,CAAS,MAAM,CAAA;AACf,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAW,YAAY;AA3G/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4GI,IAAA,IAAI,CAAC,gBAAe,EAAG;AACvB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,IAAI,IAAA,CAAK;AAAA,QACb,GAAA,EAAK,CAAA,wBAAA,EAA2B,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA;AAAA,QACzD,IAAA,EAAM;AAAA,UACJ,MAAA,EAAQ,aAAA;AAAA,UACR,OAAA;AAAA,UACA,UAAA,EAAA,CAAY,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB;AAAA,SAClC;AAAA,QACA,UAAA,EAAY;AAAA,OACb,CAAA;AAGD,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA,EAAS,wBAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,SAAS,CAAA,EAAQ;AACf,MAAA,MAAM,YAAU,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,QAAA,KAAH,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,IAAA,KAAb,mBAAmB,OAAA,KAAW,uBAAA;AAC9C,MAAA,OAAA,CAAQ,KAAA,CAAM,wBAAmB,OAAO,CAAA;AACxC,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA;AAAA,QACA,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,CAAA,SAAE;AAEA,MAAA,UAAA,CAAW,EAAE,CAAA;AACb,MAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA,UAAA,IAAc,UAAA,EAAW;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,uBACEjB,IAAAA,CAAAC,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,IAAAA;AAAA,MAACI,MAAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,UAAA;AAAA,QACT,iBAAA,EAAgB,yBAAA;AAAA,QAChB,IAAI,EAAE,kCAAA,EAAoC,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,QAE7D,QAAA,EAAA;AAAA,0BAAAJ,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,eAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA,CAACQ,WAAAA,EAAA,EAAY,EAAA,EAAG,2BAA2B,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,gCAClDR,GAAAA,CAACS,UAAAA,EAAA,EAAW,kBAAA,EAAkB,IAAA,EAAC,eAAa,IAAA,EAAC,OAAA,EAAS,YACpD,QAAA,kBAAAT,GAAAA,CAACU,kBAAA,EAAiB,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,CAAA,EACjD;AAAA;AAAA;AAAA,WACF;AAAA,0BAEAV,IAACW,aAAAA,EAAA,EACC,0BAAAX,GAAAA,CAACK,KAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,IAAI,CAAA,EAAE,EACf,0BAAAF,IAAAA,CAACS,IAAAA,EAAA,EAAK,SAAA,EAAS,IAAA,EAAC,SAAS,CAAA,EACvB,QAAA,EAAA;AAAA,4BAAAZ,IAACY,IAAAA,EAAA,EAAK,MAAI,IAAA,EAAC,EAAA,EAAI,IACb,QAAA,kBAAAT,IAAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAS,MAAC,QAAA,EAAQ,IAAA,EAAC,OAAO,CAAC,CAAC,MAAM,MAAA,EAC7C,QAAA,EAAA;AAAA,8BAAAH,IAAC,UAAA,EAAA,EAAW,QAAA,EAAQ,IAAA,EAAC,EAAA,EAAG,uBAAsB,QAAA,EAAA,gBAAA,EAE9C,CAAA;AAAA,8BACAA,GAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAe,SAAA;AAAA,kBACf,KAAA,EAAM,gBAAA;AAAA,kBACN,KAAA,EAAO,aAAA;AAAA,kBACP,EAAA,EAAG,eAAA;AAAA,kBACH,OAAA,EAAQ,qBAAA;AAAA,kBACR,UAAU,CAAC,CAAA,KAAM,gBAAA,CAAiB,CAAA,CAAE,OAAO,KAAe,CAAA;AAAA,kBAEzD,QAAA,EAAA,oBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,oBAAA,CAAsB,GAAA,CAAI,CAAC,OAAA,qBAC1BA,GAAAA,CAACqB,QAAAA,EAAA,EAA2B,KAAA,EAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,EAAA,EACzC,QAAA,EAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,IAAA,EAAA,EADG,mCAAS,EAExB,CAAA;AAAA;AAAA,eAEJ;AAAA,cACC,KAAA,CAAM,MAAA,oBACLrB,GAAAA,CAAC,UAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,OAAA,EACjC,QAAA,EAAA,KAAA,CAAM,MAAA,EACT;AAAA,aAAA,EAEJ,CAAA,EACF,CAAA;AAAA,4BAEAA,IAACY,IAAAA,EAAA,EAAK,MAAI,IAAA,EAAC,EAAA,EAAI,IACb,QAAA,kBAAAZ,GAAAA;AAAA,cAACa,SAAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAS,IAAA;AAAA,gBACT,KAAA,EAAM,SAAA;AAAA,gBACN,KAAA,EAAO,OAAA;AAAA,gBACP,WAAA,EAAY,cAAA;AAAA,gBACZ,UAAU,CAAC,CAAA,KAAM,UAAA,CAAW,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,gBAC1C,QAAA,EAAQ,IAAA;AAAA,gBACR,KAAA,EAAO,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,gBACf,YAAY,KAAA,CAAM;AAAA;AAAA,aACpB,EACF;AAAA,WAAA,EACF,GACF,CAAA,EACF,CAAA;AAAA,0BAEAb,GAAAA,CAACc,aAAAA,EAAA,EACC,QAAA,kBAAAX,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,UAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,UAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,UAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE;AAAA,oBACb,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCACAN,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,QAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,WAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,QAAA,EAAU,OAAA;AAAA,oBAET,QAAA,EAAA,OAAA,mBACCN,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,KAAA,EAAM,SAAA,EAAU,CAAA,GAE5C;AAAA;AAAA;AAEJ;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF;AAAA,oBAGAf,GAAAA;AAAA,MAACgB,QAAAA;AAAA,MAAA;AAAA,QACC,MAAM,QAAA,CAAS,IAAA;AAAA,QACf,gBAAA,EAAkB,GAAA;AAAA,QAClB,OAAA,EAAS,mBAAA;AAAA,QACT,YAAA,EAAc,EAAE,QAAA,EAAU,KAAA,EAAO,YAAY,OAAA,EAAQ;AAAA,QAErD,QAAA,kBAAAhB,GAAAA;AAAA,UAACiB,KAAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,mBAAA;AAAA,YACT,UAAU,QAAA,CAAS,QAAA;AAAA,YACnB,EAAA,EAAI;AAAA,cACF,KAAA,EAAO,MAAA;AAAA,cACP,KAAA,EAAO,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,MAAA,GAAS,SAAA;AAAA,cAChD,OAAA,EAAS,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,SAAA,GAAY,MAAA;AAAA,cACrD,MAAA,EAAQ;AAAA,aACV;AAAA,YAEC,QAAA,EAAA,QAAA,CAAS;AAAA;AAAA;AACZ;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,IAAO,oBAAA,GAAQ,YAAA;ACjPf,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,EAAU;AACR,EAAA,MAAM,EAAE,QAAA,EAAU,GAAA,EAAI,GAAI,kBAAA,EAAmB;AAC7C,EAAA,MAAM,QAAQC,QAAAA,EAAS;AACvB,EAAmBC,aAAAA,CAAc,KAAA,CAAM,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC;AAE7D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIlB,SAAS,EAAE,CAAA;AACzC,EAAA,MAAM,CAAC,OAAO,QAAQ,CAAA,GAAIA,SAAS,EAAE,OAAA,EAAS,IAAI,CAAA;AAClD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAS,KAAK,CAAA;AAG5C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,QAAAA,CAI7B;AAAA,IACD,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,EAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,mBAAA,GAAsB,MAC1B,WAAA,CAAY,CAAC,IAAA,MAAU,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,KAAA,EAAM,CAAE,CAAA;AAElD,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,IAAI,OAAA,GAAU,IAAA;AACd,IAAA,MAAM,MAAA,GAAS,EAAE,OAAA,EAAS,EAAA,EAAG;AAE7B,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAA,CAAO,OAAA,GAAU,wBAAA;AACjB,MAAA,OAAA,GAAU,KAAA;AAAA,IACZ;AAEA,IAAA,QAAA,CAAS,MAAM,CAAA;AACf,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAW,YAAY;AAtE/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAuEI,IAAA,IAAI,CAAC,gBAAe,EAAG;AACvB,IAAA,UAAA,CAAW,IAAI,CAAA;AAEf,IAAA,IAAI;AACF,MAAA,MAAM,IAAI,IAAA,CAAK;AAAA,QACb,GAAA,EAAK,CAAA,wBAAA,EAA2B,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA;AAAA,QACzD,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA,UAAA,EAAA,CAAY,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB;AAAA,SAClC;AAAA,QACA,UAAA,EAAY;AAAA,OACb,CAAA;AAGD,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,OAAA,EAAS,gCAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,SAAS,CAAA,EAAQ;AAEf,MAAA,WAAA,CAAY;AAAA,QACV,IAAA,EAAM,IAAA;AAAA,QACN,WAAS,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,QAAA,KAAH,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,IAAA,KAAb,mBAAmB,OAAA,KAAW,2BAAA;AAAA,QACvC,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,EAAE,CAAA;AACb,MAAA,UAAA,IAAc,UAAA,EAAW;AACzB,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA;AAEA,EAAA,uBACEE,IAAAA,CAAAC,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,IAAAA;AAAA,MAACI,MAAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,UAAA;AAAA,QACT,iBAAA,EAAgB,yBAAA;AAAA,QAChB,IAAI,EAAE,kCAAA,EAAoC,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,QAG7D,QAAA,EAAA;AAAA,0BAAAJ,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,eAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA,CAACQ,WAAAA,EAAA,EAAY,EAAA,EAAG,2BAA2B,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,gCAClDR,GAAAA,CAACS,UAAAA,EAAA,EAAW,kBAAA,EAAkB,IAAA,EAAC,eAAa,IAAA,EAAC,OAAA,EAAS,YACpD,QAAA,kBAAAT,GAAAA,CAACU,kBAAA,EAAiB,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,CAAA,EACjD;AAAA;AAAA;AAAA,WACF;AAAA,0BAGAV,GAAAA,CAACW,aAAAA,EAAA,EACC,QAAA,kBAAAX,GAAAA,CAACK,KAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE,EACf,QAAA,kBAAAL,GAAAA,CAACY,IAAAA,EAAA,EAAK,SAAA,EAAS,IAAA,EAAC,OAAA,EAAS,CAAA,EACvB,QAAA,kBAAAZ,GAAAA,CAACY,IAAAA,EAAA,EAAK,IAAA,EAAI,IAAA,EAAC,EAAA,EAAI,IACb,QAAA,kBAAAZ,GAAAA;AAAA,YAACa,SAAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAS,IAAA;AAAA,cACT,KAAA,EAAM,SAAA;AAAA,cACN,KAAA,EAAO,OAAA;AAAA,cACP,WAAA,EAAY,cAAA;AAAA,cACZ,UAAU,CAAC,CAAA,KAAM,UAAA,CAAW,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cAC1C,QAAA,EAAQ,IAAA;AAAA,cACR,KAAA,EAAO,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,cACf,YAAY,KAAA,CAAM;AAAA;AAAA,WACpB,EACF,CAAA,EACF,CAAA,EACF,CAAA,EACF,CAAA;AAAA,0BAGAb,GAAAA,CAACc,aAAAA,EAAA,EACC,QAAA,kBAAAX,IAAAA;AAAA,YAACE,KAAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAI;AAAA,gBACF,OAAA,EAAS,MAAA;AAAA,gBACT,cAAA,EAAgB,UAAA;AAAA,gBAChB,UAAA,EAAY;AAAA,eACd;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAAL,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,UAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,UAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE;AAAA,oBACb,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCAEAN,GAAAA;AAAA,kBAACM,MAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,QAAA;AAAA,oBACT,IAAA,EAAK,OAAA;AAAA,oBACL,OAAA,EAAQ,WAAA;AAAA,oBACR,KAAA,EAAM,SAAA;AAAA,oBACN,QAAA,EAAU,OAAA;AAAA,oBAET,QAAA,EAAA,OAAA,mBACCN,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,KAAA,EAAM,SAAA,EAAU,CAAA,GAE5C;AAAA;AAAA;AAEJ;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF;AAAA,oBAGAf,GAAAA;AAAA,MAACgB,QAAAA;AAAA,MAAA;AAAA,QACC,MAAM,QAAA,CAAS,IAAA;AAAA,QACf,gBAAA,EAAkB,GAAA;AAAA,QAClB,OAAA,EAAS,mBAAA;AAAA,QACT,YAAA,EAAc,EAAE,QAAA,EAAU,KAAA,EAAO,YAAY,OAAA,EAAQ;AAAA,QAErD,QAAA,kBAAAhB,GAAAA;AAAA,UAACiB,KAAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,mBAAA;AAAA,YACT,UAAU,QAAA,CAAS,QAAA;AAAA,YACnB,EAAA,EAAI;AAAA,cACF,KAAA,EAAO,MAAA;AAAA,cACP,KAAA,EAAO,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,MAAA,GAAS,SAAA;AAAA,cAChD,OAAA,EAAS,QAAA,CAAS,QAAA,KAAa,OAAA,GAAU,SAAA,GAAY,MAAA;AAAA,cACrD,MAAA,EAAQ;AAAA,aACV;AAAA,YAEC,QAAA,EAAA,QAAA,CAAS;AAAA;AAAA;AACZ;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,IAAO,oBAAA,GAAQ,YAAA;ACvMf,IAAM,SAAA,GAAY;AAAA,EAChB,UAAA,EAAY;AAAA,IACV,SAAA,EAAW,CAAA;AAAA,IACX,WAAA,EAAa,CAAA;AAAA,IACb,kBAAA,EAAoB,EAAA;AAAA,IACpB,KAAA,EAAO;AAAA,GACT;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW,CAAA;AAAA,IACX,MAAA,EAAQ,EAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;AAIA,IAAM,UAAA,GAAa,GAAA;AACnB,IAAM,WAAA,GAAc,GAAA;AACpB,IAAM,GAAA,GAAM,EAAA;AACZ,IAAM,OAAA,GAAU,EAAA;AAIhB,IAAM,UAAA,GAAa,OAAO,IAAI,CAAA;AAAA,EAC5B,CAAC,EAAE,KAAA,EAAO,QAAA,EAAS,MAAO;AAAA,IACxB,KAAA,EAAO,UAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,YAAA,EAAc,EAAA;AAAA,IACd,iBACE,QAAA,KAAa,SAAA,GACT,oBAAA,GACA,QAAA,KAAa,gBACb,oBAAA,GACA,oBAAA;AAAA,IACN,MAAA,EACE,aAAa,aAAA,GACT,MAAA,GACA,aAAa,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,IAC7C,QAAA,EAAU,QAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACZ;AACF,CAAA;AAEA,IAAM,IAAA,GAAO,CAAC,EAAE,KAAA,EAAO,UAAS,KAAyC;AACvE,EAAA,MAAM,QAAQC,QAAAA,EAAS;AACvB,EAAA,uBACElB,GAAAA;AAAA,IAACK,KAAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI;AAAA,QACF,KAAA,EAAO,EAAA;AAAA,QACP,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,MAAA;AAAA,QACT,cAAA,EAAgB,QAAA;AAAA,QAChB,UAAA,EAAY,QAAA;AAAA,QACZ,YAAA,EAAc,KAAA;AAAA,QACd,UAAA,EAAY,MAAA;AAAA,QACZ,MAAA,EACE,QAAA,KAAa,aAAA,GACT,CAAA,UAAA,EAAa,MAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,GACpC,CAAA,UAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,QAC7C,KAAA,EACE,QAAA,KAAa,aAAA,GACT,KAAA,CAAM,OAAA,CAAQ,KAAK,GAAG,CAAA,GACtB,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,IAAA;AAAA,QAC5B,UAAA,EAAY,GAAA;AAAA,QACZ,QAAA,EAAU;AAAA,OACZ;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ,CAAA;AAMe,SAAR,wBAAA,CAA0C,EAAE,MAAA,EAAO,EAAQ;AAChE,EAAca,QAAAA;AAGd,EAAA,MAAM,OAAgB,EAAC;AACvB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,QAAQ,CAAA,IAAK,CAAA,EAAG,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA,EAAG,CAAA,GAAI,CAAC,CAAC,CAAA;AAG3E,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAkB;AACvC,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,KAAA,CAAM,KAAA,GAAQ,CAAC,CAAA;AAChC,IAAA,MAAM,MAAM,KAAA,GAAQ,CAAA;AACpB,IAAA,OAAO,GAAA,GAAM,CAAA,KAAM,CAAA,GAAI,GAAA,GAAM,CAAA,GAAI,GAAA;AAAA,EACnC,CAAA;AAGA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAc,CAAA,GAAI,IAAI,MAAA,CAAO,MAAA;AAGlD,EAAA,MAAM,cAAA,GAAiB,CAAC,QAAA,KAAqB;AAC3C,IAAA,MAAM,OAAA,GAAU,WAAA,GAAc,CAAA,GAAI,SAAA,CAAU,WAAW,SAAA,GAAY,CAAA;AACnE,IAAA,OAAO,WAAW,CAAA,KAAM,CAAA,GACpB,OAAA,GACA,OAAA,GAAU,UAAU,UAAA,CAAW,kBAAA;AAAA,EACrC,CAAA;AAGA,EAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAAA,CACvB,KAAA,GAAQ,KAAK,CAAA,KAAM,CAAA,IAAK,YAAY,KAAK,CAAA;AAE5C,EAAA,uBACElB,GAAAA,CAACK,KAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,MAAA,EAAQ,CAAA,EAAG,CAAA,IAC9C,QAAA,kBAAAL,GAAAA;AAAA,IAACK,KAAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI;AAAA,QACF,QAAA,EAAU,UAAA;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QACT,mBAAA,EAAqB,aAAa,UAAU,CAAA,GAAA,CAAA;AAAA,QAC5C,SAAA,EAAW,GAAG,GAAG,CAAA,EAAA,CAAA;AAAA,QACjB,MAAA,EAAQ,GAAG,OAAO,CAAA,EAAA,CAAA;AAAA,QAClB,KAAA,EAAO;AAAA,OACT;AAAA,MAEC,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAY,KAAA,KAAkB;AACzC,QAAA,MAAM,GAAA,GAAM,IAAA,CAAK,KAAA,CAAM,KAAA,GAAQ,CAAC,CAAA;AAChC,QAAA,MAAM,GAAA,GAAM,cAAc,KAAK,CAAA;AAC/B,QAAA,MAAM,MAAA,GAAS,QAAQ,CAAA,KAAM,CAAA;AAE7B,QAAA,uBACEF,IAAAA;AAAA,UAACE,KAAAA;AAAA,UAAA;AAAA,YAEC,EAAA,EAAI;AAAA,cACF,YAAY,GAAA,GAAM,CAAA;AAAA,cAClB,SAAS,GAAA,GAAM,CAAA;AAAA,cACf,QAAA,EAAU;AAAA,aACZ;AAAA,YAKC,QAAA,EAAA;AAAA,cAAA,CAAC,MAAA,IAAU,WAAA,CAAY,KAAK,CAAA,oBAC3BL,GAAAA;AAAA,gBAACK,KAAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAI;AAAA,oBACF,QAAA,EAAU,UAAA;AAAA,oBACV,GAAA,EAAK,eAAe,GAAG,CAAA;AAAA,oBACvB,IAAA,EAAM,GAAA,GAAM,CAAA,KAAM,CAAA,GAAI,UAAA,GAAa,MAAA;AAAA,oBACnC,KAAA,EAAO,GAAA,GAAM,CAAA,KAAM,CAAA,GAAI,UAAA,GAAa,MAAA;AAAA,oBACpC,KAAA,EAAO,GAAA,GAAM,SAAA,CAAU,UAAA,CAAW,WAAA;AAAA,oBAClC,SAAA,EAAW,GAAG,SAAA,CAAU,UAAA,CAAW,SAAS,CAAA,UAAA,EAAa,SAAA,CAAU,WAAW,KAAK,CAAA,CAAA;AAAA,oBACnF,MAAA,EAAQ;AAAA;AACV;AAAA,eACF;AAAA,cAMD,gBAAA,CAAiB,KAAK,CAAA,oBACrBL,GAAAA;AAAA,gBAACK,KAAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAI;AAAA,oBACF,QAAA,EAAU,UAAA;AAAA,oBACV,GAAA,EAAK,WAAA;AAAA,oBACL,IAAA,EAAM,UAAA,GAAa,CAAA,GAAI,SAAA,CAAU,SAAS,SAAA,GAAY,CAAA;AAAA,oBACtD,KAAA,EAAO,UAAU,QAAA,CAAS,SAAA;AAAA,oBAC1B,MAAA,EAAQ,UAAU,QAAA,CAAS,MAAA;AAAA,oBAC3B,UAAA,EAAY,GAAG,SAAA,CAAU,QAAA,CAAS,SAAS,CAAA,UAAA,EAAa,SAAA,CAAU,SAAS,KAAK,CAAA,CAAA;AAAA,oBAChF,MAAA,EAAQ;AAAA;AACV;AAAA,eACF;AAAA,8BAMFL,GAAAA,CAAC,UAAA,EAAA,EAAW,QAAA,EAAU,KAAA,CAAM,UAC1B,QAAA,kBAAAG,IAAAA,CAAC,WAAA,EAAA,EAAY,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAG,IAAI,CAAA,EAAG,EAAA,EAAI,GAAE,EACrC,QAAA,EAAA;AAAA,gCAAAA,IAAAA;AAAA,kBAACE,KAAAA;AAAA,kBAAA;AAAA,oBACC,EAAA,EAAI;AAAA,sBACF,EAAA,EAAI,CAAA;AAAA,sBACJ,OAAA,EAAS,MAAA;AAAA,sBACT,cAAA,EAAgB,eAAA;AAAA,sBAChB,UAAA,EAAY,QAAA;AAAA,sBACZ,MAAA,EAAQ;AAAA,qBACV;AAAA,oBAEA,QAAA,EAAA;AAAA,sCAAAL,IAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,OAAA,EAAS,gBAAM,IAAA,EAAK,CAAA;AAAA,sBAEvC,KAAA,CAAM,0BACLtB,GAAAA;AAAA,wBAAC,IAAA;AAAA,wBAAA;AAAA,0BACC,KAAA,EAAO,MAAM,MAAA,CAAO,KAAA;AAAA,0BACpB,EAAA,EAAI;AAAA,4BACF,eAAA,EAAiB,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,KAAK,CAAA,WAAA,CAAA;AAAA,4BACtC,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,UAAU,CAAA,WAAA,CAAA;AAAA,4BACjC,YAAA,EAAc,MAAA;AAAA,4BACd,MAAA,EAAQ,EAAA;AAAA,4BACR,UAAA,EAAY,GAAA;AAAA,4BACZ,EAAA,EAAI;AAAA;AACN;AAAA;AACF;AAAA;AAAA,iBAEJ;AAAA,gCAEAA,IAAC,IAAA,EAAA,EAAK,KAAA,EAAO,MAAM,KAAA,EAAO,QAAA,EAAU,MAAM,QAAA,EAAU,CAAA;AAAA,gCAEpDA,GAAAA;AAAA,kBAACsB,UAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAQ,WAAA;AAAA,oBACR,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAG,YAAY,GAAA,EAAI;AAAA,oBAE5B,QAAA,EAAA,KAAA,CAAM;AAAA;AAAA,iBACT;AAAA,gCAEAtB,GAAAA,CAACsB,UAAAA,EAAA,EAAW,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE,EAAG,OAAA,EAAQ,OAAA,EAChC,QAAA,EAAA,KAAA,CAAM,QAAA,EACT,CAAA;AAAA,gBAEC,KAAA,CAAM,8BACLtB,GAAAA;AAAA,kBAACsB,UAAAA;AAAA,kBAAA;AAAA,oBACC,EAAA,EAAI;AAAA,sBACF,MAAA,EAAQ,SAAA;AAAA,sBACR,KAAA,EAAO,SAAA;AAAA,sBACP,UAAA,EAAY;AAAA,qBACd;AAAA,oBACD,QAAA,EAAA;AAAA;AAAA,iBAED;AAAA,gCAGFtB,GAAAA;AAAA,kBAACsB,UAAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAQ,OAAA;AAAA,oBACR,EAAA,EAAI;AAAA,sBACF,QAAA,EAAU,UAAA;AAAA,sBACV,MAAA,EAAQ,EAAA;AAAA,sBACR,IAAA,EAAM,EAAA;AAAA,sBACN,KAAA,EAAO;AAAA,qBACT;AAAA,oBAEC,QAAA,EAAA,KAAA,CAAM;AAAA;AAAA;AACT,eAAA,EACF,CAAA,EACF;AAAA;AAAA,WAAA;AAAA,UA7GK;AAAA,SA8GP;AAAA,MAEJ,CAAC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;ACrPA,IAAM,WAAA,GAAc,CAAC,KAAA,EAAe,KAAA,KAA0B;AAC5D,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIrB,SAAS,KAAK,CAAA;AAE1D,EAAAmB,UAAU,MAAM;AACd,IAAA,MAAM,SAAA,GAAY,WAAW,MAAM;AACjC,MAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IACzB,GAAG,KAAK,CAAA;AAER,IAAA,OAAO,MAAM,aAAa,SAAS,CAAA;AAAA,EACrC,CAAA,EAAG,CAAC,KAAA,EAAO,KAAK,CAAC,CAAA;AAEjB,EAAA,OAAO,cAAA;AACT,CAAA;AAEA,IAAO,mBAAA,GAAQ,WAAA;ACNf,IAAM,YAAY,CAAC;AAAA,EACjB,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAA,KAAqB;AACnB,EAAA,uBACEpB,GAAAA,CAACK,KAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAS,EAC/C,QAAA,kBAAAL,GAAAA;AAAA,IAACa,SAAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,UAAA;AAAA,MACR,KAAA,EAAO,UAAA;AAAA,MACP,QAAA,EAAU,iBAAA;AAAA,MACV,WAAA,EAAa,gBAAA;AAAA,MACb,YAAA,EAAa,KAAA;AAAA,MACb,SAAA,EAAU,eAAA;AAAA,MACV,UAAA,EAAY;AAAA,QACV,cAAA,kBACEb,GAAAA,CAACuB,cAAAA,EAAA,EAAe,QAAA,EAAS,OAAA,EACvB,QAAA,kBAAAvB,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,sBAAA,EAAuB,CAAA,EACzC,CAAA;AAAA,QAEF,YAAA,EAAc,6BACZA,GAAAA,CAACuB,gBAAA,EAAe,QAAA,EAAS,OACvB,QAAA,kBAAAvB,GAAAA;AAAA,UAACS,UAAAA;AAAA,UAAA;AAAA,YACC,kBAAA,EAAkB,IAAA;AAAA,YAClB,aAAA,EAAa,IAAA;AAAA,YACb,kBAAA,EAAkB,IAAA;AAAA,YAClB,OAAA,EAAS,iBAAA;AAAA,YAET,QAAA,kBAAAT,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAoB;AAAA;AAAA,WAExC,CAAA,GACE;AAAA;AACN;AAAA,GACF,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,iBAAA,GAAQ,SAAA;ACpBf,IAAM,kBAAkBwB,QAAAA,CAAOC,IAAI,EAAE,CAAC,EAAE,OAAM,KAAG;AA7BjD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA6BqD,EAAA,OAAA;AAAA,IACnD,wBAAA,EAA0B;AAAA,MACxB,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,MAC/C,YAAA,EAAc,KAAA;AAAA,MACd,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS,SAAA;AAAA,MACT,UAAA,EAAY,GAAG,sBAAsB,CAAA,CAAA;AAAA,MACrC,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI,CAAA,CAAA;AAAA,MACpC,KAAA,EAAO,OAAA;AAAA,MACP,QAAA,EAAU,QAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,QAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,WAAA,CAAA;AAAA,MAC5C,YAAA,EAAc,KAAA;AAAA,MACd,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS,SAAA;AAAA,MACT,UAAA,EAAY,iBAAA;AAAA,MACZ,KAAA,EAAO,CAAA,EAAA,CACJ,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAc,OAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuB,YAAA,KAAvB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqC,QAAA,KAArC,IAAA,GAAA,EAAA,GACD,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,OACrB,CAAA,CAAA,CAAA;AAAA,MACA,KAAA,EAAO,OAAA;AAAA,MACP,QAAA,EAAU,QAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,YAAA,EAAc;AAAA;AAChB,GACF;AAAA,CAAE,CAAA;AAEK,SAAS,gBAAA,CAAiB;AAAA,EAC/B,wBAAwB,EAAC;AAAA,EACzB;AACF,CAAA,EAA0B;AA9D1B,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA+DE,EAAcP,UAAAA;AACd,EAAA,MAAM,EAAE,GAAA,EAAK,UAAA,EAAY,gBAAA,EAAkB,aAAA,KACzC,kBAAA,EAAmB;AAErB,EAAA,MAAM,CAAC,sBAAA,EAAwB,yBAAyB,CAAA,GAAIjB,QAAAA;AAAA,IAC1D,qBAAA,CAAsB,SAAS,UAAA,GAAa;AAAA,GAC9C;AACA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,SAAwB,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIyB,MAAAA,CAAM,SAAwB,IAAI,CAAA;AACtE,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,MAAAA,CAAM,SAAc,IAAI,CAAA;AAClE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,MAAAA,CAAM,SAAc,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,MAAAA,CAAM,SAAc,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIzB,QAAAA,CAAc,EAAE,CAAA;AAC9D,EAAA,OAAA,CAAQ,GAAA,CAAI,mDAA4C,eAAe,CAAA;AACvE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,QAAAA,CAAc,EAAE,CAAA;AAClD,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,QAAAA,CAAc,EAAE,CAAA;AAC9D,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIA,QAAAA,CAAc,EAAE,CAAA;AACtE,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAIA,QAAAA,CAAc,EAAE,CAAA;AACxE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,SAAkB,KAAK,CAAA;AAEzD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,SAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIA,SAAS,EAAE,CAAA;AACvD,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,SAAS,EAAE,CAAA;AAIzD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,SAAS,EAAE,CAAA;AAE/C,EAAA,MAAM,iBAAA,GAAoB,YAAY,MAAM;AAC1C,IAAA,aAAA,CAAc,EAAE,CAAA;AAAA,EAClB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,kBAAA,GAAqB,WAAA,CAAY,CAAC,KAAA,KAAkB;AACxD,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,mBAAA,GAAsB,mBAAA,CAAY,UAAA,EAAY,GAAG,CAAA;AAEvD,EAAA,MAAM,4BAAA,GAA+ByB,MAAAA,CAAM,OAAA,CAAQ,MAAM;AACvD,IAAA,IAAI,CAAC,qBAAqB,OAAO,oBAAA;AACjC,IAAA,MAAM,CAAA,GAAI,oBAAoB,WAAA,EAAY;AAE1C,IAAA,OAAO,oBAAA,CAAqB,MAAA,CAAO,CAAC,IAAA,KAAc;AAChD,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAChE,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,gBAAA,KAAoB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAEnE,MAAA,OAAO,KAAK,QAAA,CAAS,CAAC,CAAA,IAAK,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,IAC5C,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,oBAAA,EAAsB,mBAAmB,CAAC,CAAA;AAE9C,EAAA,MAAM,uBAAA,GAA0BA,MAAAA,CAAM,OAAA,CAAQ,MAAM;AAClD,IAAA,IAAI,CAAC,qBAAqB,OAAO,eAAA;AACjC,IAAA,MAAM,CAAA,GAAI,oBAAoB,WAAA,EAAY;AAE1C,IAAA,OAAO,eAAA,CAAgB,MAAA,CAAO,CAAC,IAAA,KAAc;AAC3C,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAChE,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,gBAAA,KAAoB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAEnE,MAAA,OAAO,KAAK,QAAA,CAAS,CAAC,CAAA,IAAK,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,IAC5C,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,eAAA,EAAiB,mBAAmB,CAAC,CAAA;AAEzC,EAAA,MAAM,2BAAA,GAA8BA,MAAAA,CAAM,OAAA,CAAQ,MAAM;AACtD,IAAA,IAAI,CAAC,qBAAqB,OAAO,mBAAA;AACjC,IAAA,MAAM,CAAA,GAAI,oBAAoB,WAAA,EAAY;AAE1C,IAAA,OAAO,mBAAA,CAAoB,MAAA,CAAO,CAAC,IAAA,KAAc;AAC/C,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAChE,MAAA,MAAM,SAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,gBAAA,KAAoB,EAAA,EAAI,QAAA,GAAW,WAAA,EAAY;AAEnE,MAAA,OAAO,KAAK,QAAA,CAAS,CAAC,CAAA,IAAK,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,IAC5C,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,mBAAA,EAAqB,mBAAmB,CAAC,CAAA;AAI7C,EAAA,MAAM,QAAA,GAAWA,MAAAA,CAAM,MAAA,CAAoC,IAAI,CAAA;AAE/D,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,IAAA,KAAc;AACb,MAAA,IAAI,SAAA,EAAW;AACf,MAAA,IAAI,QAAA,CAAS,OAAA,EAAS,QAAA,CAAS,OAAA,CAAQ,UAAA,EAAW;AAElD,MAAA,QAAA,CAAS,OAAA,GAAU,IAAI,oBAAA,CAAqB,CAAC,OAAA,KAAY;AACvD,QAAA,IAAI,OAAA,CAAQ,CAAC,CAAA,CAAE,cAAA,EAAgB;AAC7B,UAAA,IAAI,2BAA2B,cAAA,EAAgB;AAC7C,YAAA,aAAA,CAAc,CAAC,IAAA,KAAS,IAAA,GAAO,EAAE,CAAA;AAAA,UACnC,CAAA,MAAA,IAAW,2BAA2B,iBAAA,EAAmB;AACvD,YAAA,iBAAA,CAAkB,CAAC,IAAA,KAAS,IAAA,GAAO,EAAE,CAAA;AAAA,UACvC,CAAA,MAAA,IAAW,2BAA2B,UAAA,EAAY;AAChD,YAAA,kBAAA,CAAmB,CAAC,IAAA,KAAS,IAAA,GAAO,EAAE,CAAA;AAAA,UACxC;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAED,MAAA,IAAI,IAAA,EAAM,QAAA,CAAS,OAAA,CAAQ,OAAA,CAAQ,IAAI,CAAA;AAAA,IACzC,CAAA;AAAA,IACA,CAAC,WAAW,sBAAsB;AAAA,GACpC;AACA,EAAA,MAAM,kBAAA,GAAA,CAAsB,uBAAA,IAA2B,EAAC,EAAG,KAAA;AAAA,IACzD,CAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,sBAAA,GAAA,CAA0B,2BAAA,IAA+B,EAAC,EAAG,KAAA;AAAA,IACjE,CAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,uBAAA,GAAA,CAA2B,4BAAA,IAAgC,EAAC,EAAG,KAAA;AAAA,IACnE,CAAA;AAAA,IACA;AAAA,GACF;AAIA,EAAA,MAAM,cAAA,GAAiB,CAAC,aAAA,KAA0B;AAChD,IAAA,aAAA,CAAc,aAAa,CAAA;AAAA,EAC7B,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,aAAA,KAAuB;AAC5C,IAAA,gBAAA,CAAiB,aAAa,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,aAAA,KAA0B;AAC9C,IAAA,eAAA,CAAgB,aAAa,CAAA;AAAA,EAC/B,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,aAAA,KAA0B;AAC9C,IAAA,eAAA,CAAgB,aAAa,CAAA;AAAA,EAC/B,CAAA;AACA,EAAA,MAAM,mBAAA,GAAsB,CAAC,MAAA,KAAmB;AAC9C,IAAA,yBAAA,CAA0B,MAAM,CAAA;AAChC,IAAA,IAAI,MAAA,KAAW,mBAAmB,sBAAA,EAAuB;AACzD,IAAA,IAAI,MAAA,KAAW,gBAAgB,iBAAA,EAAkB;AACjD,IAAA,IAAI,MAAA,KAAW,YAAY,sBAAA,EAAuB;AAAA,EACpD,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,EAAA,KAAe;AACxC,IAAA,aAAA,CAAc,CAAC,MAAA,KAAY,MAAA,KAAW,EAAA,GAAK,OAAO,EAAG,CAAA;AACrD,IAAA,yBAAA,CAA0B,EAAE,CAAA;AAAA,EAC9B,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,CAAC,MAAA,KAAmB;AACpC,IAAA,QAAQ,MAAA,CAAO,aAAY;AAAG,MAC5B,KAAK,UAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,UAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAAA,MAEF,KAAK,UAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,UAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAAA,MAEF,KAAK,QAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,SAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAAA,MAEF,KAAK,UAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,WAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAAA,MAEF,KAAK,WAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,WAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAAA,MAEF,KAAK,SAAA;AACH,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,SAAA;AAAA,UACP,KAAA,EAAO,SAAA;AAAA,UACP,UAAA,EAAY;AAAA,SACd;AAGA;AACJ,EACF,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB;AAAA,IACxB;AAAA,MACE,KAAA,EAAO,iBAAA;AAAA,MACP,IAAA,kBAAM1B,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,uBAAA,EAAwB,CAAA;AAAA,MAC9C,KAAA,EAAO,mBAAA,GAAsB,mBAAA,CAAoB,MAAA,GAAS;AAAA,KAC5D;AAAA,IACA;AAAA,MACE,KAAA,EAAO,cAAA;AAAA,MACP,IAAA,kBAAMA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EAAqB,CAAA;AAAA,MAC3C,KAAA,EAAO,eAAA,GAAkB,eAAA,CAAgB,MAAA,GAAS;AAAA;AACpD,GACF;AAEA,EAAA,MAAM,yBAAA,GAA4B,CAAC,aAAA,KAA0B;AAC3D,IAAA,kBAAA,CAAmB,EAAE,CAAA;AACrB,IAAA,GAAA,CACG,GAAA,CAAI;AAAA,MACH,GAAA,EAAK,oCAAoC,aAAa,CAAA,CAAA;AAAA,MACtD,UAAA,EAAY;AAAA,KACb,EACA,IAAA,CAAK,CAAC,QAAQ,kBAAA,CAAmB,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAI,CAAC,CAAA;AAAA,EAChD,CAAA;AAEA,EAAA,MAAM,yBAAyB,MAAM;AApRvC,IAAA,IAAA2B,GAAAA;AAqRI,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,GAAA,CACG,GAAA,CAAI;AAAA,MACH,KAAK,CAAA,4BAAA,EAAA,CAA+BA,GAAAA,GAAA,qCAAU,QAAA,KAAV,IAAA,GAAA,MAAA,GAAAA,IAAoB,EAAE,CAAA,4BAAA,CAAA;AAAA,MAC1D,UAAA,EAAY;AAAA,KACb,CAAA,CACA,IAAA,CAAK,CAAC,GAAA,KAAK;AA3RlB,MAAA,IAAAA,GAAAA;AA2RqB,MAAA,OAAA,sBAAA,CAAA,CAAuBA,GAAAA,GAAA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAA,KAAL,IAAA,GAAA,MAAA,GAAAA,IAAW,UAAU,CAAA;AAAA,IAAA,CAAC,CAAA,CAC3D,OAAA,CAAQ,MAAM,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,EACtC,CAAA;AAEA,EAAA,MAAM,oBAAoB,MAAM;AA/RlC,IAAA,IAAAA,GAAAA;AAgSI,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,GAAA,CACG,GAAA,CAAI;AAAA,MACH,KAAK,CAAA,4BAAA,EAAA,CAA+BA,GAAAA,GAAA,qCAAU,QAAA,KAAV,IAAA,GAAA,MAAA,GAAAA,IAAoB,EAAE,CAAA,eAAA,CAAA;AAAA,MAC1D,UAAA,EAAY;AAAA,KACb,CAAA,CACA,IAAA,CAAK,CAAC,GAAA,KAAK;AAtSlB,MAAA,IAAAA,GAAAA;AAsSqB,MAAA,OAAA,kBAAA,CAAA,CAAmBA,GAAAA,GAAA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAA,KAAL,IAAA,GAAA,MAAA,GAAAA,IAAW,UAAU,CAAA;AAAA,IAAA,CAAC,CAAA,CACvD,OAAA,CAAQ,MAAM,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,EACtC,CAAA;AAEA,EAAA,MAAM,yBAAyB,MAAM;AACnC,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,GAAA,CACG,IAAA,CAAK;AAAA,MACJ,GAAA,EAAK,CAAA,sBAAA,CAAA;AAAA,MACL,UAAA,EAAY,KAAA;AAAA,MACZ,IAAA,EAAM,EAAE,WAAA,EAAa,qBAAA;AAAsB,KAC5C,CAAA,CACA,IAAA,CAAK,CAAC,QAAQ,uBAAA,CAAwB,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAI,CAAC,CAAA,CAChD,OAAA,CAAQ,MAAM,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,EACtC,CAAA;AAEA,EAAAP,UAAU,MAAM;AACd,IAAA,IAAI,CAAC,UAAA,IAAc,CAAC,iBAAiB,CAAC,YAAA,IAAgB,CAAC,YAAA,EAAc;AACnE,MAAA,iBAAA,EAAkB;AAClB,MAAA,sBAAA,EAAuB;AACvB,MAAA,kBAAA,CAAmB,EAAE,CAAA;AACrB,MAAA,aAAA,CAAc,IAAI,CAAA;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,UAAA,EAAY,eAAe,YAAA,EAAc,YAAA,EAAc,QAAQ,CAAC,CAAA;AAEpE,EAAAA,UAAU,MAAM;AACd,IAAA,GAAA,CAAI,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,oBAAA,CAAA,EAAwB,UAAA,EAAY,OAAO,CAAA,CAAE,IAAA,CAAK,CAAC,GAAA,KAAQ;AACxE,MAAA,MAAM,IAAA,GAAA,CAAO,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAA,KAAQ,EAAC;AAC3B,MAAA,MAAM,GAAA,GAAM,KAAK,MAAA,CAAO,CAAC,KAAU,EAAE,WAAA,EAAa,GAAG,OAAA,EAAQ,KAAW;AACtE,QAAA,GAAA,CAAI,WAAW,CAAA,GAAI,OAAA;AACnB,QAAA,OAAO,GAAA;AAAA,MACT,CAAA,EAAG,EAAE,CAAA;AACL,MAAA,YAAA,CAAa,GAAG,CAAA;AAAA,IAClB,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AAEL,EAAAA,UAAU,MAAM;AACd,IAAA,IAAI,qBAAA,CAAsB,MAAA,IAAU,CAAC,oBAAA,CAAqB,MAAA,EAAQ;AAChE,MAAA,sBAAA,EAAuB;AAAA,IACzB;AAAA,EACF,CAAA,EAAG,CAAC,qBAAqB,CAAC,CAAA;AAE1B,EAAAA,UAAU,MAAM;AACd,IAAA,IAAI,OAAO,IAAA,CAAK,SAAS,CAAA,CAAE,MAAA,GAAS,KAAK,QAAA,EAAU;AACjD,MAAA,sBAAA,EAAuB;AAAA,IACzB;AAAA,EACF,CAAA,EAAG,CAAC,SAAA,EAAW,QAAQ,CAAC,CAAA;AAExB,EAAA,MAAM,mBAAA,GAAsB,CAAC,IAAA,KAAc;AACzC,IAAA,MAAM,EAAE,WAAA,EAAa,SAAA,EAAW,YAAA,EAAc,kBAAiB,GAAI,IAAA;AAGnE,IAAA,IAAI,kBAAkB,OAAO,gBAAA;AAG7B,IAAA,IAAI,gBAAgB,gBAAA,EAAkB;AACpC,MAAA,OAAO,CAAA,EAAG,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,aAAa,CAAA,mBAAA,EAAsB,YAAY,CAAA,CAAA;AAAA,IAC1E,CAAA,MAAA,IAAW,gBAAgB,6BAAA,EAA+B;AACxD,MAAA,OAAO,CAAA,EAAG,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,aAAa,CAAA,iBAAA,EAAoB,YAAY,CAAA,CAAA;AAAA,IACxE,CAAA,MAAA,IAAW,gBAAgB,sBAAA,EAAwB;AACjD,MAAA,OAAO,CAAA,EAAG,+CAAe,WAAW,CAAA,6BAAA,EAAgC,YAAY,CAAA,aAAA,EAAgB,WAAW,cAAc,SAAS,CAAA,CAAA;AAAA,IACpI;AAGA,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,OAAO,UAAA,CAAW,WAAA,EAAa,SAAA,EAAW,SAAA,EAAW,YAAY,CAAA;AAAA,IACnE;AAEA,IAAA,MAAM,MAAM,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAY,WAAA,CAAA;AACxB,IAAA,IAAA,CAAI,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,aAAA,MAAiB,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,OAAA,CAAA,EAAS;AACtC,MAAA,MAAM,iBAAA,GACJ,aAAA,CAAA,CACE,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,aAAA,CAAc,KAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,IAC5B,GAAA,IACA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,aAAA,CAAc,KAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAClC,CAAA;AACF,MAAA,MAAM,EAAA,GAAK,IAAI,eAAA,EAAgB;AAC/B,MAAA,IAAI,cAAc,EAAA,CAAG,GAAA,CAAI,cAAA,EAAgB,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7D,MAAA,IAAI,aAAa,EAAA,CAAG,GAAA,CAAI,aAAA,EAAe,MAAA,CAAO,WAAW,CAAC,CAAA;AAC1D,MAAA,IAAI,WAAW,EAAA,CAAG,GAAA,CAAI,WAAA,EAAa,MAAA,CAAO,SAAS,CAAC,CAAA;AACpD,MAAA,OAAO,CAAA,EAAG,iBAAiB,CAAA,EAAG,GAAA,CAAI,OAAO,CAAA,CAAA,EAAI,EAAA,CAAG,UAAU,CAAA,CAAA;AAAA,IAC5D;AAEA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,UAAA;AAAA,MACP,KAAA,EAAO,SAAA;AAAA,MACP,UAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,UAAA;AAAA,MACP,KAAA,EAAO,SAAA;AAAA,MACP,UAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO,SAAA;AAAA,MACP,KAAA,EAAO,SAAA;AAAA,MACP,UAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,WAAA;AAAA,MACP,KAAA,EAAO,SAAA;AAAA,MACP,UAAA,EAAY;AAAA,KAYhB,CAAA;AACA,EAAA,IAAI,aAAa,gBAAA,EAAkB,uBAAOpB,GAAAA,CAAAI,QAAAA,EAAA,EAAG,QAAA,EAAA,gBAAA,EAAiB,CAAA;AAC9D,EAAA,OAAA,CAAQ,KAAK,oBAAoB,CAAA;AACjC,EAAA,uBACED,IAAAA,CAAAC,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAJ,GAAAA;AAAA,MAACK,GAAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAI;AAAA,UACF,OAAA,EAAS,MAAA;AAAA,UACT,cAAA,EAAgB,QAAA;AAAA,UAChB,QAAA,EAAU,QAAA;AAAA,UACV,QAAA,EAAU;AAAA,SACZ;AAAA,QAEA,QAAA,kBAAAF,IAAAA;AAAA,UAACE,GAAAA;AAAA,UAAA;AAAA,YACC,IAAI,EAAE,KAAA,EAAO,QAAQ,MAAA,EAAQ,MAAA,EAAQ,UAAU,mBAAA,EAAoB;AAAA,YAEnE,QAAA,EAAA;AAAA,8BAAAF,IAAAA;AAAA,gBAACE,GAAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAI;AAAA,oBACF,OAAA,EAAS,MAAA;AAAA,oBACT,cAAA,EAAgB,eAAA;AAAA,oBAChB,UAAA,EAAY;AAAA,mBACd;AAAA,kBAEA,QAAA,EAAA;AAAA,oCAAAF,IAAAA,CAACE,KAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE,EACrB,QAAA,EAAA;AAAA,sBAAA,CAAA,qBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,qBAAA,CAAuB,0BACtBL,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAM,sBACb,QAAA,kBAAAA,GAAAA;AAAA,wBAAC,eAAA;AAAA,wBAAA;AAAA,0BACC,KAAA,EAAO,UAAA;AAAA,0BACP,IAAA,kBAAMA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,UAAA,EAAW,CAAA;AAAA,0BACjC,KAAA,EAAA,CACE,sBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,sBAAA,CAAwB,QAAA,CAAS,UAAA,CAAA,IAC7B,SAAA,GACA,SAAA;AAAA,0BAEN,OAAA,EAAQ,QAAA;AAAA,0BACR,EAAA,EAAI;AAAA,4BACF,EAAA,EAAI,CAAA;AAAA,4BACJ,EAAA,EAAI,CAAA;AAAA,4BACJ,iBAAA,EAAmB,EAAE,QAAA,EAAU,iBAAA;AAAkB,2BACnD;AAAA,0BACA,OAAA,EAAS,MAAM,mBAAA,CAAoB,UAAU;AAAA;AAAA,yBAEjD,CAAA,GAEA,EAAA;AAAA,sBAGD,kBAAkB,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,IAAA,EAAM,OAAM,EAAG,KAAA,qBAC9CA,GAAAA,CAAC,WAAoB,KAAA,EAAO,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,KAAK,IAC3C,QAAA,kBAAAA,GAAAA;AAAA,wBAAC,eAAA;AAAA,wBAAA;AAAA,0BACC,KAAA,EAAO,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAAA,0BACxB,IAAA;AAAA,0BACA,KAAA,EAAA,CACE,sBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,sBAAA,CAAwB,QAAA,CAAS,KAAA,CAAA,IAC7B,SAAA,GACA,SAAA;AAAA,0BAEN,OAAA,EAAQ,QAAA;AAAA,0BACR,EAAA,EAAI;AAAA,4BACF,EAAA,EAAI,CAAA;AAAA,4BACJ,EAAA,EAAI,CAAA;AAAA,4BACJ,iBAAA,EAAmB,EAAE,QAAA,EAAU,iBAAA;AAAkB,2BACnD;AAAA,0BACA,OAAA,EAAS,MAAM,mBAAA,CAAoB,KAAK;AAAA;AAAA,uBAC1C,EAAA,EAhBY,KAiBd,CACD;AAAA,qBAAA,EACH,CAAA;AAAA,oCACAA,GAAAA,CAACK,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,QAAA,EAAU,CAAA,EAAG,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,MAAA,IACzC,QAAA,kBAAAL,GAAAA;AAAA,sBAAC,iBAAA;AAAA,sBAAA;AAAA,wBACC,gBAAA,EAAiB,QAAA;AAAA,wBACjB,UAAA;AAAA,wBACA,iBAAA;AAAA,wBACA,mBAAmB,CAAC,CAAA,KAAM,kBAAA,CAAmB,CAAA,CAAE,OAAO,KAAK;AAAA;AAAA,qBAC7D,EACF;AAAA;AAAA;AAAA,eACF;AAAA,cAGC,sBAAA,KAA2B,8BAC1BA,GAAAA;AAAA,gBAACK,GAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,2BAAA;AAAA,kBACV,EAAA,EAAI;AAAA,oBACF,SAAA,EAAW,MAAA;AAAA,oBACX,MAAA,EAAQ,qBAAA;AAAA,oBACR,EAAA,EAAI,CAAA;AAAA,oBACJ,EAAA,EAAI;AAAA,mBACN;AAAA,kBAEC,kCAAwB,MAAA,GAAS,CAAA,GAChC,mEAAyB,GAAA,CAAI,CAAC,MAAW,KAAA,KAAkB;AArf3E,oBAAA,IAAAsB,KAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAsfkB,oBAAA,MAAM,YAAA,GAAe,6BAAM,MAAA,CAAO,IAAA;AAAA,sBAChC,CAAC,MAAA,KAAgB,MAAA,CAAO,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA;AAEvC,oBAAA,MAAM,UAAA,GAAa,YAAA,GACf,YAAA,CAAa,WAAA,GACb,EAAC;AACL,oBAAM,CAAe,UAAA,IAAc,EAAC,EAAG,MAAA;AAAA,sBACrC,CAAC,KAAU,CAAA,KAAW;AACpB,wBAAA,IAAA,CAAI,uBAAG,MAAA,KAAU,IAAA,EAAM,GAAA,CAAI,CAAA,CAAE,MAAM,CAAA,GAAI,CAAA;AACvC,wBAAA,OAAO,GAAA;AAAA,sBACT,CAAA;AAAA,sBACA;AAAC;AAEH,oBAAA,MAAM,wBAAA,GAA2B,CAC/BC,WAAAA,EACAC,KAAAA,KACG;AACH,sBAAA,IAAI,EAACA,KAAAA,IAAA,IAAA,GAAA,MAAA,GAAAA,KAAAA,CAAM,cAAa,OAAOD,WAAAA;AAC/B,sBAAA,OAAOA,YAAW,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,CAAC,CAAA;AAAA,oBACtD,CAAA;AAEA,oBAAA,MAAM,KAAA,GAAQ,oBAAoB,IAAI,CAAA;AAEtC,oBAAA,MAAM,kBACJL,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,IAAA,GAAA,MAAA,GAAAC,GAAAA,CAEG,eAAA,KAFH,IAAA,GAAA,MAAA,GAAAC,IAEoB,SAAA,MAAc,CAAA,GAC9B,UAAA,GAAA,CAAA,CACAG,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,gBAAAC,GAAAA,CAEG,eAAA,KAFH,gBAAAC,GAAAA,CAEoB,SAAA,MAAc,IAClC,UAAA,GACA,SAAA;AAEN,oBAAA,MAAM,UAAA,GAAa,UAAU,aAAa,CAAA;AAE1C,oBAAA,uBACE7B,IAAAA;AAAA,sBAACiC,IAAAA;AAAA,sBAAA;AAAA,wBAEC,GAAA,EACE,KAAA,KAAU,uBAAA,CAAwB,MAAA,GAAS,IACvC,WAAA,GACA,IAAA;AAAA,wBAEN,EAAA,EAAI;AAAA,0BACF,EAAA,EAAI,CAAA;AAAA,0BACJ,YAAA,EAAc,MAAA;AAAA,0BACd,SAAA,EAAW,qCAAA;AAAA,0BACX,EAAA,EAAI,CAAA;AAAA,0BACJ,EAAA,EAAI,CAAA;AAAA,0BACJ,UAAA,EAAY;AAAA,yBACd;AAAA,wBAEA,QAAA,EAAA;AAAA,0CAAAjC,IAAAA;AAAA,4BAACkC,WAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,eAAA;AAAA,gCAChB,UAAA,EAAY,QAAA;AAAA,gCACZ,QAAA,EAAU,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAI,QAAA,EAAS;AAAA,gCACrC,GAAA,EAAK;AAAA,+BACP;AAAA,8BAGA,QAAA,EAAA;AAAA,gDAAAlC,IAAAA,CAACE,KAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,qBACnB,QAAA,kBAAAA,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,IAAA;AAAA,sCACR,UAAA,EAAY,GAAA;AAAA,sCACZ,MAAA,EAAM,IAAA;AAAA,sCACN,KAAA,EAAM,cAAA;AAAA,sCAEL,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mCACR,EACF,CAAA;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,kBACnB,QAAA,kBAAAA,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,KAAA,EAAM,gBAAA;AAAA,sCACN,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,EAAI;AAAA,sCAEb,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mCACR,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,OAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,OACd,QAAA,kBAAAA,GAAAA;AAAA,oCAAC,GAAA;AAAA,oCAAA;AAAA,sCACC,IAAA,EAAM,KAAA;AAAA,sCACN,MAAA,EAAO,QAAA;AAAA,sCACP,GAAA,EAAI,YAAA;AAAA,sCACJ,KAAA,EAAO;AAAA,wCACL,MAAA,EAAQ,SAAA;AAAA,wCACR,cAAA,EAAgB;AAAA,uCAClB;AAAA,sCAEA,QAAA,kBAAAA,GAAAA;AAAA,wCAACsB,UAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,WAAA;AAAA,0CACR,KAAA,EAAM,cAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,EAAA,EAAI,GAAA;AAAA,4CACJ,UAAA,EAAY,QAAA;AAAA,4CACZ,QAAA,EAAU,QAAA;AAAA,4CACV,YAAA,EAAc,UAAA;AAAA,4CACd,UAAA,EAAY;AAAA,2CACd;AAAA,0CAEC,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,mCACF,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,aAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,SAAOW,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAwB,UAC3B,cAAA,GACA;AAAA,uCACN;AAAA,sCAEC,QAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,MAAA,IACrB,GAAG,IAAA,CAAK,gBAAA,CAAiB,MAAM,CAAA,QAAA,CAAA,GAC/B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGA9B,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,KAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,UAAA,EAAY,GAAA;AAAA,wCACZ,KAAA,EAAO;AAAA,uCACT;AAAA,sCAEC,QAAA,EAAA,CAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,UAAA,IACX,MAAA,CAAO,YAAA,CAAa,UAAU,CAAA,CAC3B,SAAA,CAAU,WAAW,CAAA,CACrB,MAAA,CAAO,oBAAoB,CAAA,GAC9B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,IAAA;AAAA,sCACX,QAAA,EAAU,EAAA;AAAA,sCACV,SAAA,EAAW;AAAA,qCACb;AAAA,oCAEA,QAAA,EAAA;AAAA,sDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,eAAA,EAErD,CAAA;AAAA,sDACAtB,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,IACnC,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,OACA,GAAA,IAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,SAAA;AAAA,wCACd,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,uCAAA,KAD/B,IAAA,GAAA,EAAA,GAEG,EAAA,IAAM,CAAA,IAAK,EAAA,CAAA,EACtB;AAAA;AAAA;AAAA,iCACF;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,KAAA;AAAA,sCACX,QAAA,EAAU,GAAA;AAAA,sCACV,OAAA,EAAS,MAAA;AAAA,sCACT,UAAA,EAAY,QAAA;AAAA,sCACZ,cAAA,EAAgB,UAAA;AAAA,sCAChB,GAAA,EAAK;AAAA,qCACP;AAAA,oCAEC,QAAA,EAAA;AAAA,sCAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,cAAA,MAAmB,WAAA,IAAA,CAAA,CAC1B,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,IAAA;AAAA,wCACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,uCAAA,KADjC,IAAA,GAAA,MAAA,GAAA,EAAA,CAEG,KAAA,MAAA,CACD,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,IAAA;AAAA,wCACZ,CAAC,GAAA,KAAU;AA3rBzC,0CAAA,IAAAsB,GAAAA;AA4rBgC,0CAAA,OAAA,MAAA,CAAO,GAAA,CAAI,UAAU,CAAC,CAAC,QACvBA,GAAAA,GAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAoB,EAAA,CAAA;AAAA,wCAAA;AAAA,uCAAA,KAHxB,IAAA,GAAA,MAAA,GAAA,EAAA,CAIG,yBACH3B,GAAAA;AAAA,wCAAC,sBAAA;AAAA,wCAAA;AAAA,0CACC,UAAA,EAAY,MAAM,cAAA,CAAe,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA;AAAA,0CAC1C,WAAW,MAAG;AAjsB5C,4CAAA,IAAA2B,GAAAA;AAksBgC,4CAAA,OAAA,aAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,UAAU,MAAG;AAzsB3C,4CAAA,IAAAA,GAAAA;AA0sBgC,4CAAA,OAAA,YAAA;AAAA,8CACE,GAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,KACVA,GAAAA,GAAA,UAAA,CAAW,KAAK,CAAC,CAAA,KAAW,CAAA,CAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA,CAAA,EAAI,6BAAM,OAAO,CAAA;AAAA,6CACnB;AAAA,0CAAA,CAAA;AAAA,0CAEF,QAAQ,MAAG;AAjtBzC,4CAAA,IAAAA,GAAAA;AAktBgC,4CAAA,OAAA,YAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,OAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA;AAAA,0CACb,UAAA,EAAY,wBAAA;AAAA,4CACV,UAAA;AAAA,4CACA;AAAA;AACF;AAAA,0DAGF3B,GAAAA;AAAA,wCAACyB,IAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,QAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,eAAA,EAAiB,CAAA,EACf,SAAA,CAAU,aAAa,EAAE,KAC3B,CAAA,WAAA,CAAA;AAAA,4CACA,KAAA,EAAO,CAAA,EACL,SAAA,CAAU,aAAa,EAAE,UAC3B,CAAA,WAAA,CAAA;AAAA,4CACA,MAAA,EAAQ,MAAA;AAAA,4CACR,EAAA,EAAI,CAAA;AAAA,4CACJ,YAAA,EAAc,kBAAA;AAAA,4CACd,kBAAA,EAAoB;AAAA,8CAClB,QAAA,EAAU,MAAA;AAAA,8CACV,UAAA,EAAY,QAAA;AAAA,8CACZ,UAAA,EAAY,KAAA;AAAA,8CACZ,aAAA,EAAe;AAAA;AACjB,2CACF;AAAA,0CACA,OAAO,UAAA,CAAW;AAAA;AAAA,uCACpB;AAAA,sDAGFzB,GAAAA;AAAA,wCAAC,OAAA;AAAA,wCAAA;AAAA,0CACC,WAAA,EAAY,UAAA;AAAA,0CACZ,QAAA,EAAQ,IAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,WAAA,EAAa,SAAA;AAAA,4CACb,MAAA,EAAQ;AAAA;AACV;AAAA,uCACF;AAAA,sDAEAA,GAAAA;AAAA,wCAACS,UAAAA;AAAA,wCAAA;AAAA,0CACC,kBAAA,EAAkB,IAAA;AAAA,0CAClB,aAAA,EAAa,IAAA;AAAA,0CACb,KAAA,EAAM,SAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,UAAA,EAAY,uBAAA;AAAA,4CACZ,SAAA,EAAW,4BAAA;AAAA,4CACX,QAAA,EAAU,EAAE,KAAA,EAAO,cAAA;AAAe,2CACpC;AAAA,0CACA,OAAA,EAAS,MAAM,iBAAA,CAAkB,IAAA,CAAK,GAAG,CAAA;AAAA,0CAExC,QAAA,EAAA,UAAA,KAAe,IAAA,CAAK,GAAA,mBACnBT,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAoB,CAAA,mBAEpCA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EAAqB;AAAA;AAAA;AAEzC;AAAA;AAAA;AACF;AAAA;AAAA,2BACF;AAAA,0BAGC,eAAe,IAAA,CAAK,GAAA,oBACnBA,GAAAA,CAACK,KAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,GAAG,EAAA,EAAI,CAAA,IACnB,QAAA,EAAA,EAAC,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,0BACjBL,GAAAA;AAAA,4BAACK,GAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,MAAA,EAAQ,GAAA;AAAA,gCACR,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,QAAA;AAAA,gCAChB,UAAA,EAAY;AAAA,+BACd;AAAA,8BAEA,0BAAAL,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,OAAM,SAAA,EAAU;AAAA;AAAA,2BAC9C,mBAEAZ,IAAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,4CAAAH,GAAAA;AAAA,8BAAC,wBAAA;AAAA,8BAAA;AAAA,gCACC,MAAA,EAAQ,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,GAAA,CAAI,CAAC,IAAA,KAAW;AAryBzE,kCAAA,IAAA2B,GAAAA,EAAAC,KAAAC,GAAAA,EAAAC,GAAAA;AAqyB6E,kCAAA,OAAA;AAAA,oCAC3C,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,QACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,QAAA,GACX,CAAA,YAAA,EAAA,CAAeH,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAuB,SAAS,CAAA,CAAA,GAAA,CAAA,CAC/CC,GAAAA,GAAA,6BAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,SAAA,KACvB,KAAA;AAAA,oCACN,YACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,OAAA,KACvB,aAAA;AAAA,oCACF,cACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,IAAA,KAAQ,IAAA;AAAA,oCACjC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,IAAA,GACnB,OACA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,mBAAA;AAAA,oCACZ,QAAA,EAAU,MAAA;AAAA,oCACV,MAAA,EAAA,CACE,6BAAM,IAAA,MAAS,SAAA,GACX,UAAU,QAAA,GAAA,CACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAS,QAAA,GACf,SAAA,CAAU,YACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,cACf,SAAA,CAAU,QAAA,GAAA,CACV,6BAAM,IAAA,MAAS,QAAA,GACf,UAAU,MAAA,GACV;AAAA,mCACR;AAAA,gCAAA,CAAA;AAAA;AAAA,6BACF;AAAA,4CACA3B,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,8CAAAH,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAClB,QAAA,kBAAAnB,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,UAAA,EAAY,MAAA,EAAO,EAAG,QAAA,EAAA;AAAA,gCAAA,wBAAA;AAAA,gCACZ;AAAA,+BAAA,EACzB,CAAA,EACF,CAAA;AAAA,8CACAH,GAAAA;AAAA,gCAAC,OAAA;AAAA,gCAAA;AAAA,kCACC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IAAA,CACF,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA,GAAA,CACJ,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA;AAAA,kCAGV,0BAAAA,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,WACjB,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,CAAA,EACE,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,GAAG,eAAA,CAClB,SACL,CAAA,IAAA,EAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,OAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,GACA,CAAA,EAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,mBAAsB,aAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,SACN,CAAA,IAAA,EAAA,CAAA,CACE,8DAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,EACN;AAAA;AAAA;AACF,6BAAA,EACF;AAAA,2BAAA,EACF,CAAA,EAEJ;AAAA;AAAA,uBAAA;AAAA,sBA/UG;AAAA,qBAiVP;AAAA,kBAEJ,qBAEAtB,GAAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,KAAA,EAAO;AAAA,wBACL,MAAA,EAAQ,MAAA;AAAA,wBACR,KAAA,EAAO,MAAA;AAAA,wBACP,KAAA,EAAO,MAAA;AAAA,wBACP,QAAA,EAAU,MAAA;AAAA,wBACV,OAAA,EAAS,MAAA;AAAA,wBACT,cAAA,EAAgB,QAAA;AAAA,wBAChB,UAAA,EAAY;AAAA,uBACd;AAAA,sBACD,QAAA,EAAA;AAAA;AAAA;AAED;AAAA,eAEJ;AAAA,cAID,sBAAA,KAA2B,kCAC1BA,GAAAA;AAAA,gBAACK,GAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,2BAAA;AAAA,kBACV,EAAA,EAAI;AAAA,oBACF,SAAA,EAAW,MAAA;AAAA,oBACX,MAAA,EAAQ,qBAAA;AAAA,oBACR,EAAA,EAAI,CAAA;AAAA,oBACJ,EAAA,EAAI;AAAA,mBACN;AAAA,kBAEC,6BAAmB,MAAA,GAAS,CAAA,GAC3B,yDAAoB,GAAA,CAAI,CAAC,MAAW,KAAA,KAAkB;AA94BtE,oBAAA,IAAAsB,KAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA+4BkB,oBAAA,IAAI,EAAC,6BAAM,WAAA,CAAA,EAAa;AACtB,sBAAA,OAAA,CAAQ,GAAA,CAAI,wCAAiC,IAAI,CAAA;AAAA,oBACnD;AACA,oBAAA,MAAM,YAAA,GAAe,6BAAM,MAAA,CAAO,IAAA;AAAA,sBAChC,CAAC,MAAA,KAAgB,MAAA,CAAO,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA;AAEvC,oBAAA,MAAM,UAAA,GAAa,YAAA,GACf,YAAA,CAAa,WAAA,GACb,EAAC;AACL,oBAAM,CAAe,UAAA,IAAc,EAAC,EAAG,MAAA;AAAA,sBACrC,CAAC,KAAU,CAAA,KAAW;AACpB,wBAAA,IAAA,CAAI,uBAAG,MAAA,KAAU,IAAA,EAAM,GAAA,CAAI,CAAA,CAAE,MAAM,CAAA,GAAI,CAAA;AACvC,wBAAA,OAAO,GAAA;AAAA,sBACT,CAAA;AAAA,sBACA;AAAC;AAGH,oBAAA,MAAM,wBAAA,GAA2B,CAC/BC,WAAAA,EACAC,KAAAA,KACG;AACH,sBAAA,IAAI,EAACA,KAAAA,IAAA,IAAA,GAAA,MAAA,GAAAA,KAAAA,CAAM,cAAa,OAAOD,WAAAA;AAC/B,sBAAA,OAAOA,YAAW,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,CAAC,CAAA;AAAA,oBACtD,CAAA;AACA,oBAAA,MAAM,KAAA,GAAQ,oBAAoB,IAAI,CAAA;AAEtC,oBAAA,MAAM,kBACJL,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,IAAA,GAAA,MAAA,GAAAC,GAAAA,CAEG,eAAA,KAFH,IAAA,GAAA,MAAA,GAAAC,IAEoB,SAAA,MAAc,CAAA,GAC9B,UAAA,GAAA,CAAA,CACAG,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,gBAAAC,GAAAA,CAEG,eAAA,KAFH,gBAAAC,GAAAA,CAEoB,SAAA,MAAc,IAClC,UAAA,GACA,SAAA;AAEN,oBAAA,MAAM,UAAA,GAAa,UAAU,aAAa,CAAA;AAE1C,oBAAA,uBACE7B,IAAAA;AAAA,sBAACiC,IAAAA;AAAA,sBAAA;AAAA,wBAEC,GAAA,EACE,KAAA,KAAU,kBAAA,CAAmB,MAAA,GAAS,IAClC,WAAA,GACA,IAAA;AAAA,wBAEN,EAAA,EAAI;AAAA,0BACF,EAAA,EAAI,CAAA;AAAA,0BACJ,YAAA,EAAc,MAAA;AAAA,0BACd,SAAA,EAAW,qCAAA;AAAA,0BACX,EAAA,EAAI,CAAA;AAAA,0BACJ,EAAA,EAAI,CAAA;AAAA,0BACJ,UAAA,EAAY;AAAA,yBACd;AAAA,wBAEA,QAAA,EAAA;AAAA,0CAAAjC,IAAAA;AAAA,4BAACkC,WAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,eAAA;AAAA,gCAChB,UAAA,EAAY,QAAA;AAAA,gCACZ,QAAA,EAAU,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAI,QAAA,EAAS;AAAA,gCACrC,GAAA,EAAK;AAAA,+BACP;AAAA,8BAGA,QAAA,EAAA;AAAA,gDAAAlC,IAAAA,CAACE,KAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,qBACnB,QAAA,kBAAAA,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,IAAA;AAAA,sCACR,UAAA,EAAY,GAAA;AAAA,sCACZ,MAAA,EAAM,IAAA;AAAA,sCACN,KAAA,EAAM,cAAA;AAAA,sCAEL,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mCACR,EACF,CAAA;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,kBACnB,QAAA,kBAAAA,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,EAAK,OAAO,gBAAA,EAAiB;AAAA,sCAEtC,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mCACR,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAEAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,SAAA;AAAA,sCACR,KAAA,EAAM,gBAAA;AAAA,sCACN,EAAA,EAAI,EAAE,OAAA,EAAS,OAAA,EAAQ;AAAA,sCACxB,QAAA,EAAA;AAAA;AAAA,mCAED;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,OACd,QAAA,kBAAAA,GAAAA;AAAA,oCAAC,GAAA;AAAA,oCAAA;AAAA,sCACC,IAAA,EAAM,KAAA;AAAA,sCACN,MAAA,EAAO,QAAA;AAAA,sCACP,GAAA,EAAI,YAAA;AAAA,sCACJ,KAAA,EAAO;AAAA,wCACL,MAAA,EAAQ,SAAA;AAAA,wCACR,cAAA,EAAgB;AAAA,uCAClB;AAAA,sCAEA,QAAA,kBAAAA,GAAAA;AAAA,wCAACsB,UAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,WAAA;AAAA,0CACR,KAAA,EAAM,cAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,EAAA,EAAI,GAAA;AAAA,4CACJ,UAAA,EAAY,QAAA;AAAA,4CACZ,QAAA,EAAU,QAAA;AAAA,4CACV,YAAA,EAAc,UAAA;AAAA,4CACd,UAAA,EAAY;AAAA,2CACd;AAAA,0CAEC,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,mCACF,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,aAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,SAAOW,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAwB,UAC3B,cAAA,GACA;AAAA,uCACN;AAAA,sCAEC,QAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,MAAA,IACrB,GAAG,IAAA,CAAK,gBAAA,CAAiB,MAAM,CAAA,QAAA,CAAA,GAC/B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGA9B,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,KAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,UAAA,EAAY,GAAA;AAAA,wCACZ,KAAA,EAAO;AAAA,uCACT;AAAA,sCAEC,QAAA,EAAA,CAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,UAAA,IACX,MAAA,CAAO,YAAA,CAAa,UAAU,CAAA,CAC3B,SAAA,CAAU,WAAW,CAAA,CACrB,MAAA,CAAO,oBAAoB,CAAA,GAC9B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,IAAA;AAAA,sCACX,QAAA,EAAU,EAAA;AAAA,sCACV,SAAA,EAAW;AAAA,qCACb;AAAA,oCAEA,QAAA,EAAA;AAAA,sDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,eAAA,EAErD,CAAA;AAAA,sDACAtB,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,IACnC,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,OACA,GAAA,IAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,SAAA;AAAA,wCACd,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,uCAAA,KAD/B,IAAA,GAAA,EAAA,GAEG,EAAA,IAAM,CAAA,IAAK,EAAA,CAAA,EACtB;AAAA;AAAA;AAAA,iCACF;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,KAAA;AAAA,sCACX,QAAA,EAAU,GAAA;AAAA,sCACV,OAAA,EAAS,MAAA;AAAA,sCACT,UAAA,EAAY,QAAA;AAAA,sCACZ,cAAA,EAAgB,UAAA;AAAA,sCAChB,GAAA,EAAK;AAAA,qCACP;AAAA,oCAEC,QAAA,EAAA;AAAA,sCAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,cAAA,MAAmB,WAAA,IAAA,CAAA,CAC1B,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,IAAA;AAAA,wCACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,uCAAA,KADjC,IAAA,GAAA,MAAA,GAAA,EAAA,CAEG,KAAA,MAAA,CACD,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,IAAA;AAAA,wCACZ,CAAC,GAAA,KAAU;AAzlCzC,0CAAA,IAAAsB,GAAAA;AA0lCgC,0CAAA,OAAA,MAAA,CAAO,GAAA,CAAI,UAAU,CAAC,CAAC,QACvBA,GAAAA,GAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,QAAA,KAAV,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAoB,EAAA,CAAA;AAAA,wCAAA;AAAA,uCAAA,KAHxB,IAAA,GAAA,MAAA,GAAA,EAAA,CAIG,yBACH3B,GAAAA;AAAA,wCAAC,sBAAA;AAAA,wCAAA;AAAA,0CACC,UAAA,EAAY,MAAM,cAAA,CAAe,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA;AAAA,0CAC1C,WAAW,MAAG;AA/lC5C,4CAAA,IAAA2B,GAAAA;AAgmCgC,4CAAA,OAAA,aAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,UAAU,MAAG;AAvmC3C,4CAAA,IAAAA,GAAAA;AAwmCgC,4CAAA,OAAA,YAAA;AAAA,8CACE,GAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,KACVA,GAAAA,GAAA,UAAA,CAAW,KAAK,CAAC,CAAA,KAAW,CAAA,CAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA,CAAA,EAAI,6BAAM,OAAO,CAAA;AAAA,6CACnB;AAAA,0CAAA,CAAA;AAAA,0CAEF,QAAQ,MAAG;AA/mCzC,4CAAA,IAAAA,GAAAA;AAgnCgC,4CAAA,OAAA,YAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,OAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA;AAAA,0CACb,UAAA,EAAY,wBAAA;AAAA,4CACV,UAAA;AAAA,4CACA;AAAA;AACF;AAAA,0DAGF3B,GAAAA;AAAA,wCAACyB,IAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,QAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,eAAA,EAAiB,CAAA,EACf,SAAA,CAAU,aAAa,EAAE,KAC3B,CAAA,WAAA,CAAA;AAAA,4CACA,KAAA,EAAO,CAAA,EACL,SAAA,CAAU,aAAa,EAAE,UAC3B,CAAA,WAAA,CAAA;AAAA,4CACA,MAAA,EAAQ,MAAA;AAAA,4CACR,EAAA,EAAI,CAAA;AAAA,4CACJ,YAAA,EAAc,kBAAA;AAAA,4CACd,kBAAA,EAAoB;AAAA,8CAClB,QAAA,EAAU,MAAA;AAAA,8CACV,UAAA,EAAY,QAAA;AAAA,8CACZ,UAAA,EAAY,KAAA;AAAA,8CACZ,aAAA,EAAe;AAAA;AACjB,2CACF;AAAA,0CACA,OAAO,UAAA,CAAW;AAAA;AAAA,uCACpB;AAAA,sDAIFzB,GAAAA;AAAA,wCAAC,OAAA;AAAA,wCAAA;AAAA,0CACC,WAAA,EAAY,UAAA;AAAA,0CACZ,QAAA,EAAQ,IAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,WAAA,EAAa,SAAA;AAAA,4CACb,MAAA,EAAQ;AAAA;AACV;AAAA,uCACF;AAAA,sDAEAA,GAAAA;AAAA,wCAACS,UAAAA;AAAA,wCAAA;AAAA,0CACC,kBAAA,EAAkB,IAAA;AAAA,0CAClB,aAAA,EAAa,IAAA;AAAA,0CACb,KAAA,EAAM,SAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,UAAA,EAAY,uBAAA;AAAA,4CACZ,SAAA,EAAW,4BAAA;AAAA,4CACX,QAAA,EAAU,EAAE,KAAA,EAAO,cAAA;AAAe,2CACpC;AAAA,0CACA,OAAA,EAAS,MAAM,iBAAA,CAAkB,IAAA,CAAK,GAAG,CAAA;AAAA,0CAExC,QAAA,EAAA,UAAA,KAAe,IAAA,CAAK,GAAA,mBACnBT,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAoB,CAAA,mBAEpCA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EAAqB;AAAA;AAAA;AAEzC;AAAA;AAAA;AACF;AAAA;AAAA,2BACF;AAAA,0BAGC,eAAe,IAAA,CAAK,GAAA,oBACnBA,GAAAA,CAACK,KAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,GAAG,EAAA,EAAI,CAAA,IACnB,QAAA,EAAA,EAAC,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,0BACjBL,GAAAA;AAAA,4BAACK,GAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,MAAA,EAAQ,GAAA;AAAA,gCACR,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,QAAA;AAAA,gCAChB,UAAA,EAAY;AAAA,+BACd;AAAA,8BAEA,0BAAAL,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,OAAM,SAAA,EAAU;AAAA;AAAA,2BAC9C,mBAEAZ,IAAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,4CAAAH,GAAAA;AAAA,8BAAC,wBAAA;AAAA,8BAAA;AAAA,gCACC,MAAA,EAAQ,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,GAAA,CAAI,CAAC,IAAA,KAAW;AApsCzE,kCAAA,IAAA2B,GAAAA,EAAAC,KAAAC,GAAAA,EAAAC,GAAAA;AAosC6E,kCAAA,OAAA;AAAA,oCAC3C,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,QACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,QAAA,GACX,CAAA,YAAA,EAAA,CAAeH,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAuB,SAAS,CAAA,CAAA,GAAA,CAAA,CAC/CC,GAAAA,GAAA,6BAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,SAAA,KACvB,KAAA;AAAA,oCACN,YACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,OAAA,KACvB,aAAA;AAAA,oCACF,cACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,IAAA,KAAQ,IAAA;AAAA,oCACjC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,IAAA,GACnB,OACA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,mBAAA;AAAA,oCACZ,QAAA,EAAU,MAAA;AAAA,oCACV,MAAA,EAAA,CACE,6BAAM,IAAA,MAAS,SAAA,GACX,UAAU,QAAA,GAAA,CACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAS,QAAA,GACf,SAAA,CAAU,YACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,cACf,SAAA,CAAU,QAAA,GAAA,CACV,6BAAM,IAAA,MAAS,QAAA,GACf,UAAU,MAAA,GACV;AAAA,mCACR;AAAA,gCAAA,CAAA;AAAA;AAAA,6BACF;AAAA,4CACA3B,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,8CAAAH,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAClB,QAAA,kBAAAnB,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,UAAA,EAAY,MAAA,EAAO,EAAG,QAAA,EAAA;AAAA,gCAAA,wBAAA;AAAA,gCACZ;AAAA,+BAAA,EACzB,CAAA,EACF,CAAA;AAAA,8CACAH,GAAAA;AAAA,gCAAC,OAAA;AAAA,gCAAA;AAAA,kCACC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IAAA,CACF,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA,GAAA,CACJ,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA;AAAA,kCAGV,0BAAAA,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,WACjB,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,CAAA,EACE,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,GAAG,eAAA,CAClB,SACL,CAAA,IAAA,EAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,OAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,GACA,CAAA,EAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,mBAAsB,aAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,SACN,CAAA,IAAA,EAAA,CAAA,CACE,8DAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,EACN;AAAA;AAAA;AACF,6BAAA,EACF;AAAA,2BAAA,EACF,CAAA,EAEJ;AAAA;AAAA,uBAAA;AAAA,sBAlVG;AAAA,qBAoVP;AAAA,kBAEJ,qBAEAtB,GAAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,KAAA,EAAO;AAAA,wBACL,MAAA,EAAQ,MAAA;AAAA,wBACR,KAAA,EAAO,MAAA;AAAA,wBACP,KAAA,EAAO,MAAA;AAAA,wBACP,QAAA,EAAU,MAAA;AAAA,wBACV,OAAA,EAAS,MAAA;AAAA,wBACT,cAAA,EAAgB,QAAA;AAAA,wBAChB,UAAA,EAAY;AAAA,uBACd;AAAA,sBACD,QAAA,EAAA;AAAA;AAAA;AAED;AAAA,eAEJ;AAAA,cAID,sBAAA,KAA2B,qCAC1BA,GAAAA;AAAA,gBAACK,GAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,2BAAA;AAAA,kBACV,EAAA,EAAI;AAAA,oBACF,SAAA,EAAW,MAAA;AAAA,oBACX,MAAA,EAAQ,qBAAA;AAAA,oBACR,EAAA,EAAI,CAAA;AAAA,oBACJ,EAAA,EAAI;AAAA,mBACN;AAAA,kBAEC,iCAAuB,MAAA,GAAS,CAAA,GAC/B,iEAAwB,GAAA,CAAI,CAAC,MAAW,KAAA,KAAkB;AA7yC1E,oBAAA,IAAAsB,KAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8yCkB,oBAAA,MAAM,YAAA,GAAA,CAAeN,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACjC,CAAC,MAAA,KAAgB,MAAA,CAAO,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA;AAEvC,oBAAA,MAAM,UAAA,GAAa,YAAA,GACf,YAAA,CAAa,WAAA,GACb,EAAC;AACL,oBAAA,MAAM,wBAAA,GAA2B,CAC/BO,WAAAA,EACAC,KAAAA,KACG;AACH,sBAAA,IAAI,EAACA,KAAAA,IAAA,IAAA,GAAA,MAAA,GAAAA,KAAAA,CAAM,cAAa,OAAOD,WAAAA;AAC/B,sBAAA,OAAOA,YAAW,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,CAAC,CAAA;AAAA,oBACtD,CAAA;AACA,oBAAA,MAAM,KAAA,GAAQ,oBAAoB,IAAI,CAAA;AACtC,oBAAA,MAAM,kBACJJ,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,IAAA,GAAA,MAAA,GAAAC,GAAAA,CAEG,eAAA,KAFH,IAAA,GAAA,MAAA,GAAAC,IAEoB,SAAA,MAAc,CAAA,GAC9B,UAAA,GAAA,CAAA,CACAG,GAAAA,GAAAA,CAAAD,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,gBAAAA,GAAAA,CAAc,IAAA;AAAA,sBACZ,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,qBAAA,KADjC,gBAAAC,GAAAA,CAEG,eAAA,KAFH,gBAAAC,GAAAA,CAEoB,SAAA,MAAc,IAClC,UAAA,GACA,SAAA;AACN,oBAAA,MAAM,UAAA,GAAa,UAAU,aAAa,CAAA;AAE1C,oBAAA,uBACE9B,IAAAA;AAAA,sBAACiC,IAAAA;AAAA,sBAAA;AAAA,wBAEC,GAAA,EACE,KAAA,KAAU,sBAAA,CAAuB,MAAA,GAAS,IACtC,WAAA,GACA,IAAA;AAAA,wBAEN,EAAA,EAAI;AAAA,0BACF,EAAA,EAAI,CAAA;AAAA,0BACJ,YAAA,EAAc,MAAA;AAAA,0BACd,SAAA,EAAW,qCAAA;AAAA,0BACX,EAAA,EAAI,CAAA;AAAA,0BACJ,EAAA,EAAI,CAAA;AAAA,0BACJ,UAAA,EAAY;AAAA,yBACd;AAAA,wBAEA,QAAA,EAAA;AAAA,0CAAAjC,IAAAA;AAAA,4BAACkC,WAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,eAAA;AAAA,gCAChB,UAAA,EAAY,QAAA;AAAA,gCACZ,QAAA,EAAU,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAI,QAAA,EAAS;AAAA,gCACrC,GAAA,EAAK;AAAA,+BACP;AAAA,8BAGA,QAAA,EAAA;AAAA,gDAAAlC,IAAAA,CAACE,KAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,mBAAA,EACnB,0BAAAA,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,MAAK,UAAA,EAAY,GAAA,EAAK,QAAM,IAAA,EAC7C,QAAA,EAAA,IAAA,CAAK,eACR,CAAA,EACF,CAAA;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,IAAA,CAAK,kBACnB,QAAA,kBAAAA,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,KAAA,EAAM,gBAAA;AAAA,sCACN,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,EAAI;AAAA,sCAEb,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mCACR,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,OAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA,CAAC,OAAA,EAAA,EAAQ,KAAA,EAAO,OACd,QAAA,kBAAAA,GAAAA;AAAA,oCAAC,GAAA;AAAA,oCAAA;AAAA,sCACC,IAAA,EAAM,KAAA;AAAA,sCACN,MAAA,EAAO,QAAA;AAAA,sCACP,GAAA,EAAI,YAAA;AAAA,sCACJ,KAAA,EAAO;AAAA,wCACL,MAAA,EAAQ,SAAA;AAAA,wCACR,cAAA,EAAgB;AAAA,uCAClB;AAAA,sCAEA,QAAA,kBAAAA,GAAAA;AAAA,wCAACsB,UAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,WAAA;AAAA,0CACR,KAAA,EAAM,cAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,EAAA,EAAI,GAAA;AAAA,4CACJ,UAAA,EAAY,QAAA;AAAA,4CACZ,QAAA,EAAU,QAAA;AAAA,4CACV,YAAA,EAAc,UAAA;AAAA,4CACd,UAAA,EAAY;AAAA,2CACd;AAAA,0CAEC,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,mCACF,EACF;AAAA,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,aAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,MAAA,EAAM,IAAA;AAAA,sCACN,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,KAAA,EAAA,CAAA,CAAO,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,gBAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,UAC3B,cAAA,GACA;AAAA,uCACN;AAAA,sCAEC,QAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,qBAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,MAAA,IACrB,GAAG,IAAA,CAAK,gBAAA,CAAiB,MAAM,CAAA,QAAA,CAAA,GAC/B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA,CAACE,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAA,EAAI,EACzC,QAAA,EAAA;AAAA,kDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,KAAA,EAErD,CAAA;AAAA,kDACAtB,GAAAA;AAAA,oCAACsB,UAAAA;AAAA,oCAAA;AAAA,sCACC,OAAA,EAAQ,OAAA;AAAA,sCACR,EAAA,EAAI;AAAA,wCACF,EAAA,EAAI,GAAA;AAAA,wCACJ,UAAA,EAAY,GAAA;AAAA,wCACZ,KAAA,EAAO;AAAA,uCACT;AAAA,sCAEC,QAAA,EAAA,CAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,UAAA,IACX,MAAA,CAAO,YAAA,CAAa,UAAU,CAAA,CAC3B,SAAA,CAAU,WAAW,CAAA,CACrB,MAAA,CAAO,oBAAoB,CAAA,GAC9B;AAAA;AAAA;AACN,iCAAA,EACF,CAAA;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,IAAA;AAAA,sCACX,QAAA,EAAU,EAAA;AAAA,sCACV,SAAA,EAAW;AAAA,qCACb;AAAA,oCAEA,QAAA,EAAA;AAAA,sDAAAL,IAACsB,UAAAA,EAAA,EAAW,SAAQ,SAAA,EAAU,KAAA,EAAM,kBAAiB,QAAA,EAAA,eAAA,EAErD,CAAA;AAAA,sDACAtB,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,EAAA,EAAI,EAAE,EAAA,EAAI,GAAA,IACnC,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,OACA,GAAA,IAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,SAAA;AAAA,wCACd,CAAC,GAAA,KAAa,GAAA,CAAI,EAAA,MAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA;AAAA,uCAAA,KAD/B,IAAA,GAAA,EAAA,GAEG,EAAA,IAAM,CAAA,IAAK,EAAA,CAAA,EACtB;AAAA;AAAA;AAAA,iCACF;AAAA,gDAGAnB,IAAAA;AAAA,kCAACE,GAAAA;AAAA,kCAAA;AAAA,oCACC,EAAA,EAAI;AAAA,sCACF,SAAA,EAAW,KAAA;AAAA,sCACX,QAAA,EAAU,GAAA;AAAA,sCACV,OAAA,EAAS,MAAA;AAAA,sCACT,UAAA,EAAY,QAAA;AAAA,sCACZ,cAAA,EAAgB,UAAA;AAAA,sCAChB,GAAA,EAAK;AAAA,qCACP;AAAA,oCAEC,QAAA,EAAA;AAAA,sCAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,cAAA,MAAmB,8BACxBL,GAAAA;AAAA,wCAAC,sBAAA;AAAA,wCAAA;AAAA,0CACC,UAAA,EAAY,MAAM,cAAA,CAAe,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA;AAAA,0CAC1C,WAAW,MAAG;AAl+C5C,4CAAA,IAAA2B,GAAAA;AAm+CgC,4CAAA,OAAA,aAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,UAAU,MAAG;AA1+C3C,4CAAA,IAAAA,GAAAA;AA2+CgC,4CAAA,OAAA,YAAA;AAAA,8CACE,GAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,KACVA,GAAAA,GAAA,UAAA,CAAW,KAAK,CAAC,CAAA,KAAW,CAAA,CAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA,CAAA,EAAI,6BAAM,OAAO,CAAA;AAAA,6CACnB;AAAA,0CAAA,CAAA;AAAA,0CAEF,QAAQ,MAAG;AAl/CzC,4CAAA,IAAAA,GAAAA;AAm/CgC,4CAAA,OAAA,YAAA;AAAA,8CACE,CAAA,EAAG,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,GAAG,CAAA,CAAA,EAAA,CACVA,MAAA,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAW,EAAE,MAAA,IAAU,CAAC,CAAA,KAAzC,IAAA,GAAA,MAAA,GAAAA,IACI,EACN,CAAA;AAAA,6CACF;AAAA,0CAAA,CAAA;AAAA,0CAEF,OAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA;AAAA,0CACb,UAAA,EAAY,wBAAA;AAAA,4CACV,UAAA;AAAA,4CACA;AAAA;AACF;AAAA,0DAGF3B,GAAAA;AAAA,wCAACyB,IAAAA;AAAA,wCAAA;AAAA,0CACC,OAAA,EAAQ,QAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,iBAAiB,UAAA,CAAW,KAAA;AAAA,4CAC5B,OAAO,UAAA,CAAW,UAAA;AAAA,4CAClB,MAAA,EAAQ,MAAA;AAAA,4CACR,EAAA,EAAI,CAAA;AAAA,4CACJ,YAAA,EAAc,kBAAA;AAAA,4CACd,kBAAA,EAAoB;AAAA,8CAClB,QAAA,EAAU,MAAA;AAAA,8CACV,UAAA,EAAY,QAAA;AAAA,8CACZ,UAAA,EAAY,KAAA;AAAA,8CACZ,aAAA,EAAe;AAAA;AACjB,2CACF;AAAA,0CACA,OAAO,UAAA,CAAW;AAAA;AAAA,uCACpB;AAAA,sDAGFzB,GAAAA;AAAA,wCAAC,OAAA;AAAA,wCAAA;AAAA,0CACC,WAAA,EAAY,UAAA;AAAA,0CACZ,QAAA,EAAQ,IAAA;AAAA,0CACR,EAAA,EAAI;AAAA,4CACF,WAAA,EAAa,SAAA;AAAA,4CACb,MAAA,EAAQ;AAAA;AACV;AAAA,uCACF;AAAA,sDAEAA,GAAAA;AAAA,wCAACS,UAAAA;AAAA,wCAAA;AAAA,0CACC,KAAA,EAAM,SAAA;AAAA,0CACN,EAAA,EAAI;AAAA,4CACF,UAAA,EAAY,uBAAA;AAAA,4CACZ,SAAA,EAAW,4BAAA;AAAA,4CACX,QAAA,EAAU,EAAE,KAAA,EAAO,cAAA;AAAe,2CACpC;AAAA,0CACA,OAAA,EAAS,MAAM,iBAAA,CAAkB,IAAA,CAAK,GAAG,CAAA;AAAA,0CAExC,QAAA,EAAA,UAAA,KAAe,IAAA,CAAK,GAAA,mBACnBT,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAoB,CAAA,mBAEpCA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EAAqB;AAAA;AAAA;AAEzC;AAAA;AAAA;AACF;AAAA;AAAA,2BACF;AAAA,0BAEC,eAAe,IAAA,CAAK,GAAA,oBACnBA,GAAAA,CAACK,KAAA,EAAI,EAAA,EAAI,EAAE,EAAA,EAAI,GAAG,EAAA,EAAI,CAAA,IACnB,QAAA,EAAA,EAAC,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,0BACjBL,GAAAA;AAAA,4BAACK,GAAAA;AAAA,4BAAA;AAAA,8BACC,EAAA,EAAI;AAAA,gCACF,MAAA,EAAQ,GAAA;AAAA,gCACR,OAAA,EAAS,MAAA;AAAA,gCACT,cAAA,EAAgB,QAAA;AAAA,gCAChB,UAAA,EAAY;AAAA,+BACd;AAAA,8BAEA,0BAAAL,GAAAA,CAACe,gBAAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,OAAM,SAAA,EAAU;AAAA;AAAA,2BAC9C,mBAEAZ,IAAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,4CAAAH,GAAAA;AAAA,8BAAC,wBAAA;AAAA,8BAAA;AAAA,gCACC,MAAA,EAAQ,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,GAAA,CAAI,CAAC,IAAA,KAAW;AA/jDzE,kCAAA,IAAA2B,GAAAA,EAAAC,KAAAC,GAAAA,EAAAC,GAAAA;AA+jD6E,kCAAA,OAAA;AAAA,oCAC3C,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,IAAA,EAAM,MAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAU,CAAA,CAAE,MAAA;AAAA,sCAC7B;AAAA,qCACF;AAAA,oCACA,QACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,QAAA,GACX,CAAA,YAAA,EAAA,CAAeH,MAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAuB,SAAS,CAAA,CAAA,GAAA,CAAA,CAC/CC,GAAAA,GAAA,6BAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,SAAA,KACvB,KAAA;AAAA,oCACN,YACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,OAAA,KACvB,aAAA;AAAA,oCACF,cACEC,GAAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAA,KAAN,IAAA,GAAA,MAAA,GAAAA,IAAuB,IAAA,KAAQ,IAAA;AAAA,oCACjC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAA,KAAiB,IAAA,GACnB,OACA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,mBAAA;AAAA,oCACZ,QAAA,EAAU,MAAA;AAAA,oCACV,MAAA,EAAA,CACE,6BAAM,IAAA,MAAS,SAAA,GACX,UAAU,QAAA,GAAA,CACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,UAAS,QAAA,GACf,SAAA,CAAU,YACV,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,MAAS,cACf,SAAA,CAAU,QAAA,GAAA,CACV,6BAAM,IAAA,MAAS,QAAA,GACf,UAAU,MAAA,GACV;AAAA,mCACR;AAAA,gCAAA,CAAA;AAAA;AAAA,6BACF;AAAA,4CAEA3B,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,8CAAAH,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAClB,QAAA,kBAAAnB,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,UAAA,EAAY,MAAA,EAAO,EAAG,QAAA,EAAA;AAAA,gCAAA,wBAAA;AAAA,gCACZ;AAAA,+BAAA,EACzB,CAAA,EACF,CAAA;AAAA,8CACAH,GAAAA;AAAA,gCAAC,OAAA;AAAA,gCAAA;AAAA,kCACC,KAAA,EAAA,CACE,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IAAA,CACF,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA,GAAA,CACJ,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,iBAAA;AAAA,kCAGV,0BAAAA,GAAAA,CAACsB,UAAAA,EAAA,EAAW,OAAA,EAAQ,WACjB,QAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,IACH,CAAA,EACE,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,GAAG,eAAA,CAClB,SACL,CAAA,IAAA,EAAA,CAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,OAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,eAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,GACA,CAAA,EAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAkB,CAAA,CAAA,KAAlB,mBAAsB,aAAA,KAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,SACN,CAAA,IAAA,EAAA,CAAA,CACE,8DAAkB,CAAA,CAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,kBAAtB,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,mBAAA,KAAuB,KAC7B,CAAA,CAAA,CAAA,EACN;AAAA;AAAA;AACF,6BAAA,EACF;AAAA,2BAAA,EACF,CAAA,EAEJ;AAAA;AAAA,uBAAA;AAAA,sBA5TG;AAAA,qBA8TP;AAAA,kBAEJ,qBAEAtB,GAAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,KAAA,EAAO;AAAA,wBACL,MAAA,EAAQ,MAAA;AAAA,wBACR,KAAA,EAAO,MAAA;AAAA,wBACP,KAAA,EAAO,MAAA;AAAA,wBACP,QAAA,EAAU,MAAA;AAAA,wBACV,OAAA,EAAS,MAAA;AAAA,wBACT,cAAA,EAAgB,QAAA;AAAA,wBAChB,UAAA,EAAY;AAAA,uBACd;AAAA,sBACD,QAAA,EAAA;AAAA;AAAA;AAED;AAAA;AAEJ;AAAA;AAAA;AAEJ;AAAA,KACF;AAAA,oBAEAA,GAAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAC,CAAC,UAAA;AAAA,QACb,UAAA,EAAY,MAAM,aAAA,CAAc,IAAI,CAAA;AAAA,QACpC,MAAA,EAAO,WAAA;AAAA,QACP,eAAe,UAAA,IAAc;AAAA;AAAA,KAC/B;AAAA,oBACAA,GAAAA;AAAA,MAAC,qBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAC,CAAC,aAAA;AAAA,QACb,UAAA,EAAY,MAAM,gBAAA,CAAiB,IAAI,CAAA;AAAA,QACvC,MAAA,EAAO,SAAA;AAAA,QACP,aAAA,EAAA,CAAe,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,CAAM,GAAA,CAAA,KAArB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA4B,CAAA,CAAA;AAAA,QAC3C,QAAA,EAAA,CAAU,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,CAAM,GAAA,CAAA,KAArB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA4B,CAAA;AAAA;AAAA,KACxC;AAAA,oBACAA,GAAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAC,CAAC,YAAA;AAAA,QACb,UAAA,EAAY,MAAM,eAAA,CAAgB,IAAI,CAAA;AAAA,QACtC,MAAA,EAAO,QAAA;AAAA,QACP,aAAA,EAAA,CAAe,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,CAAM,GAAA,CAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,CAAA,CAAA;AAAA,QAC1C,QAAA,EAAA,CAAU,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,CAAM,GAAA,CAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,CAAA,CAAA;AAAA,QACrC,uBAAA,EAAA,CAAyB,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,CAAM,GAAA,CAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,CAAA;AAAA;AAAA,KACtD;AAAA,oBACAA,GAAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAC,CAAC,YAAA;AAAA,QACb,UAAA,EAAY,MAAM,eAAA,CAAgB,IAAI,CAAA;AAAA,QACtC,MAAA,EAAO,SAAA;AAAA,QACP,aAAA,EAAA,CAAe,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,CAAM,GAAA,CAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,CAAA,CAAA;AAAA,QAC1C,QAAA,EAAA,CAAU,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,CAAM,GAAA,CAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA2B,CAAA;AAAA;AAAA;AACvC,GAAA,EACF,CAAA;AAEJ;ACjrDO,SAAS,YAAA,CAAa;AAAA,EAC3B,UAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,wBAAwB;AAC1B,CAAA,EAAsB;AACpB,EAAA,MAAM,QAAQkB,QAAAA,EAAS;AACvB,EAAmBC,aAAAA,CAAc,KAAA,CAAM,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC;AAC7D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIlB,QAAAA;AAAA,IACpC,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,CAAO,UAAA,GAAa;AAAA,GACtD;AACA,EAAA,OAAA,CAAQ,IAAI,qBAAA,EAAuB;AAAA,IACjC,UAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAAmB,UAAU,MAAM;AACd,IAAA,MAAM,iBAAA,GAAoB,MAAM,cAAA,CAAe,MAAA,CAAO,UAAU,CAAA;AAChE,IAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,iBAAiB,CAAA;AACnD,IAAA,OAAO,MAAM,MAAA,CAAO,mBAAA,CAAoB,QAAA,EAAU,iBAAiB,CAAA;AAAA,EACrE,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACEpB,GAAAA,CAAAI,QAAAA,EAAA,EACE,QAAA,kBAAAD,IAAAA;AAAA,IAACI,MAAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,IAAA;AAAA,MACZ,IAAA,EAAM,UAAA;AAAA,MACN,OAAA,EAAS,MAAM,WAAA,IAAe,WAAA,EAAY;AAAA,MAC1C,iBAAA,EAAgB,yBAAA;AAAA,MAChB,EAAA,EAAI,EAAE,MAAA,EAAQ,IAAA,EAAK;AAAA,MAEnB,QAAA,EAAA;AAAA,wBAAAJ,IAAAA,CAACQ,eAAA,EACC,QAAA,EAAA;AAAA,0BAAAX,GAAAA;AAAA,YAACS,UAAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAS,WAAA;AAAA,cACT,kBAAA,EAAkB,IAAA;AAAA,cAClB,aAAA,EAAa,IAAA;AAAA,cACb,EAAA,EAAI,EAAE,KAAA,EAAO,OAAA,EAAQ;AAAA,cAErB,QAAA,kBAAAT,IAACU,gBAAAA,EAAA,EAAiB,OAAO,EAAE,KAAA,EAAO,WAAU,EAAG;AAAA;AAAA,WACjD;AAAA,0BACAV,GAAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAU,YAAA;AAAA,cACV;AAAA;AAAA;AACF,SAAA,EACF,CAAA;AAAA,wBACAA,GAAAA,CAACc,cAAAA,EAAA,EACC,QAAA,kBAAAd,GAAAA;AAAA,UAACM,OAAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,WAAA;AAAA,YACR,KAAA,EAAM,SAAA;AAAA,YACN,EAAA,EAAI;AAAA,cACF,OAAA,EAAS,MAAA;AAAA,cACT,cAAA,EAAgB,UAAA;AAAA,cAChB,UAAA,EAAY;AAAA,aACd;AAAA,YACA,OAAA,EAAS,WAAA;AAAA,YACV,QAAA,EAAA;AAAA;AAAA,SAED,EACF;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AC9DO,SAASgC,cACd,KAAA,EAMA;AACA,EAAA,MAAM;AAAA,IACJ,GAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AACJ,EAAA,uBACEtC,GAAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,GAAA;AAAA,QACA,UAAA;AAAA,QACA,QAAA,EAAU,YAAA;AAAA,QACV,gBAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,kBAAAA,GAAAA,CAAC,YAAA,EAAA,EAAsB,GAAG,MAAM,YAAA,EAA4B;AAAA;AAAA,GAC9D;AAEJ;AAEO,SAASuC,kBACd,KAAA,EAMA;AACA,EAAA,MAAM;AAAA,IACJ,GAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AACJ,EAAA,uBACEvC,GAAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,OAAO,EAAE,GAAA,EAAK,UAAA,EAAY,QAAA,EAAU,kBAAkB,aAAA,EAAc;AAAA,MAEpE,QAAA,kBAAAA,GAAAA,CAAC,gBAAA,EAAA,EAAyB,QAAA,EAAqB,GAAG,IAAA,EAAM;AAAA;AAAA,GAC1D;AAEJ","file":"index.mjs","sourcesContent":["import React, { createContext, useContext } from 'react'\nimport type { WorkflowContextValue } from './types'\n\nconst WorkflowContext = createContext<WorkflowContextValue | null>(null)\n\nexport function WorkflowProvider({\n value,\n children\n}: {\n value: WorkflowContextValue\n children: React.ReactNode\n}) {\n return <WorkflowContext.Provider value={value}>{children}</WorkflowContext.Provider>\n}\n\nexport function useWorkflowContext(): WorkflowContextValue {\n const ctx = useContext(WorkflowContext)\n if (!ctx) {\n throw new Error('useWorkflowContext must be used within WorkflowProvider')\n }\n return ctx\n}\n\n\n","import React, { useState } from \"react\";\nimport { Menu, MenuItem, Button } from \"@mui/material\";\n\ninterface ActionMenuProps {\n onSendBack: () => void;\n onApprove: () => void;\n onReject: () => void;\n onHold: () => void;\n level: any;\n statusList: Array<{ id: number; name: string; status?: number }>;\n}\n\nconst ActionMenu: React.FC<ActionMenuProps> = ({\n onSendBack,\n onApprove,\n onReject,\n onHold,\n level,\n statusList,\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => setAnchorEl(null);\n\n return (\n <>\n <Button variant=\"contained\" color=\"primary\" onClick={handleActionClick}>\n Apply Action\n </Button>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{ \"aria-labelledby\": \"basic-button\" }}\n >\n {!level && (\n <MenuItem\n onClick={() => {\n onSendBack();\n handleClose();\n }}\n >\n Send Back\n </MenuItem>\n )}\n {statusList.map((list: any) => (\n <MenuItem\n key={list.id}\n onClick={() => {\n if (list.status === 1) onApprove();\n else if (list.status === 2) onHold();\n else if (list.status === 3) onReject();\n handleClose();\n }}\n >\n {list.name}\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default ActionMenu;\n","import React, { useRef, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n InputAdornment,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n};\n\nfunction SendBackDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const [comment, setComment] = useState(\"\");\n const [selectedFile, setSelectedFile] = useState<string | null>(null);\n const [fileName, setFileName] = useState<string>(\"\");\n const [error, setError] = useState<{ comment?: string; file?: string }>({});\n const [loading, setLoading] = useState(false);\n const [fileLoading, setFileLoading] = useState(false);\n const fileInputRef = useRef<HTMLInputElement | null>(null);\n\n // โœ… Snackbar state for messages\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const handleAttachment = () => fileInputRef.current?.click();\n\n const handleUpload = async (file: File) => {\n setFileLoading(true);\n const formData = new FormData();\n formData.append(\"file\", file);\n try {\n const response = await api.post({\n url: \"/workflow/upload-document\",\n data: formData,\n serviceURL: \"api\",\n headers: { \"Content-Type\": \"multipart/form-data\" },\n });\n setFileName(response.data.file);\n setSelectedFile(response.data.file);\n setSnackbar({\n open: true,\n message: \"File uploaded successfully!\",\n severity: \"success\",\n });\n } catch (error: any) {\n setSnackbar({\n open: true,\n message: \"File upload failed.\",\n severity: \"error\",\n });\n } finally {\n setFileLoading(false);\n }\n };\n\n const handleFileChange = async (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (event.target.files && event.target.files.length > 0) {\n const file = event.target.files[0];\n await handleUpload(file);\n setError((prev) => ({ ...prev, file: \"\" }));\n } else {\n setSelectedFile(null);\n setFileName(\"\");\n }\n };\n\n const validateFields = () => {\n let isValid = true;\n const errors = { comment: \"\", file: \"\" };\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n try {\n const res = await api.post({\n url: `/workflow/send-back/${workflowLogId}`,\n data: {\n comment,\n file: selectedFile,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n if (res?.status === 200) {\n setSnackbar({\n open: true,\n message: \"Workflow sent back successfully!\",\n severity: \"success\",\n });\n } else {\n setSnackbar({\n open: true,\n message:\n (res as any)?.error?.message || \"Something went wrong. Try again.\",\n severity: \"error\",\n });\n }\n } catch (e: any) {\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Oops! Something went wrong.\",\n severity: \"error\",\n });\n } finally {\n // โœ… Reset fields after success\n setComment(\"\");\n setSelectedFile(null);\n setFileName(\"\");\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n\n <Grid item xs={12}>\n <TextField\n type=\"text\"\n fullWidth\n label=\"Attachment\"\n placeholder=\"Attachment\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n {fileLoading ? (\n <CircularProgress size={20} color=\"inherit\" />\n ) : (\n <span\n className=\"icon-export-1\"\n style={{ cursor: \"pointer\" }}\n onClick={handleAttachment}\n ></span>\n )}\n </InputAdornment>\n ),\n }}\n onClick={handleAttachment}\n value={fileName}\n error={!!error.file}\n helperText={error.file}\n />\n <input\n type=\"file\"\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || fileLoading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* โœ… Snackbar Popup for messages */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n >\n <Alert\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default SendBackDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n};\n\nfunction ApproveDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState<{ comment?: string }>({});\n const [loading, setLoading] = useState(false);\n\n // Snackbar state\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const validateFields = () => {\n let isValid = true;\n const newError: { comment?: string } = {};\n\n if (!comment) {\n newError.comment = \"Please provide a comment\";\n isValid = false;\n }\n\n setError(newError);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n\n setLoading(true);\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // SUCCESS SNACKBAR\n setSnackbar({\n open: true,\n message: \"Approved successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n // ERROR SNACKBAR\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Something unexpected occurred!\",\n severity: \"error\",\n });\n } finally {\n setComment(\"\"); // reset comment\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* Snackbar */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n >\n <Alert\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default ApproveDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n rejection_reason_master: string;\n};\n\nfunction RejectDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n rejection_reason_master,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const DownArrow = () => (\n <span\n style={{ color: theme.palette.customColors?.mainText || \"#333\" }}\n className=\"icon-arrow-down-1\"\n ></span>\n );\n\n const [rejectReasons, setRejectReasons] = useState<string>(\"\");\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState({ reason: \"\", comment: \"\" });\n const [statusApplicableList, setStatusApplicableList] = useState<any>([]);\n const [loading, setLoading] = useState(false);\n\n // โœ… Snackbar state\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n useEffect(() => {\n (async () => {\n try {\n if (!statusApplicableList.length) {\n const res = await api.get({\n url: `/workflow/applicableStatuses?type=${rejection_reason_master}`,\n serviceURL: \"api\",\n });\n setStatusApplicableList(res?.data?.data || []);\n }\n } catch (e) {\n setSnackbar({\n open: true,\n message: \"Failed to load reject reasons.\",\n severity: \"error\",\n });\n }\n })();\n }, [rejection_reason_master]);\n\n const validateFields = () => {\n let isValid = true;\n const errors = { reason: \"\", comment: \"\" };\n if (!rejectReasons) {\n errors.reason = \"Please select a reject reason\";\n isValid = false;\n }\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n reason: rejectReasons,\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // โœ… Success snackbar\n setSnackbar({\n open: true,\n message: \"Rejected successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n const message = e?.response?.data?.message || \"Something went wrong!\";\n console.error(\"โŒ Reject Error:\", message);\n setSnackbar({\n open: true,\n message,\n severity: \"error\",\n });\n } finally {\n // โœ… Reset fields\n setComment(\"\");\n setRejectReasons(\"\");\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <FormControl fullWidth required error={!!error.reason}>\n <InputLabel required id=\"reject-reason-label\">\n Reject Reasons\n </InputLabel>\n <Select\n IconComponent={DownArrow as any}\n label=\"Reject Reasons\"\n value={rejectReasons}\n id=\"reject-reason\"\n labelId=\"reject-reason-label\"\n onChange={(e) => setRejectReasons(e.target.value as string)}\n >\n {statusApplicableList?.map((reason_: any) => (\n <MenuItem key={reason_?.id} value={reason_?.id}>\n {reason_?.name}\n </MenuItem>\n ))}\n </Select>\n {error.reason && (\n <Typography variant=\"caption\" color=\"error\">\n {error.reason}\n </Typography>\n )}\n </FormControl>\n </Grid>\n\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* โœ… Snackbar for messages */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n >\n <Alert\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default RejectDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n};\n\nfunction OnHoldDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState({ comment: \"\" });\n const [loading, setLoading] = useState(false);\n\n // Snackbar State\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const validateFields = () => {\n let isValid = true;\n const errors = { comment: \"\" };\n\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // Show success\n setSnackbar({\n open: true,\n message: \"Moved to On-Hold successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n // Show error\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Failed to submit the form\",\n severity: \"error\",\n });\n } finally {\n setComment(\"\"); // reset comment\n closeModal && closeModal();\n setLoading(false);\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n {/* Header */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n {/* Body */}\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n {/* Actions */}\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* Snackbar */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n >\n <Alert\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default OnHoldDialog;\n","import { Box, Card, CardContent, Chip, Typography } from \"@mui/material\";\r\nimport { styled, useTheme } from \"@mui/material/styles\";\r\nimport React from \"react\";\r\n\r\n/* ============================================================\r\n CONNECTOR CONFIG โ€” You can change height, thickness, color etc.\r\n ============================================================ */\r\nconst CONNECTOR = {\r\n horizontal: {\r\n thickness: 3,\r\n lengthExtra: 0,\r\n offsetReverseExtra: 30,\r\n color: \"#2C35FF\",\r\n },\r\n vertical: {\r\n thickness: 3,\r\n height: 60,\r\n color: \"#2C35FF\",\r\n },\r\n};\r\n\r\n/* ============================================================ */\r\n\r\nconst CARD_WIDTH = 200;\r\nconst CARD_HEIGHT = 220;\r\nconst GAP = 65;\r\nconst ROW_GAP = 60;\r\n\r\n/* ============================================================ */\r\n\r\nconst CustomCard = styled(Card)<{ cardType?: string }>(\r\n ({ theme, cardType }) => ({\r\n width: CARD_WIDTH,\r\n height: CARD_HEIGHT,\r\n borderRadius: 16,\r\n backgroundColor:\r\n cardType === \"subCard\"\r\n ? \"#FFF2D8 !important\"\r\n : cardType === \"disableCard\"\r\n ? \"#ECECEC !important\"\r\n : \"#F1F1FF !important\",\r\n border:\r\n cardType === \"disableCard\"\r\n ? \"none\"\r\n : `1px solid ${theme.palette.primary.dark}`,\r\n overflow: \"hidden\",\r\n position: \"relative\",\r\n })\r\n);\r\n\r\nconst Bull = ({ count, cardType }: { count: any; cardType?: string }) => {\r\n const theme = useTheme();\r\n return (\r\n <Box\r\n sx={{\r\n width: 40,\r\n height: 40,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n borderRadius: \"50%\",\r\n background: \"#fff\",\r\n border:\r\n cardType === \"disableCard\"\r\n ? `2px solid ${theme.palette.grey[400]}`\r\n : `2px solid ${theme.palette.primary.dark}`,\r\n color:\r\n cardType === \"disableCard\"\r\n ? theme.palette.grey[700]\r\n : theme.palette.primary.dark,\r\n fontWeight: 600,\r\n fontSize: 16,\r\n }}\r\n >\r\n {count}\r\n </Box>\r\n );\r\n};\r\n\r\n/* ============================================================\r\n MAIN COMPONENT\r\n ============================================================ */\r\n\r\nexport default function CustomTimelineWithStatus({ events }: any) {\r\n const theme = useTheme();\r\n\r\n /* Group events in rows of 4 */\r\n const rows: any[][] = [];\r\n for (let i = 0; i < events.length; i += 4) rows.push(events.slice(i, i + 4));\r\n\r\n /* Snake layout: reverse even numbered rows */\r\n const computeColumn = (index: number) => {\r\n const row = Math.floor(index / 4);\r\n const pos = index % 4;\r\n return row % 2 === 0 ? pos : 3 - pos;\r\n };\r\n\r\n /* Prevent ghost connectors */\r\n const hasNextCard = (i: number) => i + 1 < events.length;\r\n\r\n /* Perfect safe horizontal Y (CENTER of card) */\r\n const getHorizontalY = (rowIndex: number) => {\r\n const centerY = CARD_HEIGHT / 2 - CONNECTOR.horizontal.thickness / 2;\r\n return rowIndex % 2 === 0\r\n ? centerY\r\n : centerY + CONNECTOR.horizontal.offsetReverseExtra;\r\n };\r\n\r\n /* Vertical connector: only on 4th card of each row if next exists */\r\n const isVerticalNeeded = (index: number) =>\r\n (index + 1) % 4 === 0 && hasNextCard(index);\r\n\r\n return (\r\n <Box sx={{ width: \"100%\", overflowX: \"auto\", p: 1 }}>\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n display: \"grid\",\r\n gridTemplateColumns: `repeat(4, ${CARD_WIDTH}px)`,\r\n columnGap: `${GAP}px`,\r\n rowGap: `${ROW_GAP}px`,\r\n width: \"max-content\",\r\n }}\r\n >\r\n {events.map((event: any, index: number) => {\r\n const row = Math.floor(index / 4);\r\n const col = computeColumn(index);\r\n const isLast = index % 4 === 3;\r\n\r\n return (\r\n <Box\r\n key={index}\r\n sx={{\r\n gridColumn: col + 1,\r\n gridRow: row + 1,\r\n position: \"relative\",\r\n }}\r\n >\r\n {/* ----------------------------\r\n HORIZONTAL CONNECTOR\r\n ----------------------------- */}\r\n {!isLast && hasNextCard(index) && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: getHorizontalY(row),\r\n left: row % 2 === 0 ? CARD_WIDTH : \"auto\",\r\n right: row % 2 !== 0 ? CARD_WIDTH : \"auto\",\r\n width: GAP + CONNECTOR.horizontal.lengthExtra,\r\n borderTop: `${CONNECTOR.horizontal.thickness}px dashed ${CONNECTOR.horizontal.color}`,\r\n zIndex: 10,\r\n }}\r\n />\r\n )}\r\n\r\n {/* ----------------------------\r\n VERTICAL CONNECTOR\r\n ----------------------------- */}\r\n {isVerticalNeeded(index) && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: CARD_HEIGHT,\r\n left: CARD_WIDTH / 2 - CONNECTOR.vertical.thickness / 2,\r\n width: CONNECTOR.vertical.thickness,\r\n height: CONNECTOR.vertical.height,\r\n borderLeft: `${CONNECTOR.vertical.thickness}px dashed ${CONNECTOR.vertical.color}`,\r\n zIndex: 10,\r\n }}\r\n />\r\n )}\r\n\r\n {/* ----------------------------\r\n CARD\r\n ----------------------------- */}\r\n <CustomCard cardType={event.cardType}>\r\n <CardContent sx={{ px: 2, pt: 2, pb: 1 }}>\r\n <Box\r\n sx={{\r\n mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n height: 28,\r\n }}\r\n >\r\n <Typography variant=\"body2\">{event.date}</Typography>\r\n\r\n {event.status && (\r\n <Chip\r\n label={event.status.title}\r\n sx={{\r\n backgroundColor: `${event.status.color} !important`,\r\n color: `${event.status.labelColor} !important`,\r\n borderRadius: \"40px\",\r\n height: 28,\r\n fontWeight: 600,\r\n px: 1,\r\n }}\r\n />\r\n )}\r\n </Box>\r\n\r\n <Bull count={event.count} cardType={event.cardType} />\r\n\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ mt: 2, fontWeight: 600 }}\r\n >\r\n {event.title}\r\n </Typography>\r\n\r\n <Typography sx={{ mb: 1 }} variant=\"body2\">\r\n {event.subTitle}\r\n </Typography>\r\n\r\n {event.attachment && (\r\n <Typography\r\n sx={{\r\n cursor: \"pointer\",\r\n color: \"#0B56CA\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n Attachment\r\n </Typography>\r\n )}\r\n\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n position: \"absolute\",\r\n bottom: 12,\r\n left: 14,\r\n color: \"#777\",\r\n }}\r\n >\r\n {event.time}\r\n </Typography>\r\n </CardContent>\r\n </CustomCard>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst useDebounce = (value: string, delay: number): string => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const timeoutId = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => clearTimeout(timeoutId);\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n};\r\n\r\nexport default useDebounce;\r\n","import React from \"react\";\r\nimport { Box, IconButton, InputAdornment, TextField } from \"@mui/material\";\r\n\r\ntype SearchBoxType = {\r\n placeHolderTitle: string;\r\n searchText: string;\r\n handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n handleClearSearch: () => void;\r\n};\r\n\r\nconst SearchBox = ({\r\n placeHolderTitle,\r\n searchText,\r\n handleClearSearch,\r\n handleInputChange,\r\n}: SearchBoxType) => {\r\n return (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <TextField\r\n variant=\"outlined\"\r\n value={searchText}\r\n onChange={handleInputChange}\r\n placeholder={placeHolderTitle}\r\n autoComplete=\"off\"\r\n className=\"custom-search\"\r\n InputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n <span className=\"icon-search-normal-1\"></span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: searchText ? (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n disableFocusRipple\r\n disableRipple\r\n disableTouchRipple\r\n onClick={handleClearSearch}\r\n >\r\n <span className=\"icon-close-circle\"></span>\r\n </IconButton>\r\n </InputAdornment>\r\n ) : null,\r\n }}\r\n />\r\n </Box>\r\n );\r\n};\r\n\r\nexport default SearchBox;\r\n","import \"./style.css\";\nimport {\n Button,\n Card,\n CardContent,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n IconButton,\n Tooltip,\n Typography,\n styled,\n useTheme,\n} from \"@mui/material\";\nimport { Box } from \"@mui/system\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport moment from \"moment\";\nimport { useWorkflowContext } from \"../context\";\nimport type { ApprovalWorkflowProps } from \"../types\";\nimport ActionMenu from \"./Statusselector\";\nimport SendBackDialog from \"./dialogs/SendBackDialog\";\nimport ApproveDialog from \"./dialogs/ApproveDialog\";\nimport RejectDialog from \"./dialogs/RejectDialog\";\nimport OnHoldDialog from \"./dialogs/OnHoldDialog\";\nimport CustomTimelineWithStatus from \"./CustomTimeLineWithStatus\";\nimport useDebounce from \"src/hooks/useDebounce\";\nimport SearchBox from \"src/common-component/SearchBox\";\n\nconst StyledChipProps = styled(Chip)(({ theme }) => ({\n \"&.MuiChip-colorPrimary\": {\n border: `1px solid ${theme.palette.primary.dark}`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: `${\"rgba(25,118,210,0.1)\"}`,\n color: `${theme.palette.primary.dark}`,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n \"&.MuiChip-colorDefault\": {\n border: `1px solid ${theme.palette.grey[300]} !important`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: \"none !important\",\n color: `${\n (theme as any).palette?.customColors?.mainText ??\n theme.palette.text.primary\n } `,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n}));\n\nexport function ApprovalWorkflow({\n selectedWorkflowsList = [],\n userInfo,\n}: ApprovalWorkflowProps) {\n const theme = useTheme();\n const { api, urlBuilder, loadingComponent, ENV_VARIABLES } =\n useWorkflowContext();\n\n const [selectedApprovalOtions, setSelectedApprovalOtions] = useState<string>(\n selectedWorkflowsList.length ? \"selected\" : \"Action Required\"\n );\n const [expandedId, setExpandedId] = useState<string | null>(null);\n const [sendDialog, setSendDialog] = React.useState<string | null>(null);\n const [approveTarget, setApproveTarget] = React.useState<any>(null);\n const [rejectTarget, setRejectTarget] = React.useState<any>(null);\n const [onHoldTarget, setOnHoldTarget] = React.useState<any>(null);\n const [expandedDetails, setExpandedDetails] = useState<any>([]);\n console.log(\"๐Ÿš€ ~ ApprovalWorkflow ~ expandedDetails:\", expandedDetails);\n const [urlConfig, setUrlConfig] = useState<any>({});\n const [allRequestArray, setAllRequestArray] = useState<any>([]);\n const [pendingRequestArray, setPendingRequestArray] = useState<any>([]);\n const [selectedRequestArray, setSelectedRequestArray] = useState<any>([]);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n // infinite scroll start\n const [visibleAll, setVisibleAll] = useState(10);\n const [visiblePending, setVisiblePending] = useState(10);\n const [visibleSelected, setVisibleSelected] = useState(10);\n // infinite scroll end\n\n // Search code start\n const [searchText, setSearchText] = useState(\"\");\n\n const handleClearSearch = useCallback(() => {\n setSearchText(\"\");\n }, []);\n\n const handleSearchChange = useCallback((value: string) => {\n setSearchText(value);\n }, []);\n\n const debouncedSearchTerm = useDebounce(searchText, 500);\n\n const filteredSelectedRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return selectedRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return selectedRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [selectedRequestArray, debouncedSearchTerm]);\n\n const filteredAllRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return allRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return allRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [allRequestArray, debouncedSearchTerm]);\n\n const filteredPendingRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return pendingRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return pendingRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [pendingRequestArray, debouncedSearchTerm]);\n // Search code end\n\n // infinite scroll start\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n const lastCardRef = useCallback(\n (node: any) => {\n if (isLoading) return;\n if (observer.current) observer.current.disconnect();\n\n observer.current = new IntersectionObserver((entries) => {\n if (entries[0].isIntersecting) {\n if (selectedApprovalOtions === \"All Requests\") {\n setVisibleAll((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"Action Required\") {\n setVisiblePending((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"selected\") {\n setVisibleSelected((prev) => prev + 10);\n }\n }\n });\n\n if (node) observer.current.observe(node);\n },\n [isLoading, selectedApprovalOtions]\n );\n const visibleAllRequests = (filteredAllRequestArray || []).slice(\n 0,\n visibleAll\n );\n const visiblePendingRequests = (filteredPendingRequestArray || []).slice(\n 0,\n visiblePending\n );\n const visibleSelectedRequests = (filteredSelectedRequestArray || []).slice(\n 0,\n visibleSelected\n );\n\n // infinite scroll end\n\n const handleSendBack = (workflowLogId: string) => {\n setSendDialog(workflowLogId);\n };\n\n const handleApprove = (workflowLogId: any) => {\n setApproveTarget(workflowLogId);\n };\n\n const handleReject = (workflowLogId: string) => {\n setRejectTarget(workflowLogId);\n };\n\n const handleOnHold = (workflowLogId: string) => {\n setOnHoldTarget(workflowLogId);\n };\n const handleProfileToggle = (option: string) => {\n setSelectedApprovalOtions(option);\n if (option === \"Action Required\") fetchPendingActivities();\n if (option === \"All Requests\") fetchAllActivites();\n if (option === \"selected\") fetchSelectedActivites();\n };\n\n const handleExpandClick = (id: string) => {\n setExpandedId((prevId) => (prevId === id ? null : id));\n fetchExpandedActivityLogs(id);\n };\n\n const getStatus = (status: string) => {\n switch (status.toLowerCase()) {\n case \"approved\":\n return {\n title: \"Approved\",\n color: \"#e6f7e9\",\n labelColor: \"#389e49\",\n };\n\n case \"rejected\":\n return {\n title: \"Rejected\",\n color: \"#fff1f0\",\n labelColor: \"#f5222d\",\n };\n\n case \"onhold\":\n return {\n title: \"On Hold\",\n color: \"#fff7e6\",\n labelColor: \"#faad14\",\n };\n\n case \"sendback\":\n return {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n };\n\n case \"completed\":\n return {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n };\n\n case \"pending\":\n return {\n title: \"Pending\",\n color: \"#f0f0f0\",\n labelColor: \"#595959\",\n };\n\n default:\n break;\n }\n };\n\n const approvalChipLabel = [\n {\n label: \"Action Required\",\n icon: <span className=\"icon-document-forward\"></span>,\n count: pendingRequestArray ? pendingRequestArray.length : 0,\n },\n {\n label: \"All Requests\",\n icon: <span className=\"icon-document-copy\"></span>,\n count: allRequestArray ? allRequestArray.length : 0,\n },\n ];\n\n const fetchExpandedActivityLogs = (workflowLogId: string) => {\n setExpandedDetails([]);\n api\n .get({\n url: `/workflow/workflow-activity-logs/${workflowLogId}`,\n serviceURL: \"api\",\n })\n .then((res) => setExpandedDetails(res?.data));\n };\n\n const fetchPendingActivities = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false&type=pending`,\n serviceURL: \"api\",\n })\n .then((res) => setPendingRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchAllActivites = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false`,\n serviceURL: \"api\",\n })\n .then((res) => setAllRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchSelectedActivites = () => {\n setIsLoading(true);\n api\n .post({\n url: `/workflow/bulk-details`,\n serviceURL: \"api\",\n data: { workflowIds: selectedWorkflowsList },\n })\n .then((res) => setSelectedRequestArray(res?.data))\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n if (!sendDialog && !approveTarget && !onHoldTarget && !rejectTarget) {\n fetchAllActivites();\n fetchPendingActivities();\n setExpandedDetails([]);\n setExpandedId(null);\n }\n }, [sendDialog, approveTarget, onHoldTarget, rejectTarget, userInfo]);\n\n useEffect(() => {\n api.get({ url: `/workflow/url-config`, serviceURL: \"api\" }).then((res) => {\n const data = res?.data || [];\n const map = data.reduce((acc: any, { module_name, ...details }: any) => {\n acc[module_name] = details;\n return acc;\n }, {});\n setUrlConfig(map);\n });\n }, []);\n\n useEffect(() => {\n if (selectedWorkflowsList.length && !selectedRequestArray.length) {\n fetchSelectedActivites();\n }\n }, [selectedWorkflowsList]);\n\n useEffect(() => {\n if (Object.keys(urlConfig).length > 0 && userInfo) {\n fetchPendingActivities();\n }\n }, [urlConfig, userInfo]);\n\n const buildRedirectionUrl = (info: any) => {\n const { module_name, module_id, reference_id, redirection_link } = info;\n\n // Direct URL override\n if (redirection_link) return redirection_link;\n\n // Handle known module types\n if (module_name === \"route_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}route-listing/view/${reference_id}`;\n } else if (module_name === \"update_bus_details_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}bus-listing/view/${reference_id}`;\n } else if (module_name === \"kit_handover_approve\") {\n return `${ENV_VARIABLES?.FINANCE_URL}fee-collection/?reference_id=${reference_id}&module_name=${module_name}&module_id=${module_id}`;\n }\n\n // Generic fallback โ€” uses urlConfig and optional urlBuilder\n if (urlBuilder) {\n return urlBuilder(module_name, module_id, urlConfig, reference_id);\n }\n\n const ref = urlConfig?.[module_name];\n if (ref?.base_variable && ref?.sub_url) {\n const BASE_ENV_VARIABLE =\n ENV_VARIABLES[\n ref?.base_variable.split(\"_\")[3] +\n \"_\" +\n ref?.base_variable.split(\"_\")[4]\n ];\n const qs = new URLSearchParams();\n if (reference_id) qs.set(\"reference_id\", String(reference_id));\n if (module_name) qs.set(\"module_name\", String(module_name));\n if (module_id) qs.set(\"module_id\", String(module_id));\n return `${BASE_ENV_VARIABLE}${ref.sub_url}?${qs.toString()}`;\n }\n\n return \"#\";\n };\n\n const StatusObj = {\n approved: {\n title: \"Approved\",\n color: \"#e6f7e9\",\n labelColor: \"#389e49\",\n },\n rejected: {\n title: \"Rejected\",\n color: \"#fff1f0\",\n labelColor: \"#f5222d\",\n },\n onhold: {\n title: \"On Hold\",\n color: \"#fff7e6\",\n labelColor: \"#faad14\",\n },\n sendback: {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n },\n pending: {\n title: \"Pending\",\n color: \"#f0f0f0\",\n labelColor: \"#595959\",\n },\n draft: {\n title: \"Draft\",\n color: \"#f9f0ff\",\n labelColor: \"#722ed1\",\n },\n };\n if (isLoading && loadingComponent) return <>{loadingComponent}</>;\n console.info(\"LIBRARY RUNNING...\");\n return (\n <>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n flexWrap: \"nowrap\",\n overflow: \"hidden !important\",\n }}\n >\n <Box\n sx={{ width: \"100%\", height: \"100%\", overflow: \"hidden !important\" }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <Box sx={{ mt: 2, mb: 2 }}>\n {selectedWorkflowsList?.length ? (\n <Tooltip title=\"Selected Workflows\">\n <StyledChipProps\n label={\"Selected\"}\n icon={<span className=\"icon-eye\"></span>}\n color={\n selectedApprovalOtions?.includes(\"selected\")\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(\"selected\")}\n />\n </Tooltip>\n ) : (\n \"\"\n )}\n\n {approvalChipLabel.map(({ label, icon, count }, index) => (\n <Tooltip key={index} title={`${count} ${label}`}>\n <StyledChipProps\n label={`${count} ${label}`}\n icon={icon}\n color={\n selectedApprovalOtions?.includes(label)\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(label)}\n />\n </Tooltip>\n ))}\n </Box>\n <Box sx={{ flexGrow: 1, maxWidth: 250, ml: \"auto\" }}>\n <SearchBox\n placeHolderTitle=\"Search\"\n searchText={searchText}\n handleClearSearch={handleClearSearch}\n handleInputChange={(e) => handleSearchChange(e.target.value)}\n />\n </Box>\n </Box>\n\n {/* Selected */}\n {selectedApprovalOtions === \"selected\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleSelectedRequests.length > 0 ? (\n visibleSelectedRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleSelectedRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"22%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${\n getStatus(currentStatus).color\n } !important`,\n color: `${\n getStatus(currentStatus).labelColor\n } !important`,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n\n {/* All Requests */}\n {selectedApprovalOtions === \"All Requests\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleAllRequests.length > 0 ? (\n visibleAllRequests?.map((info: any, index: number) => {\n if (!info?.isLevelZero) {\n console.log(\"๐Ÿš€ ~ ApprovalWorkflow ~ Zero:\", info);\n }\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleAllRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{ mt: 0.5, color: \"text.secondary\" }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"18%\", minWidth: 180 }}>\n <Typography\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: \"block\" }}\n >\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${\n getStatus(currentStatus).color\n } !important`,\n color: `${\n getStatus(currentStatus).labelColor\n } !important`,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n {/* Divider & Expand */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n\n {/* Action Required */}\n {selectedApprovalOtions === \"Action Required\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visiblePendingRequests.length > 0 ? (\n visiblePendingRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels?.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n const redir = buildRedirectionUrl(info);\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visiblePendingRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography variant=\"h6\" fontWeight={600} noWrap>\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"18%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu / Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: statusData.color,\n color: statusData.labelColor,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n </Box>\n </Box>\n {/* Dialogs */}\n <SendBackDialog\n openModal={!!sendDialog}\n closeModal={() => setSendDialog(null)}\n header=\"Send Back\"\n workflowLogId={sendDialog || \"\"}\n />\n <ApproveDialog\n openModal={!!approveTarget}\n closeModal={() => setApproveTarget(null)}\n header=\"Approve\"\n workflowLogId={approveTarget?.split(\"|\")?.[0]}\n statusId={approveTarget?.split(\"|\")?.[1]}\n />\n <RejectDialog\n openModal={!!rejectTarget}\n closeModal={() => setRejectTarget(null)}\n header=\"Reject\"\n workflowLogId={rejectTarget?.split(\"|\")?.[0]}\n statusId={rejectTarget?.split(\"|\")?.[1]}\n rejection_reason_master={rejectTarget?.split(\"|\")?.[2]}\n />\n <OnHoldDialog\n openModal={!!onHoldTarget}\n closeModal={() => setOnHoldTarget(null)}\n header=\"On Hold\"\n workflowLogId={onHoldTarget?.split(\"|\")?.[0]}\n statusId={onHoldTarget?.split(\"|\")?.[1]}\n />\n </>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { IconButton } from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { ApprovalWorkflow } from \"./ApprovalWorkflow\";\nimport type { DialogOpenerProps } from \"../types\";\n\nexport function DialogOpener({\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList = [],\n}: DialogOpenerProps) {\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const [screenWidth, setScreenWidth] = useState<number>(\n typeof window !== \"undefined\" ? window.innerWidth : 0\n );\n console.log(\"Dialog opener props\", {\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList,\n });\n useEffect(() => {\n const updateScreenWidth = () => setScreenWidth(window.innerWidth);\n window.addEventListener(\"resize\", updateScreenWidth);\n return () => window.removeEventListener(\"resize\", updateScreenWidth);\n }, []);\n\n return (\n <>\n <Dialog\n fullScreen={true}\n open={openDialog}\n onClose={() => handleClose && handleClose()}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ zIndex: 1234 }}\n >\n <DialogContent>\n <IconButton\n onClick={handleClose}\n disableFocusRipple\n disableRipple\n sx={{ float: \"right\" }}\n >\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n <ApprovalWorkflow\n userInfo={userInfoData}\n selectedWorkflowsList={selectedWorkflowsList}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n onClick={handleClose}\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n","import React from \"react\";\nimport { WorkflowProvider } from \"./context\";\nimport type {\n ApiClient,\n UrlBuilder,\n DialogOpenerProps,\n ApprovalWorkflowProps,\n} from \"./types\";\nimport { DialogOpener as InternalDialogOpener } from \"./ui/DialogOpener\";\nimport { ApprovalWorkflow as InternalApprovalWorkflow } from \"./ui/ApprovalWorkflow\";\n\nexport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps };\n\nexport function DialogOpener(\n props: DialogOpenerProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfoData,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{\n api,\n urlBuilder,\n userInfo: userInfoData,\n loadingComponent,\n ENV_VARIABLES,\n }}\n >\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n );\n}\n\nexport function ApprovalWorkflow(\n props: ApprovalWorkflowProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfo,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{ api, urlBuilder, userInfo, loadingComponent, ENV_VARIABLES }}\n >\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/context.tsx","../src/ui/Statusselector.tsx","../src/ui/dialogs/SendBackDialog.tsx","../src/ui/dialogs/ApproveDialog.tsx","../src/ui/dialogs/RejectDialog.tsx","../src/ui/dialogs/OnHoldDialog.tsx","../src/ui/CustomTimeLineWithStatus.tsx","../src/hooks/useDebounce.ts","../src/common-component/SearchBox.tsx","../src/ui/ApprovalWorkflow.tsx","../src/ui/DialogOpener.tsx","../src/index.tsx"],"names":["jsx","useState","error","jsxs","Fragment","Box","Button","Dialog","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","DialogActions","CircularProgress","Snackbar","Alert","useTheme","useMediaQuery","useEffect","MenuItem","Typography","InputAdornment","styled","Chip","React","_a","_b","_c","_d","_e","_f","_g","statusList","info","Card","CardContent","DialogOpener","ApprovalWorkflow"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext } from 'react'\nimport type { WorkflowContextValue } from './types'\n\nconst WorkflowContext = createContext<WorkflowContextValue | null>(null)\n\nexport function WorkflowProvider({\n value,\n children\n}: {\n value: WorkflowContextValue\n children: React.ReactNode\n}) {\n return <WorkflowContext.Provider value={value}>{children}</WorkflowContext.Provider>\n}\n\nexport function useWorkflowContext(): WorkflowContextValue {\n const ctx = useContext(WorkflowContext)\n if (!ctx) {\n throw new Error('useWorkflowContext must be used within WorkflowProvider')\n }\n return ctx\n}\n\n\n","import React, { useState } from \"react\";\nimport { Menu, MenuItem, Button } from \"@mui/material\";\n\ninterface ActionMenuProps {\n onSendBack: () => void;\n onApprove: () => void;\n onReject: () => void;\n onHold: () => void;\n level: any;\n statusList: Array<{ id: number; name: string; status?: number }>;\n}\n\nconst ActionMenu: React.FC<ActionMenuProps> = ({\n onSendBack,\n onApprove,\n onReject,\n onHold,\n level,\n statusList,\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => setAnchorEl(null);\n\n return (\n <>\n <Button variant=\"contained\" color=\"primary\" onClick={handleActionClick}>\n Apply Action\n </Button>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{ \"aria-labelledby\": \"basic-button\" }}\n >\n {!level && (\n <MenuItem\n onClick={() => {\n onSendBack();\n handleClose();\n }}\n >\n Send Back\n </MenuItem>\n )}\n {statusList.map((list: any) => (\n <MenuItem\n key={list.id}\n onClick={() => {\n if (list.status === 1) onApprove();\n else if (list.status === 2) onHold();\n else if (list.status === 3) onReject();\n handleClose();\n }}\n >\n {list.name}\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default ActionMenu;\n","import React, { useRef, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n InputAdornment,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n};\n\nfunction SendBackDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const [comment, setComment] = useState(\"\");\n const [selectedFile, setSelectedFile] = useState<string | null>(null);\n const [fileName, setFileName] = useState<string>(\"\");\n const [error, setError] = useState<{ comment?: string; file?: string }>({});\n const [loading, setLoading] = useState(false);\n const [fileLoading, setFileLoading] = useState(false);\n const fileInputRef = useRef<HTMLInputElement | null>(null);\n\n // โœ… Snackbar state for messages\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const handleAttachment = () => fileInputRef.current?.click();\n\n const handleUpload = async (file: File) => {\n setFileLoading(true);\n const formData = new FormData();\n formData.append(\"file\", file);\n try {\n const response = await api.post({\n url: \"/workflow/upload-document\",\n data: formData,\n serviceURL: \"api\",\n headers: { \"Content-Type\": \"multipart/form-data\" },\n });\n setFileName(response.data.file);\n setSelectedFile(response.data.file);\n setSnackbar({\n open: true,\n message: \"File uploaded successfully!\",\n severity: \"success\",\n });\n } catch (error: any) {\n setSnackbar({\n open: true,\n message: \"File upload failed.\",\n severity: \"error\",\n });\n } finally {\n setFileLoading(false);\n }\n };\n\n const handleFileChange = async (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (event.target.files && event.target.files.length > 0) {\n const file = event.target.files[0];\n await handleUpload(file);\n setError((prev) => ({ ...prev, file: \"\" }));\n } else {\n setSelectedFile(null);\n setFileName(\"\");\n }\n };\n\n const validateFields = () => {\n let isValid = true;\n const errors = { comment: \"\", file: \"\" };\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n try {\n const res = await api.post({\n url: `/workflow/send-back/${workflowLogId}`,\n data: {\n comment,\n file: selectedFile,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n if (res?.status === 200) {\n setSnackbar({\n open: true,\n message: \"Workflow sent back successfully!\",\n severity: \"success\",\n });\n } else {\n setSnackbar({\n open: true,\n message:\n (res as any)?.error?.message || \"Something went wrong. Try again.\",\n severity: \"error\",\n });\n }\n } catch (e: any) {\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Oops! Something went wrong.\",\n severity: \"error\",\n });\n } finally {\n // โœ… Reset fields after success\n setComment(\"\");\n setSelectedFile(null);\n setFileName(\"\");\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n\n <Grid item xs={12}>\n <TextField\n type=\"text\"\n fullWidth\n label=\"Attachment\"\n placeholder=\"Attachment\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n {fileLoading ? (\n <CircularProgress size={20} color=\"inherit\" />\n ) : (\n <span\n className=\"icon-export-1\"\n style={{ cursor: \"pointer\" }}\n onClick={handleAttachment}\n ></span>\n )}\n </InputAdornment>\n ),\n }}\n onClick={handleAttachment}\n value={fileName}\n error={!!error.file}\n helperText={error.file}\n />\n <input\n type=\"file\"\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || fileLoading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* โœ… Snackbar Popup for messages */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n sx={{ zIndex: 9999999 }}\n >\n <Alert\n variant=\"filled\"\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default SendBackDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n};\n\nfunction ApproveDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState<{ comment?: string }>({});\n const [loading, setLoading] = useState(false);\n\n // Snackbar state\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const validateFields = () => {\n let isValid = true;\n const newError: { comment?: string } = {};\n\n if (!comment) {\n newError.comment = \"Please provide a comment\";\n isValid = false;\n }\n\n setError(newError);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n\n setLoading(true);\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // SUCCESS SNACKBAR\n setSnackbar({\n open: true,\n message: \"Approved successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n // ERROR SNACKBAR\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Something unexpected occurred!\",\n severity: \"error\",\n });\n } finally {\n setComment(\"\"); // reset comment\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* Snackbar */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n sx={{ zIndex: 9999999 }}\n >\n <Alert\n variant=\"filled\"\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default ApproveDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n rejection_reason_master: string;\n};\n\nfunction RejectDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n rejection_reason_master,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const DownArrow = () => (\n <span\n style={{ color: theme.palette.customColors?.mainText || \"#333\" }}\n className=\"icon-arrow-down-1\"\n ></span>\n );\n\n const [rejectReasons, setRejectReasons] = useState<string>(\"\");\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState({ reason: \"\", comment: \"\" });\n const [statusApplicableList, setStatusApplicableList] = useState<any>([]);\n const [loading, setLoading] = useState(false);\n\n // โœ… Snackbar state\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n useEffect(() => {\n (async () => {\n try {\n if (!statusApplicableList.length) {\n const res = await api.get({\n url: `/workflow/applicableStatuses?type=${rejection_reason_master}`,\n serviceURL: \"api\",\n });\n setStatusApplicableList(res?.data?.data || []);\n }\n } catch (e) {\n setSnackbar({\n open: true,\n message: \"Failed to load reject reasons.\",\n severity: \"error\",\n });\n }\n })();\n }, [rejection_reason_master]);\n\n const validateFields = () => {\n let isValid = true;\n const errors = { reason: \"\", comment: \"\" };\n if (!rejectReasons) {\n errors.reason = \"Please select a reject reason\";\n isValid = false;\n }\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n reason: rejectReasons,\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // โœ… Success snackbar\n setSnackbar({\n open: true,\n message: \"Rejected successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n const message = e?.response?.data?.message || \"Something went wrong!\";\n console.error(\"โŒ Reject Error:\", message);\n setSnackbar({\n open: true,\n message,\n severity: \"error\",\n });\n } finally {\n // โœ… Reset fields\n setComment(\"\");\n setRejectReasons(\"\");\n setLoading(false);\n closeModal && closeModal();\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <FormControl fullWidth required error={!!error.reason}>\n <InputLabel required id=\"reject-reason-label\">\n Reject Reasons\n </InputLabel>\n <Select\n IconComponent={DownArrow as any}\n label=\"Reject Reasons\"\n value={rejectReasons}\n id=\"reject-reason\"\n labelId=\"reject-reason-label\"\n onChange={(e) => setRejectReasons(e.target.value as string)}\n >\n {statusApplicableList?.map((reason_: any) => (\n <MenuItem key={reason_?.id} value={reason_?.id}>\n {reason_?.name}\n </MenuItem>\n ))}\n </Select>\n {error.reason && (\n <Typography variant=\"caption\" color=\"error\">\n {error.reason}\n </Typography>\n )}\n </FormControl>\n </Grid>\n\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* โœ… Snackbar for messages */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n sx={{ zIndex: 9999999 }}\n >\n <Alert\n variant=\"filled\"\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default RejectDialog;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n CircularProgress,\n IconButton,\n Snackbar,\n Alert,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n statusId: string;\n};\n\nfunction OnHoldDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n statusId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n\n const [comment, setComment] = useState(\"\");\n const [error, setError] = useState({ comment: \"\" });\n const [loading, setLoading] = useState(false);\n\n // Snackbar State\n const [snackbar, setSnackbar] = useState<{\n open: boolean;\n message: string;\n severity: \"success\" | \"error\";\n }>({\n open: false,\n message: \"\",\n severity: \"success\",\n });\n\n const handleCloseSnackbar = () =>\n setSnackbar((prev) => ({ ...prev, open: false }));\n\n const validateFields = () => {\n let isValid = true;\n const errors = { comment: \"\" };\n\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n\n try {\n await api.post({\n url: `/workflow/update-status/${workflowLogId}/${statusId}`,\n data: {\n comment,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n\n // Show success\n setSnackbar({\n open: true,\n message: \"Moved to On-Hold successfully!\",\n severity: \"success\",\n });\n } catch (e: any) {\n // Show error\n setSnackbar({\n open: true,\n message: e?.response?.data?.message || \"Failed to submit the form\",\n severity: \"error\",\n });\n } finally {\n setComment(\"\"); // reset comment\n closeModal && closeModal();\n setLoading(false);\n }\n };\n\n return (\n <>\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n {/* Header */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n\n {/* Body */}\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n\n {/* Actions */}\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n\n {/* Snackbar */}\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleCloseSnackbar}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n sx={{ zIndex: 9999999 }}\n >\n <Alert\n variant=\"filled\"\n onClose={handleCloseSnackbar}\n severity={snackbar.severity}\n sx={{\n width: \"100%\",\n color: snackbar.severity === \"error\" ? \"#fff\" : \"inherit\",\n bgcolor: snackbar.severity === \"error\" ? \"#d32f2f\" : undefined,\n zIndex: 100000,\n }}\n >\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n}\n\nexport default OnHoldDialog;\n","import { Box, Card, CardContent, Chip, Typography } from \"@mui/material\";\r\nimport { styled, useTheme } from \"@mui/material/styles\";\r\nimport React from \"react\";\r\n\r\n/* ============================================================\r\n CONNECTOR CONFIG โ€” You can change height, thickness, color etc.\r\n ============================================================ */\r\nconst CONNECTOR = {\r\n horizontal: {\r\n thickness: 3,\r\n lengthExtra: 0,\r\n offsetReverseExtra: 30,\r\n color: \"#2C35FF\",\r\n },\r\n vertical: {\r\n thickness: 3,\r\n height: 60,\r\n color: \"#2C35FF\",\r\n },\r\n};\r\n\r\n/* ============================================================ */\r\n\r\nconst CARD_WIDTH = 200;\r\nconst CARD_HEIGHT = 220;\r\nconst GAP = 65;\r\nconst ROW_GAP = 60;\r\n\r\n/* ============================================================ */\r\n\r\nconst CustomCard = styled(Card)<{ cardType?: string }>(\r\n ({ theme, cardType }) => ({\r\n width: CARD_WIDTH,\r\n height: CARD_HEIGHT,\r\n borderRadius: 16,\r\n backgroundColor:\r\n cardType === \"subCard\"\r\n ? \"#FFF2D8 !important\"\r\n : cardType === \"disableCard\"\r\n ? \"#ECECEC !important\"\r\n : \"#F1F1FF !important\",\r\n border:\r\n cardType === \"disableCard\"\r\n ? \"none\"\r\n : `1px solid ${theme.palette.primary.dark}`,\r\n overflow: \"hidden\",\r\n position: \"relative\",\r\n })\r\n);\r\n\r\nconst Bull = ({ count, cardType }: { count: any; cardType?: string }) => {\r\n const theme = useTheme();\r\n return (\r\n <Box\r\n sx={{\r\n width: 40,\r\n height: 40,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n borderRadius: \"50%\",\r\n background: \"#fff\",\r\n border:\r\n cardType === \"disableCard\"\r\n ? `2px solid ${theme.palette.grey[400]}`\r\n : `2px solid ${theme.palette.primary.dark}`,\r\n color:\r\n cardType === \"disableCard\"\r\n ? theme.palette.grey[700]\r\n : theme.palette.primary.dark,\r\n fontWeight: 600,\r\n fontSize: 16,\r\n }}\r\n >\r\n {count}\r\n </Box>\r\n );\r\n};\r\n\r\n/* ============================================================\r\n MAIN COMPONENT\r\n ============================================================ */\r\n\r\nexport default function CustomTimelineWithStatus({ events }: any) {\r\n const theme = useTheme();\r\n\r\n /* Group events in rows of 4 */\r\n const rows: any[][] = [];\r\n for (let i = 0; i < events.length; i += 4) rows.push(events.slice(i, i + 4));\r\n\r\n /* Snake layout: reverse even numbered rows */\r\n const computeColumn = (index: number) => {\r\n const row = Math.floor(index / 4);\r\n const pos = index % 4;\r\n return row % 2 === 0 ? pos : 3 - pos;\r\n };\r\n\r\n /* Prevent ghost connectors */\r\n const hasNextCard = (i: number) => i + 1 < events.length;\r\n\r\n /* Perfect safe horizontal Y (CENTER of card) */\r\n const getHorizontalY = (rowIndex: number) => {\r\n const centerY = CARD_HEIGHT / 2 - CONNECTOR.horizontal.thickness / 2;\r\n return rowIndex % 2 === 0\r\n ? centerY\r\n : centerY + CONNECTOR.horizontal.offsetReverseExtra;\r\n };\r\n\r\n /* Vertical connector: only on 4th card of each row if next exists */\r\n const isVerticalNeeded = (index: number) =>\r\n (index + 1) % 4 === 0 && hasNextCard(index);\r\n\r\n return (\r\n <Box sx={{ width: \"100%\", overflowX: \"auto\", p: 1 }}>\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n display: \"grid\",\r\n gridTemplateColumns: `repeat(4, ${CARD_WIDTH}px)`,\r\n columnGap: `${GAP}px`,\r\n rowGap: `${ROW_GAP}px`,\r\n width: \"max-content\",\r\n }}\r\n >\r\n {events.map((event: any, index: number) => {\r\n const row = Math.floor(index / 4);\r\n const col = computeColumn(index);\r\n const isLast = index % 4 === 3;\r\n\r\n return (\r\n <Box\r\n key={index}\r\n sx={{\r\n gridColumn: col + 1,\r\n gridRow: row + 1,\r\n position: \"relative\",\r\n }}\r\n >\r\n {/* ----------------------------\r\n HORIZONTAL CONNECTOR\r\n ----------------------------- */}\r\n {!isLast && hasNextCard(index) && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: getHorizontalY(row),\r\n left: row % 2 === 0 ? CARD_WIDTH : \"auto\",\r\n right: row % 2 !== 0 ? CARD_WIDTH : \"auto\",\r\n width: GAP + CONNECTOR.horizontal.lengthExtra,\r\n borderTop: `${CONNECTOR.horizontal.thickness}px dashed ${CONNECTOR.horizontal.color}`,\r\n zIndex: 10,\r\n }}\r\n />\r\n )}\r\n\r\n {/* ----------------------------\r\n VERTICAL CONNECTOR\r\n ----------------------------- */}\r\n {isVerticalNeeded(index) && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: CARD_HEIGHT,\r\n left: CARD_WIDTH / 2 - CONNECTOR.vertical.thickness / 2,\r\n width: CONNECTOR.vertical.thickness,\r\n height: CONNECTOR.vertical.height,\r\n borderLeft: `${CONNECTOR.vertical.thickness}px dashed ${CONNECTOR.vertical.color}`,\r\n zIndex: 10,\r\n }}\r\n />\r\n )}\r\n\r\n {/* ----------------------------\r\n CARD\r\n ----------------------------- */}\r\n <CustomCard cardType={event.cardType}>\r\n <CardContent sx={{ px: 2, pt: 2, pb: 1 }}>\r\n <Box\r\n sx={{\r\n mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n height: 28,\r\n }}\r\n >\r\n <Typography variant=\"body2\">{event.date}</Typography>\r\n\r\n {event.status && (\r\n <Chip\r\n label={event.status.title}\r\n sx={{\r\n backgroundColor: `${event.status.color} !important`,\r\n color: `${event.status.labelColor} !important`,\r\n borderRadius: \"40px\",\r\n height: 28,\r\n fontWeight: 600,\r\n px: 1,\r\n }}\r\n />\r\n )}\r\n </Box>\r\n\r\n <Bull count={event.count} cardType={event.cardType} />\r\n\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ mt: 2, fontWeight: 600 }}\r\n >\r\n {event.title}\r\n </Typography>\r\n\r\n <Typography sx={{ mb: 1 }} variant=\"body2\">\r\n {event.subTitle}\r\n </Typography>\r\n\r\n {event.attachment && (\r\n <Typography\r\n sx={{\r\n cursor: \"pointer\",\r\n color: \"#0B56CA\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n Attachment\r\n </Typography>\r\n )}\r\n\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n position: \"absolute\",\r\n bottom: 12,\r\n left: 14,\r\n color: \"#777\",\r\n }}\r\n >\r\n {event.time}\r\n </Typography>\r\n </CardContent>\r\n </CustomCard>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst useDebounce = (value: string, delay: number): string => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const timeoutId = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => clearTimeout(timeoutId);\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n};\r\n\r\nexport default useDebounce;\r\n","import React from \"react\";\r\nimport { Box, IconButton, InputAdornment, TextField } from \"@mui/material\";\r\n\r\ntype SearchBoxType = {\r\n placeHolderTitle: string;\r\n searchText: string;\r\n handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n handleClearSearch: () => void;\r\n};\r\n\r\nconst SearchBox = ({\r\n placeHolderTitle,\r\n searchText,\r\n handleClearSearch,\r\n handleInputChange,\r\n}: SearchBoxType) => {\r\n return (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <TextField\r\n variant=\"outlined\"\r\n value={searchText}\r\n onChange={handleInputChange}\r\n placeholder={placeHolderTitle}\r\n autoComplete=\"off\"\r\n className=\"custom-search\"\r\n InputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n <span className=\"icon-search-normal-1\"></span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: searchText ? (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n disableFocusRipple\r\n disableRipple\r\n disableTouchRipple\r\n onClick={handleClearSearch}\r\n >\r\n <span className=\"icon-close-circle\"></span>\r\n </IconButton>\r\n </InputAdornment>\r\n ) : null,\r\n }}\r\n />\r\n </Box>\r\n );\r\n};\r\n\r\nexport default SearchBox;\r\n","import \"./style.css\";\nimport {\n Button,\n Card,\n CardContent,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n IconButton,\n Tooltip,\n Typography,\n styled,\n useTheme,\n} from \"@mui/material\";\nimport { Box } from \"@mui/system\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport moment from \"moment\";\nimport { useWorkflowContext } from \"../context\";\nimport type { ApprovalWorkflowProps } from \"../types\";\nimport ActionMenu from \"./Statusselector\";\nimport SendBackDialog from \"./dialogs/SendBackDialog\";\nimport ApproveDialog from \"./dialogs/ApproveDialog\";\nimport RejectDialog from \"./dialogs/RejectDialog\";\nimport OnHoldDialog from \"./dialogs/OnHoldDialog\";\nimport CustomTimelineWithStatus from \"./CustomTimeLineWithStatus\";\nimport useDebounce from \"src/hooks/useDebounce\";\nimport SearchBox from \"src/common-component/SearchBox\";\n\nconst StyledChipProps = styled(Chip)(({ theme }) => ({\n \"&.MuiChip-colorPrimary\": {\n border: `1px solid ${theme.palette.primary.dark}`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: `${\"rgba(25,118,210,0.1)\"}`,\n color: `${theme.palette.primary.dark}`,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n \"&.MuiChip-colorDefault\": {\n border: `1px solid ${theme.palette.grey[300]} !important`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: \"none !important\",\n color: `${\n (theme as any).palette?.customColors?.mainText ??\n theme.palette.text.primary\n } `,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n}));\n\nexport function ApprovalWorkflow({\n selectedWorkflowsList = [],\n userInfo,\n}: ApprovalWorkflowProps) {\n const theme = useTheme();\n const { api, urlBuilder, loadingComponent, ENV_VARIABLES } =\n useWorkflowContext();\n\n const [selectedApprovalOtions, setSelectedApprovalOtions] = useState<string>(\n selectedWorkflowsList.length ? \"selected\" : \"Action Required\"\n );\n const [expandedId, setExpandedId] = useState<string | null>(null);\n const [sendDialog, setSendDialog] = React.useState<string | null>(null);\n const [approveTarget, setApproveTarget] = React.useState<any>(null);\n const [rejectTarget, setRejectTarget] = React.useState<any>(null);\n const [onHoldTarget, setOnHoldTarget] = React.useState<any>(null);\n const [expandedDetails, setExpandedDetails] = useState<any>([]);\n console.log(\"๐Ÿš€ ~ ApprovalWorkflow ~ expandedDetails:\", expandedDetails);\n const [urlConfig, setUrlConfig] = useState<any>({});\n const [allRequestArray, setAllRequestArray] = useState<any>([]);\n const [pendingRequestArray, setPendingRequestArray] = useState<any>([]);\n const [selectedRequestArray, setSelectedRequestArray] = useState<any>([]);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n // infinite scroll start\n const [visibleAll, setVisibleAll] = useState(10);\n const [visiblePending, setVisiblePending] = useState(10);\n const [visibleSelected, setVisibleSelected] = useState(10);\n // infinite scroll end\n\n // Search code start\n const [searchText, setSearchText] = useState(\"\");\n\n const handleClearSearch = useCallback(() => {\n setSearchText(\"\");\n }, []);\n\n const handleSearchChange = useCallback((value: string) => {\n setSearchText(value);\n }, []);\n\n const debouncedSearchTerm = useDebounce(searchText, 500);\n\n const filteredSelectedRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return selectedRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return selectedRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [selectedRequestArray, debouncedSearchTerm]);\n\n const filteredAllRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return allRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return allRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [allRequestArray, debouncedSearchTerm]);\n\n const filteredPendingRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return pendingRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return pendingRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [pendingRequestArray, debouncedSearchTerm]);\n // Search code end\n\n // infinite scroll start\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n const lastCardRef = useCallback(\n (node: any) => {\n if (isLoading) return;\n if (observer.current) observer.current.disconnect();\n\n observer.current = new IntersectionObserver((entries) => {\n if (entries[0].isIntersecting) {\n if (selectedApprovalOtions === \"All Requests\") {\n setVisibleAll((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"Action Required\") {\n setVisiblePending((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"selected\") {\n setVisibleSelected((prev) => prev + 10);\n }\n }\n });\n\n if (node) observer.current.observe(node);\n },\n [isLoading, selectedApprovalOtions]\n );\n const visibleAllRequests = (filteredAllRequestArray || []).slice(\n 0,\n visibleAll\n );\n const visiblePendingRequests = (filteredPendingRequestArray || []).slice(\n 0,\n visiblePending\n );\n const visibleSelectedRequests = (filteredSelectedRequestArray || []).slice(\n 0,\n visibleSelected\n );\n\n // infinite scroll end\n\n const handleSendBack = (workflowLogId: string) => {\n setSendDialog(workflowLogId);\n };\n\n const handleApprove = (workflowLogId: any) => {\n setApproveTarget(workflowLogId);\n };\n\n const handleReject = (workflowLogId: string) => {\n setRejectTarget(workflowLogId);\n };\n\n const handleOnHold = (workflowLogId: string) => {\n setOnHoldTarget(workflowLogId);\n };\n const handleProfileToggle = (option: string) => {\n setSelectedApprovalOtions(option);\n if (option === \"Action Required\") fetchPendingActivities();\n if (option === \"All Requests\") fetchAllActivites();\n if (option === \"selected\") fetchSelectedActivites();\n };\n\n const handleExpandClick = (id: string) => {\n setExpandedId((prevId) => (prevId === id ? null : id));\n fetchExpandedActivityLogs(id);\n };\n\n const getStatus = (status: string) => {\n switch (status.toLowerCase()) {\n case \"approved\":\n return {\n title: \"Approved\",\n color: \"#e6f7e9\",\n labelColor: \"#389e49\",\n };\n\n case \"rejected\":\n return {\n title: \"Rejected\",\n color: \"#fff1f0\",\n labelColor: \"#f5222d\",\n };\n\n case \"onhold\":\n return {\n title: \"On Hold\",\n color: \"#fff7e6\",\n labelColor: \"#faad14\",\n };\n\n case \"sendback\":\n return {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n };\n\n case \"completed\":\n return {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n };\n\n case \"pending\":\n return {\n title: \"Pending\",\n color: \"#f0f0f0\",\n labelColor: \"#595959\",\n };\n\n default:\n break;\n }\n };\n\n const approvalChipLabel = [\n {\n label: \"Action Required\",\n icon: <span className=\"icon-document-forward\"></span>,\n count: pendingRequestArray ? pendingRequestArray.length : 0,\n },\n {\n label: \"All Requests\",\n icon: <span className=\"icon-document-copy\"></span>,\n count: allRequestArray ? allRequestArray.length : 0,\n },\n ];\n\n const fetchExpandedActivityLogs = (workflowLogId: string) => {\n setExpandedDetails([]);\n api\n .get({\n url: `/workflow/workflow-activity-logs/${workflowLogId}`,\n serviceURL: \"api\",\n })\n .then((res) => setExpandedDetails(res?.data));\n };\n\n const fetchPendingActivities = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false&type=pending`,\n serviceURL: \"api\",\n })\n .then((res) => setPendingRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchAllActivites = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false`,\n serviceURL: \"api\",\n })\n .then((res) => setAllRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchSelectedActivites = () => {\n setIsLoading(true);\n api\n .post({\n url: `/workflow/bulk-details`,\n serviceURL: \"api\",\n data: { workflowIds: selectedWorkflowsList },\n })\n .then((res) => setSelectedRequestArray(res?.data))\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n if (!sendDialog && !approveTarget && !onHoldTarget && !rejectTarget) {\n fetchAllActivites();\n fetchPendingActivities();\n setExpandedDetails([]);\n setExpandedId(null);\n }\n }, [sendDialog, approveTarget, onHoldTarget, rejectTarget, userInfo]);\n\n useEffect(() => {\n api.get({ url: `/workflow/url-config`, serviceURL: \"api\" }).then((res) => {\n const data = res?.data || [];\n const map = data.reduce((acc: any, { module_name, ...details }: any) => {\n acc[module_name] = details;\n return acc;\n }, {});\n setUrlConfig(map);\n });\n }, []);\n\n useEffect(() => {\n if (selectedWorkflowsList.length && !selectedRequestArray.length) {\n fetchSelectedActivites();\n }\n }, [selectedWorkflowsList]);\n\n useEffect(() => {\n if (Object.keys(urlConfig).length > 0 && userInfo) {\n fetchPendingActivities();\n }\n }, [urlConfig, userInfo]);\n\n const buildRedirectionUrl = (info: any) => {\n const { module_name, module_id, reference_id, redirection_link } = info;\n\n // Direct URL override\n if (redirection_link) return redirection_link;\n\n // Handle known module types\n if (module_name === \"route_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}route-listing/view/${reference_id}`;\n } else if (module_name === \"update_bus_details_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}bus-listing/view/${reference_id}`;\n } else if (module_name === \"kit_handover_approve\") {\n return `${ENV_VARIABLES?.FINANCE_URL}fee-collection/?reference_id=${reference_id}&module_name=${module_name}&module_id=${module_id}`;\n }\n\n // Generic fallback โ€” uses urlConfig and optional urlBuilder\n if (urlBuilder) {\n return urlBuilder(module_name, module_id, urlConfig, reference_id);\n }\n\n const ref = urlConfig?.[module_name];\n if (ref?.base_variable && ref?.sub_url) {\n const BASE_ENV_VARIABLE =\n ENV_VARIABLES[\n ref?.base_variable.split(\"_\")[3] +\n \"_\" +\n ref?.base_variable.split(\"_\")[4]\n ];\n const qs = new URLSearchParams();\n if (reference_id) qs.set(\"reference_id\", String(reference_id));\n if (module_name) qs.set(\"module_name\", String(module_name));\n if (module_id) qs.set(\"module_id\", String(module_id));\n return `${BASE_ENV_VARIABLE}${ref.sub_url}?${qs.toString()}`;\n }\n\n return \"#\";\n };\n\n const StatusObj = {\n approved: {\n title: \"Approved\",\n color: \"#e6f7e9\",\n labelColor: \"#389e49\",\n },\n rejected: {\n title: \"Rejected\",\n color: \"#fff1f0\",\n labelColor: \"#f5222d\",\n },\n onhold: {\n title: \"On Hold\",\n color: \"#fff7e6\",\n labelColor: \"#faad14\",\n },\n sendback: {\n title: \"Send Back\",\n color: \"#e6f7ff\",\n labelColor: \"#1890ff\",\n },\n pending: {\n title: \"Pending\",\n color: \"#f0f0f0\",\n labelColor: \"#595959\",\n },\n draft: {\n title: \"Draft\",\n color: \"#f9f0ff\",\n labelColor: \"#722ed1\",\n },\n };\n if (isLoading && loadingComponent) return <>{loadingComponent}</>;\n console.info(\"LIBRARY RUNNING...\");\n return (\n <>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n flexWrap: \"nowrap\",\n overflow: \"hidden !important\",\n }}\n >\n <Box\n sx={{ width: \"100%\", height: \"100%\", overflow: \"hidden !important\" }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <Box sx={{ mt: 2, mb: 2 }}>\n {selectedWorkflowsList?.length ? (\n <Tooltip title=\"Selected Workflows\">\n <StyledChipProps\n label={\"Selected\"}\n icon={<span className=\"icon-eye\"></span>}\n color={\n selectedApprovalOtions?.includes(\"selected\")\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(\"selected\")}\n />\n </Tooltip>\n ) : (\n \"\"\n )}\n\n {approvalChipLabel.map(({ label, icon, count }, index) => (\n <Tooltip key={index} title={`${count} ${label}`}>\n <StyledChipProps\n label={`${count} ${label}`}\n icon={icon}\n color={\n selectedApprovalOtions?.includes(label)\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(label)}\n />\n </Tooltip>\n ))}\n </Box>\n <Box sx={{ flexGrow: 1, maxWidth: 250, ml: \"auto\" }}>\n <SearchBox\n placeHolderTitle=\"Search\"\n searchText={searchText}\n handleClearSearch={handleClearSearch}\n handleInputChange={(e) => handleSearchChange(e.target.value)}\n />\n </Box>\n </Box>\n\n {/* Selected */}\n {selectedApprovalOtions === \"selected\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleSelectedRequests.length > 0 ? (\n visibleSelectedRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleSelectedRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"22%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${\n getStatus(currentStatus).color\n } !important`,\n color: `${\n getStatus(currentStatus).labelColor\n } !important`,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n\n {/* All Requests */}\n {selectedApprovalOtions === \"All Requests\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleAllRequests.length > 0 ? (\n visibleAllRequests?.map((info: any, index: number) => {\n if (!info?.isLevelZero) {\n console.log(\"๐Ÿš€ ~ ApprovalWorkflow ~ Zero:\", info);\n }\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleAllRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{ mt: 0.5, color: \"text.secondary\" }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"18%\", minWidth: 180 }}>\n <Typography\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: \"block\" }}\n >\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${\n getStatus(currentStatus).color\n } !important`,\n color: `${\n getStatus(currentStatus).labelColor\n } !important`,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n {/* Divider & Expand */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n\n {/* Action Required */}\n {selectedApprovalOtions === \"Action Required\" && (\n <Box\n className=\"fixedModal hide-scrollbar\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visiblePendingRequests.length > 0 ? (\n visiblePendingRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels?.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel\n ? currentLevel.status_list\n : [];\n const filterRejectForLevelZero = (\n statusList: any[],\n info: any\n ) => {\n if (!info?.isLevelZero) return statusList;\n return statusList.filter((item) => item.status !== 3);\n };\n const redir = buildRedirectionUrl(info);\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visiblePendingRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n background: \"white !important\",\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography variant=\"h6\" fontWeight={600} noWrap>\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"18%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu / Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)\n ?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)\n ?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)\n ?.id\n }`\n )\n }\n level={info?.isLevelZero}\n statusList={filterRejectForLevelZero(\n statusList,\n info\n )}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: statusData.color,\n color: statusData.labelColor,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <div>\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\n \"HH:mm\"\n ),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name ||\n \"N/A\",\n subTitle:\n item?.comment_reasons?.comment ||\n \"No Comments\",\n attachment:\n item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n status:\n item?.type === \"approve\"\n ? StatusObj.approved\n : item?.type === \"reject\"\n ? StatusObj.rejected\n : item?.type === \"send_back\"\n ? StatusObj.sendback\n : item?.type === \"onhold\"\n ? StatusObj.onhold\n : null,\n }))}\n />\n\n <div>\n <Typography variant=\"caption\">\n <span style={{ fontWeight: \"bold\" }}>\n Currently Assigned to:{\" \"}\n </span>\n </Typography>\n <Tooltip\n title={\n info?.isLevelZero\n ? expandedDetails?.[0]?.created_by_user\n ?.official_email_id\n : expandedDetails?.[0]?.assigned_user\n ?.official_email_id\n }\n >\n <Typography variant=\"caption\">\n {info?.isLevelZero\n ? `${\n expandedDetails?.[0].created_by_user\n .full_name\n } (${\n expandedDetails?.[0]?.created_by_user\n ?.group_employee_code || \"N/A\"\n })`\n : `${\n expandedDetails?.[0]?.assigned_user\n ?.full_name\n } (${\n expandedDetails?.[0]?.assigned_user\n ?.group_employee_code || \"N/A\"\n })`}\n </Typography>\n </Tooltip>\n </div>\n </div>\n )}\n </Box>\n )}\n </Card>\n );\n })\n ) : (\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n color: \"gray\",\n fontSize: \"20px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n NO RECORD FOUND\n </div>\n )}\n </Box>\n )}\n </Box>\n </Box>\n {/* Dialogs */}\n <SendBackDialog\n openModal={!!sendDialog}\n closeModal={() => setSendDialog(null)}\n header=\"Send Back\"\n workflowLogId={sendDialog || \"\"}\n />\n <ApproveDialog\n openModal={!!approveTarget}\n closeModal={() => setApproveTarget(null)}\n header=\"Approve\"\n workflowLogId={approveTarget?.split(\"|\")?.[0]}\n statusId={approveTarget?.split(\"|\")?.[1]}\n />\n <RejectDialog\n openModal={!!rejectTarget}\n closeModal={() => setRejectTarget(null)}\n header=\"Reject\"\n workflowLogId={rejectTarget?.split(\"|\")?.[0]}\n statusId={rejectTarget?.split(\"|\")?.[1]}\n rejection_reason_master={rejectTarget?.split(\"|\")?.[2]}\n />\n <OnHoldDialog\n openModal={!!onHoldTarget}\n closeModal={() => setOnHoldTarget(null)}\n header=\"On Hold\"\n workflowLogId={onHoldTarget?.split(\"|\")?.[0]}\n statusId={onHoldTarget?.split(\"|\")?.[1]}\n />\n </>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { IconButton } from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport { ApprovalWorkflow } from \"./ApprovalWorkflow\";\nimport type { DialogOpenerProps } from \"../types\";\n\nexport function DialogOpener({\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList = [],\n}: DialogOpenerProps) {\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"lg\"));\n const [screenWidth, setScreenWidth] = useState<number>(\n typeof window !== \"undefined\" ? window.innerWidth : 0\n );\n console.log(\"Dialog opener props\", {\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList,\n });\n useEffect(() => {\n const updateScreenWidth = () => setScreenWidth(window.innerWidth);\n window.addEventListener(\"resize\", updateScreenWidth);\n return () => window.removeEventListener(\"resize\", updateScreenWidth);\n }, []);\n\n return (\n <>\n <Dialog\n fullScreen={true}\n open={openDialog}\n onClose={() => handleClose && handleClose()}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ zIndex: 1234 }}\n >\n <DialogContent>\n <IconButton\n onClick={handleClose}\n disableFocusRipple\n disableRipple\n sx={{ float: \"right\" }}\n >\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n <ApprovalWorkflow\n userInfo={userInfoData}\n selectedWorkflowsList={selectedWorkflowsList}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n onClick={handleClose}\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n","import React from \"react\";\nimport { WorkflowProvider } from \"./context\";\nimport type {\n ApiClient,\n UrlBuilder,\n DialogOpenerProps,\n ApprovalWorkflowProps,\n} from \"./types\";\nimport { DialogOpener as InternalDialogOpener } from \"./ui/DialogOpener\";\nimport { ApprovalWorkflow as InternalApprovalWorkflow } from \"./ui/ApprovalWorkflow\";\n\nexport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps };\n\nexport function DialogOpener(\n props: DialogOpenerProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfoData,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{\n api,\n urlBuilder,\n userInfo: userInfoData,\n loadingComponent,\n ENV_VARIABLES,\n }}\n >\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n );\n}\n\nexport function ApprovalWorkflow(\n props: ApprovalWorkflowProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfo,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{ api, urlBuilder, userInfo, loadingComponent, ENV_VARIABLES }}\n >\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\n );\n}\n"]}