{"version":3,"sources":["TaskFormFieldTypes.jsx"],"names":[],"mappings":"2zCAAA;AACA;AACA,G,CAEA;AACA,GAAM,CAAA,eAAe,CAAG,QAAlB,CAAA,eAAkB,EAAM,CAC1B,GAAI,CAAA,KAAK,CAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAZ,CACA,GAAI,CAAA,KAAK,CAAG,GAAZ,CACA,KAAK,CAAC,YAAN,CAAmB,MAAnB,CAA2B,MAA3B,EACA,KAAK,CAAC,YAAN,CAAmB,OAAnB,CAA4B,KAA5B,EACA,MAAQ,CAAA,KAAK,CAAC,KAAN,GAAgB,KAC3B,CAND,CAQA;AACA,GAAM,CAAA,iBAAiB,CAAG,QAApB,CAAA,iBAAoB,CAAC,GAAD,CAAM,OAAN,CAAkB,CACxC,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAM,CAAA,QAAQ,CAAG,QAAX,CAAA,QAAW,CAAA,KAAK,CAAI,CACtB;AACA,GAAI,CAAC,GAAG,CAAC,OAAL,EAAgB,GAAG,CAAC,OAAJ,CAAY,QAAZ,CAAqB,KAAK,CAAC,MAA3B,CAApB,CAAwD,CACpD,MACH,CACD,OAAO,CAAC,KAAD,CACV,CAND,CAQA,QAAQ,CAAC,gBAAT,CAA0B,WAA1B,CAAuC,QAAvC,EACA,QAAQ,CAAC,gBAAT,CAA0B,YAA1B,CAAwC,QAAxC,EAEA,MAAO,WAAM,CACT,QAAQ,CAAC,mBAAT,CAA6B,WAA7B,CAA0C,QAA1C,EACA,QAAQ,CAAC,mBAAT,CAA6B,YAA7B,CAA2C,QAA3C,CACH,CACJ,CAhBD,CAgBE,CAAC,GAAD,CAAM,OAAN,CAhBF,CAiBH,CAlBD,CAoBA;AACA,GAAM,CAAA,UAAU,CAAG,QAAb,CAAA,UAAa,EAAM,CACrB,GAAI,CAAA,SAAS,CAAG,SAAS,CAAC,SAAV,EAAuB,SAAS,CAAC,MAAjC,EAA2C,MAAM,CAAC,KAAlE,CACA,GAAI,iBAAiB,IAAjB,CAAsB,SAAtB,CAAJ,CAAsC,CAClC,MAAO,eACV,CACD,GAAI,WAAW,IAAX,CAAgB,SAAhB,CAAJ,CAAgC,CAC5B,MAAO,SACV,CACD,GAAI,cAAc,IAAd,CAAmB,SAAnB,CAAJ,CAAmC,CAC/B,MAAO,YACV,CACD,GAAI,cAAc,IAAd,CAAmB,SAAnB,CAAJ,CAAmC,CAC/B,MAAO,YACV,CACD;AACA,GAAI,mBAAmB,IAAnB,CAAwB,SAAxB,GAAsC,CAAC,MAAM,CAAC,QAAlD,CAA4D,CACxD,MAAO,KACV,CACD,MAAO,SACV,CAnBD,CAqBA;AACA,GAAM,CAAA,QAAQ,CAAG,QAAX,CAAA,QAAW,EAAM,CACnB,MAAO,CAAA,UAAU,KAAO,SAC3B,CAFD,CAIA;AACA,GAAM,CAAA,YAAY,CAAG,QAAf,CAAA,YAAe,CAAC,OAAD,CAAU,MAAV,CAAkB,WAAlB,CAA+B,SAA/B,CAA6E,IAAnC,CAAA,oBAAmC,2DAAZ,OAAY,CAC9F,GAAI,CAAA,UAAU,CAAG,EAAjB,CACA,GAAI,CAAA,gBAAgB,CAAG,EAAvB,CACA,GAAI,CAAA,cAAc,CAAG,EAArB,CACA,GAAM,CAAA,kBAAkB,CAAG,OAAO,CAAC,CAAC,CAAC,IAAF,CAAO,SAAP,CAAD,CAAlC,CAEA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAA,MAAM,CAAI,CACtB,GAAG,kBAAH,CAAsB,CAClB,GAAI,CAAA,SAAS,CAAG,OAAO,CAAC,CAAC,CAAC,IAAF,CAAO,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,SAAd,CAAP,CAAD,CAAP,CAA4C,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,SAAd,CAA5C,CAAuE,oBAAvF,CACA,GAAG,CAAC,CAAC,WAAF,CAAc,cAAc,CAAC,SAAD,CAA5B,CAAH,CAA6C,cAAc,CAAC,SAAD,CAAd,CAA4B,EAA5B,CAC7C,cAAc,CAAC,SAAD,CAAd,CAA0B,IAA1B,CAA+B,CAC3B,KAAK,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,MAAd,CADoB,CAE3B,YAAY,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,WAAd,CAFa,CAG3B,KAAK,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,WAAd,CAHoB,CAA/B,CAKH,CARD,IAQK,CACD,gBAAgB,CAAC,IAAjB,CAAsB,CAClB,KAAK,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,MAAd,CADW,CAElB,YAAY,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,WAAd,CAFI,CAGlB,KAAK,CAAE,CAAC,CAAC,GAAF,CAAM,MAAN,CAAc,WAAd,CAHW,CAAtB,CAKH,CACJ,CAhBD,EAkBA,GAAG,kBAAH,CAAsB,CAClB,GAAM,CAAA,2BAA2B,CAAG,cAAc,CAAC,oBAAD,CAAlD,CACA,MAAO,CAAA,cAAc,CAAC,oBAAD,CAArB,CACA,CAAC,CAAC,IAAF,CAAO,cAAP,CAAuB,SAAC,OAAD,CAAU,SAAV,CAAwB,CAC3C,UAAU,CAAC,IAAX,CAAgB,CACZ,KAAK,CAAE,SADK,CAEZ,OAAO,CAAE,OAFG,CAAhB,CAIH,CALD,EAMA,GAAG,CAAC,CAAC,IAAF,CAAO,2BAAP,CAAH,CAAuC,CACnC,UAAU,CAAC,IAAX,CAAgB,CACZ,KAAK,CAAE,oBADK,CAEZ,OAAO,CAAE,2BAFG,CAAhB,CAIH,CACJ,CAfD,IAeK,CACD,UAAU,CAAC,IAAX,CAAgB,CACZ,KAAK,CAAE,aADK,CAEZ,OAAO,CAAE,gBAFG,CAAhB,CAIH,CAED,MAAO,CAAA,UACV,CA/CD,CAiDA,GAAM,CAAA,aAAa,CAAG,QAAhB,CAAA,aAAgB,CAAC,GAAD,CAAM,MAAN,CAAc,WAAd,CAA2B,SAA3B,CAAyE,IAAnC,CAAA,oBAAmC,2DAAZ,OAAY,qBACzD,KAAK,CAAC,QAAN,CAAe,KAAf,CADyD,oDACpF,SADoF,qBACzE,YADyE,0CAE7D,KAAK,CAAC,QAAN,CAAe,EAAf,CAF6D,qDAEpF,OAFoF,qBAE3E,UAF2E,qBAG3F,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB,CAEA,GAAM,CAAA,YAAY,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,GAAD,CAAS,CAC5C,YAAY,CAAC,IAAD,CAAZ,CACA,KAAK,CAAC,GAAD,CAAL,CACK,IADL,CACU,SAAA,GAAG,QAAI,CAAA,GAAG,CAAC,IAAJ,EAAJ,CADb,EAEK,IAFL,CAEU,SAAC,MAAD,CAAY,CACd,GAAI,CAAA,aAAa,CAAG,YAAY,CAC5B,MAAM,CAAC,OADqB,WAEzB,MAAM,CAAC,QAAP,CAAgB,MAFS,aAEC,MAFD,YAGzB,MAAM,CAAC,QAAP,CAAgB,MAHS,aAGC,WAHD,EAI5B,SAAS,WAAM,MAAM,CAAC,QAAP,CAAgB,MAAtB,aAAgC,SAAhC,EAA8C,IAJ3B,CAK5B,oBAL4B,CAAhC,CAOA,UAAU,CAAC,aAAD,CAAV,CACA,YAAY,CAAC,KAAD,CACf,CAZL,CAaH,CAfoB,CAelB,EAfkB,CAArB,CAiBA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,GAAG,GAAK,OAAO,CAAC,OAAnB,CAA2B,CACvB,GAAG,GAAH,CAAQ,YAAY,CAAC,GAAD,CAAZ,CACR,GAAG,CAAC,GAAJ,CAAS,UAAU,CAAC,EAAD,CACtB,CACD,OAAO,CAAC,OAAR,CAAkB,GACrB,CAND,CAMG,CAAC,GAAD,CANH,EAQA,MAAO,CAAC,SAAD,CAAY,OAAZ,CACV,CA/BD,CAiCA;AACA,GAAM,CAAA,SAAS,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,SAAT,CAAmB,KAAnB,CAAyB,IAE9C,CAAA,IAF8C,CAa9C,KAb8C,CAE9C,IAF8C,CAG9C,QAH8C,CAa9C,KAb8C,CAG9C,QAH8C,CAI9C,IAJ8C,CAa9C,KAb8C,CAI9C,IAJ8C,CAK9C,KAL8C,CAa9C,KAb8C,CAK9C,KAL8C,CAM9C,WAN8C,CAa9C,KAb8C,CAM9C,WAN8C,CAO9C,QAP8C,CAa9C,KAb8C,CAO9C,QAP8C,CAQ9C,QAR8C,CAa9C,KAb8C,CAQ9C,QAR8C,CAS9C,SAT8C,CAa9C,KAb8C,CAS9C,SAT8C,CAU9C,SAV8C,CAa9C,KAb8C,CAU9C,SAV8C,CAW9C,IAX8C,CAa9C,KAb8C,CAW9C,IAX8C,CAY9C,QAZ8C,CAa9C,KAb8C,CAY9C,QAZ8C,CAelD,GAAI,CAAA,YAAY,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAnB,CAEA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CACtC,QAAQ,CAAC,IAAD,CAAO,KAAK,CAAC,MAAN,CAAa,KAApB,CACX,CAFc,CAEZ,CAAC,IAAD,CAAO,QAAP,CAFY,CAAf,CAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,YAAY,CAAC,OAAb,CAAqB,iBAArB,CAAuC,EAAvC,EACA,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,YAAY,CAAC,OAAb,CAAqB,iBAArB,wCAAuE,SAAvE,gBACH,CACD,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,YAAY,CAAC,OAAb,CAAqB,iBAArB,wCAAuE,SAAvE,gBACH,CACJ,CARD,CAQG,CAAC,KAAD,CARH,EAUA;AAEA,mBACI,6BACI,GAAG,CAAE,YADT,CAEI,IAAI,CAAE,IAFV,CAGI,QAAQ,CAAE,QAHd,CAII,KAAK,CAAE,KAAK,EAAI,EAJpB,CAKI,WAAW,CAAE,WAAW,EAAI,EALhC,CAMI,GAAG,CAAE,QANT,CAOI,GAAG,CAAE,QAPT,CAQI,IAAI,CAAE,IARV,CASI,QAAQ,CAAE,MATd,EAYP,CA9CiB,CAAlB,CA+CA,SAAS,CAAC,SAAV,CAAsB,CAClB,IAAI,CAAE,SAAS,CAAC,KAAV,CAAgB,CAAC,MAAD,CAAS,MAAT,CAAiB,MAAjB,CAAyB,QAAzB,CAAmC,OAAnC,CAAhB,EAA6D,UADjD,CAElB,QAAQ,CAAE,SAAS,CAAC,IAFF,CAGlB,IAAI,CAAE,SAAS,CAAC,MAHE,CAIlB,KAAK,CAAE,SAAS,CAAC,MAJC,CAKlB,WAAW,CAAE,SAAS,CAAC,MALL,CAMlB,GAAG,CAAE,SAAS,CAAC,MANG,CAOlB,GAAG,CAAE,SAAS,CAAC,MAPG,CAQlB,IAAI,CAAE,SAAS,CAAC,MARE,CASlB,SAAS,CAAE,SAAS,CAAC,MATH,CAUlB,SAAS,CAAE,SAAS,CAAC,MAVH,CAWlB,QAAQ,CAAE,SAAS,CAAC,IAAV,CAAe,UAXP,CAAtB,CAaA,SAAS,CAAC,YAAV,CAAyB,CACrB,IAAI,CAAE,MADe,CAErB,QAAQ,CAAE,KAFW,CAGrB,IAAI,CAAE,IAHe,CAIrB,KAAK,CAAE,IAJc,CAKrB,WAAW,CAAE,IALQ,CAMrB,GAAG,CAAE,IANgB,CAOrB,GAAG,CAAE,IAPgB,CAQrB,IAAI,CAAE,IARe,CASrB,SAAS,CAAE,IATU,CAUrB,SAAS,CAAE,IAVU,CAWrB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAXR,CAAzB,CAcA;AACA,GAAM,CAAA,aAAa,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,aAAT,CAAuB,KAAvB,CAA6B,IAEtD,CAAA,QAFsD,CAUtD,KAVsD,CAEtD,QAFsD,CAGtD,IAHsD,CAUtD,KAVsD,CAGtD,IAHsD,CAItD,KAJsD,CAUtD,KAVsD,CAItD,KAJsD,CAKtD,WALsD,CAUtD,KAVsD,CAKtD,WALsD,CAMtD,IANsD,CAUtD,KAVsD,CAMtD,IANsD,CAOtD,SAPsD,CAUtD,KAVsD,CAOtD,SAPsD,CAQtD,SARsD,CAUtD,KAVsD,CAQtD,SARsD,CAStD,QATsD,CAUtD,KAVsD,CAStD,QATsD,CAY1D,GAAI,CAAA,WAAW,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAlB,CAEA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CACtC,QAAQ,CAAC,IAAD,CAAO,KAAK,CAAC,MAAN,CAAa,KAApB,CACX,CAFc,CAEZ,CAAC,IAAD,CAAO,QAAP,CAFY,CAAf,CAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,WAAW,CAAC,OAAZ,CAAoB,iBAApB,CAAsC,EAAtC,EACA,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,WAAW,CAAC,OAAZ,CAAoB,iBAApB,wCAAsE,SAAtE,gBACH,CACD,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,WAAW,CAAC,OAAZ,CAAoB,iBAApB,wCAAsE,SAAtE,gBACH,CACJ,CARD,CAQG,CAAC,KAAD,CARH,EAUA;AAEA,mBACI,gCACI,GAAG,CAAE,WADT,CAEI,QAAQ,CAAE,QAFd,CAGI,KAAK,CAAE,KAAK,EAAI,EAHpB,CAII,WAAW,CAAE,WAAW,EAAI,EAJhC,CAKI,IAAI,CAAE,IALV,CAMI,QAAQ,CAAE,MANd,EASP,CAxCqB,CAAtB,CAyCA,aAAa,CAAC,SAAd,CAA0B,CACtB,QAAQ,CAAE,SAAS,CAAC,IADE,CAEtB,IAAI,CAAE,SAAS,CAAC,MAFM,CAGtB,KAAK,CAAE,SAAS,CAAC,MAHK,CAItB,WAAW,CAAE,SAAS,CAAC,MAJD,CAKtB,IAAI,CAAE,SAAS,CAAC,MALM,CAMtB,SAAS,CAAE,SAAS,CAAC,MANC,CAOtB,SAAS,CAAE,SAAS,CAAC,MAPC,CAQtB,QAAQ,CAAE,SAAS,CAAC,IARE,CAA1B,CAUA,aAAa,CAAC,YAAd,CAA6B,CACzB,QAAQ,CAAE,KADe,CAEzB,IAAI,CAAE,IAFmB,CAGzB,KAAK,CAAE,IAHkB,CAIzB,WAAW,CAAE,IAJY,CAKzB,IAAI,CAAE,IALmB,CAMzB,SAAS,CAAE,IANc,CAOzB,SAAS,CAAE,IAPc,CAQzB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CARJ,CAA7B,CAWA;AACA,GAAM,CAAA,eAAe,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,eAAT,CAAyB,KAAzB,CAA+B,IAE1D,CAAA,QAF0D,CAU1D,KAV0D,CAE1D,QAF0D,CAG1D,IAH0D,CAU1D,KAV0D,CAG1D,IAH0D,CAI1D,KAJ0D,CAU1D,KAV0D,CAI1D,KAJ0D,CAK1D,WAL0D,CAU1D,KAV0D,CAK1D,WAL0D,CAM1D,IAN0D,CAU1D,KAV0D,CAM1D,IAN0D,CAO1D,SAP0D,CAU1D,KAV0D,CAO1D,SAP0D,CAQ1D,SAR0D,CAU1D,KAV0D,CAQ1D,SAR0D,CAS1D,QAT0D,CAU1D,KAV0D,CAS1D,QAT0D,CAW9D,GAAM,CAAA,WAAW,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAApB,CAX8D,qBAYlB,KAAK,CAAC,QAAN,CAAe,IAAf,CAZkB,qDAYvD,cAZuD,qBAYvC,iBAZuC,qBAc9D,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,cAAH,CAAkB,CACd,cAAc,CAAC,GAAf,CAAmB,OAAnB,EAA4B,EAA5B,CAA+B,OAA/B,CAAwC,UAAM,CAC1C,QAAQ,CAAC,IAAD,CAAO,cAAc,CAAC,UAAf,EAAP,CACX,CAFD,CAGH,CACJ,CAND,CAMG,CAAC,cAAD,CAAiB,QAAjB,CANH,EAQA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,cAAH,CAAkB,CACd,cAAc,CAAC,EAAf,CAAkB,OAAlB,CAA2B,UAAM,CAC7B,cAAc,CAAC,SAAf,CAAyB,SAAzB,CAAmC,GAAnC,CAAuC,SAAvC,CACH,CAFD,EAGA,cAAc,CAAC,EAAf,CAAkB,MAAlB,CAA0B,UAAM,CAC5B,cAAc,CAAC,SAAf,CAAyB,SAAzB,CAAmC,MAAnC,CAA0C,SAA1C,CACH,CAFD,CAGH,CACJ,CATD,CASG,CAAC,cAAD,CATH,EAWA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,WAAW,CAAC,OAAZ,CAAoB,iBAApB,CAAsC,EAAtC,EACA,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,WAAW,CAAC,OAAZ,CAAoB,iBAApB,wCAAsE,SAAtE,gBACH,CACD,GAAG,SAAS,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,SAAhC,CAA0C,CACtC,WAAW,CAAC,OAAZ,CAAoB,iBAApB,wCAAsE,SAAtE,gBACH,CACD,GAAG,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAF,CAAO,KAAP,CAAhB,CAA+B,CAC3B,WAAW,CAAC,OAAZ,CAAoB,iBAApB,0BACH,CACJ,CAXD,CAWG,CAAC,KAAD,CAAQ,SAAR,CAAmB,SAAnB,CAA8B,QAA9B,CAXH,EAaA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,OAAO,CAAC,IAAR,CAAa,CACT,QAAQ,gCAA0B,CAAC,CAAC,SAAF,CAAY,IAAZ,CAA1B,CADC,CAET,KAAK,CAAE,MAFE,CAGT,UAAU,CAAE,IAHH,CAIT,UAAU,CAAE,GAJH,CAKT,OAAO,CAAE,KALA,CAMT,SAAS,CAAE,KANF,CAOT,cAAc,CAAE,0HACZ,gCADY,CAEZ,8DATK,CAUT,aAAa,CAAE,KAVN,CAWT,mBAAmB,CAAE,IAXZ,CAYT;AACA,OAAO,CAAE,0FAbA,CAcT,OAAO,CAAE,uJAdA,CAeT,cAAc,CAAE,UAfP,CAgBT,wBAAwB,CAAE,EAhBjB,CAiBT,KAAK,CAAE,eAAA,MAAM,CAAI,CACb,iBAAiB,CAAC,MAAD,CACpB,CAnBQ,CAAb,CAqBH,CAtBD,CAsBE,EAtBF,EAwBA;AAEA,mBACI,gCACI,GAAG,CAAE,WADT,CAEI,SAAS,uBAAiB,CAAC,CAAC,SAAF,CAAY,IAAZ,CAAjB,CAFb,CAGI,QAAQ,CAAE,QAHd,CAII,KAAK,CAAE,KAAK,EAAI,EAJpB,CAKI,WAAW,CAAE,WAAW,EAAI,EALhC,CAMI,IAAI,CAAE,IANV,CAOI,KAAK,CAAE,CAAC,SAAS,CAAE,GAAZ,CAPX,EAUP,CAnFuB,CAAxB,CAoFA,eAAe,CAAC,SAAhB,CAA4B,CACxB,QAAQ,CAAE,SAAS,CAAC,IADI,CAExB,IAAI,CAAE,SAAS,CAAC,MAFQ,CAGxB,KAAK,CAAE,SAAS,CAAC,MAHO,CAIxB,WAAW,CAAE,SAAS,CAAC,MAJC,CAKxB,IAAI,CAAE,SAAS,CAAC,MALQ,CAMxB,SAAS,CAAE,SAAS,CAAC,MANG,CAOxB,SAAS,CAAE,SAAS,CAAC,MAPG,CAQxB,QAAQ,CAAE,SAAS,CAAC,IARI,CAA5B,CAUA,eAAe,CAAC,YAAhB,CAA+B,CAC3B,QAAQ,CAAE,KADiB,CAE3B,IAAI,CAAE,IAFqB,CAG3B,KAAK,CAAE,IAHoB,CAI3B,WAAW,CAAE,IAJc,CAK3B,IAAI,CAAE,IALqB,CAM3B,SAAS,CAAE,IANgB,CAO3B,SAAS,CAAE,IAPgB,CAQ3B,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CARF,CAA/B,CAWA;AACA,GAAM,CAAA,SAAS,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,SAAT,CAAmB,KAAnB,CAAyB,IAE9C,CAAA,QAF8C,CAQ9C,KAR8C,CAE9C,QAF8C,CAG9C,IAH8C,CAQ9C,KAR8C,CAG9C,IAH8C,CAI9C,KAJ8C,CAQ9C,KAR8C,CAI9C,KAJ8C,CAK9C,QAL8C,CAQ9C,KAR8C,CAK9C,QAL8C,CAM9C,QAN8C,CAQ9C,KAR8C,CAM9C,QAN8C,CAO9C,QAP8C,CAQ9C,KAR8C,CAO9C,QAP8C,CASlD,GAAM,CAAA,QAAQ,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAjB,CAEA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,KAAD,CAAW,CACxC,GAAG,eAAe,EAAlB,CAAqB,CACjB,QAAQ,CAAC,IAAD,CAAO,KAAK,CAAC,MAAN,CAAa,KAApB,CACX,CACJ,CAJc,CAIZ,CAAC,IAAD,CAAO,QAAP,CAJY,CAAf,CAMA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,CAAC,eAAe,EAAnB,CAAsB,CAClB,GAAI,CAAA,MAAM,CAAG,GAAI,CAAA,OAAJ,CAAY,CACrB,KAAK,CAAE,QAAQ,CAAC,OADK,CAErB,MAAM,CAAE,YAFa,CAGrB,KAAK,CAAE,YAHc,CAIrB,OAAO,CAAE,QAAQ,CAAG,MAAM,CAAC,QAAD,CAAN,CAAiB,MAAjB,EAAH,CAA+B,IAJ3B,CAKrB,OAAO,CAAE,QAAQ,CAAG,MAAM,CAAC,QAAD,CAAN,CAAiB,MAAjB,EAAH,CAA+B,IAL3B,CAMrB,QAAQ,CAAE,mBAAM,CACZ,QAAQ,CAAC,IAAD,CAAO,MAAM,CAAC,SAAP,GAAmB,MAAnB,CAA0B,YAA1B,CAAP,CACX,CARoB,CAAZ,CAUhB,CACJ,CAbD,CAaG,CAAC,IAAD,CAAO,QAAP,CAAiB,QAAjB,CAbH,EAeA;AAEA,mBACI,6BACI,GAAG,CAAE,QADT,CAEI,IAAI,CAAC,MAFT,CAGI,QAAQ,CAAE,QAHd,CAII,KAAK,CAAE,eAAe,GAAK,KAAK,EAAI,EAAd,CAAmB,KAAK,CAAG,MAAM,CAAC,KAAD,CAAN,CAAc,MAAd,CAAqB,YAArB,CAAH,CAAwC,EAJ1F,CAKI,WAAW,CAAE,eAAe,GAAK,IAAL,CAAY,YAL5C,CAMI,GAAG,CAAE,eAAe,GAAK,QAAL,CAAgB,IANxC,CAOI,GAAG,CAAE,eAAe,GAAK,QAAL,CAAgB,IAPxC,CAQI,QAAQ,CAAE,MARd,EAWP,CA9CiB,CAAlB,CA+CA,SAAS,CAAC,SAAV,CAAsB,CAClB,QAAQ,CAAE,SAAS,CAAC,IADF,CAElB,IAAI,CAAE,SAAS,CAAC,MAFE,CAGlB,KAAK,CAAE,SAAS,CAAC,MAHC,CAIlB,QAAQ,CAAE,SAAS,CAAC,MAJF,CAKlB,QAAQ,CAAE,SAAS,CAAC,MALF,CAMlB,QAAQ,CAAE,SAAS,CAAC,IANF,CAAtB,CAQA,SAAS,CAAC,YAAV,CAAyB,CACrB,QAAQ,CAAE,KADW,CAErB,IAAI,CAAE,IAFe,CAGrB,KAAK,CAAE,IAHc,CAIrB,QAAQ,CAAE,IAJW,CAKrB,QAAQ,CAAE,IALW,CAMrB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CANR,CAAzB,CASA;AACA,GAAM,CAAA,aAAa,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,aAAT,CAAuB,KAAvB,CAA6B,IAEtD,CAAA,QAFsD,CAUtD,KAVsD,CAEtD,QAFsD,CAGtD,IAHsD,CAUtD,KAVsD,CAGtD,IAHsD,CAItD,QAJsD,CAUtD,KAVsD,CAItD,QAJsD,CAKtD,OALsD,CAUtD,KAVsD,CAKtD,OALsD,CAMtD,qBANsD,CAUtD,KAVsD,CAMtD,qBANsD,CAOtD,qBAPsD,CAUtD,KAVsD,CAOtD,qBAPsD,CAQtD,KARsD,CAUtD,KAVsD,CAQtD,KARsD,CAStD,QATsD,CAUtD,KAVsD,CAStD,QATsD,CAW1D,GAAM,CAAA,QAAQ,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAjB,CAEA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,KAAD,CAAW,CACxC,QAAQ,CAAC,IAAD,CAAO,CAAC,CAAC,KAAK,CAAC,MAAN,CAAa,OAAtB,CACX,CAFc,CAEZ,CAAC,IAAD,CAAO,QAAP,CAFY,CAAf,CAIA,GAAI,CAAA,OAAO,CAAG,KAAd,CACA,GAAG,QAAH,CAAa,OAAO,CAAG,OAAV,CAEb,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,QAAQ,CAAC,OAAT,CAAiB,iBAAjB,CAAmC,qBAAnC,CACH,CAFD,CAEG,CAAC,qBAAD,CAFH,EAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,OAAO,EAAI,CAAC,qBAAf,CAAqC,CACjC,QAAQ,CAAC,IAAD,CAAO,IAAP,CACX,CACJ,CAJD,CAIG,EAJH,EAMA;AAEA,mBACI,oBAAC,OAAD,EAAS,SAAS,CAAC,OAAnB,CAA2B,KAAK,CAAE,KAAK,EAAI,EAA3C,eACI,6BACI,GAAG,CAAE,QADT,CAEI,IAAI,CAAE,IAFV,CAGI,IAAI,CAAC,UAHT,CAII,QAAQ,CAAE,QAJd,CAKI,OAAO,CAAE,OALb,CAMI,KAAK,CAAE,qBAAqB,CAAG,qBAAH,CAA2B,IAN3D,CAOI,QAAQ,CAAE,MAPd,EADJ,CAUK,QAAQ,eAAI,4BAAM,uBAAuB,CAAE,CAAC,MAAM,CAAE,QAAT,CAA/B,EAVjB,CAaP,CA9CqB,CAAtB,CA+CA,aAAa,CAAC,SAAd,CAA0B,CACtB,QAAQ,CAAE,SAAS,CAAC,IADE,CAEtB,IAAI,CAAE,SAAS,CAAC,MAFM,CAGtB,QAAQ,CAAE,SAAS,CAAC,MAHE,CAItB,OAAO,CAAE,SAAS,CAAC,IAJG,CAKtB,qBAAqB,CAAE,SAAS,CAAC,MALX,CAMtB,KAAK,CAAE,SAAS,CAAC,MANK,CAOtB,qBAAqB,CAAE,SAAS,CAAC,IAPX,CAQtB,QAAQ,CAAE,SAAS,CAAC,IARE,CAA1B,CAUA,aAAa,CAAC,YAAd,CAA6B,CACzB,QAAQ,CAAE,KADe,CAEzB,IAAI,CAAE,IAFmB,CAGzB,QAAQ,CAAE,IAHe,CAIzB,OAAO,CAAE,KAJgB,CAKzB,qBAAqB,CAAE,KALE,CAMzB,qBAAqB,CAAE,EANE,CAOzB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPJ,CAA7B,CAUA;AACA,GAAM,CAAA,kBAAkB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,kBAAT,CAA4B,KAA5B,CAAkC,IAEhE,CAAA,QAFgE,CAahE,KAbgE,CAEhE,QAFgE,CAGhE,QAHgE,CAahE,KAbgE,CAGhE,QAHgE,CAIhE,QAJgE,CAahE,KAbgE,CAIhE,QAJgE,CAKhE,IALgE,CAahE,KAbgE,CAKhE,IALgE,CAMhE,KANgE,CAahE,KAbgE,CAMhE,KANgE,CAOhE,OAPgE,CAahE,KAbgE,CAOhE,OAPgE,CAQhE,QARgE,CAahE,KAbgE,CAQhE,QARgE,CAShE,OATgE,CAahE,KAbgE,CAShE,OATgE,CAUhE,cAVgE,CAahE,KAbgE,CAUhE,cAVgE,CAWhE,uBAXgE,CAahE,KAbgE,CAWhE,uBAXgE,CAYhE,QAZgE,CAahE,KAbgE,CAYhE,QAZgE,CAcpE,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB,CAdoE,qBAehC,KAAK,CAAC,QAAN,CAAe,QAAf,CAfgC,qDAe7D,UAf6D,qBAejD,aAfiD,0CAgB9B,KAAK,CAAC,QAAN,CAAe,IAAf,CAhB8B,sDAgB7D,WAhB6D,sBAgBhD,cAhBgD,4CAiBpC,KAAK,CAAC,QAAN,CAAe,EAAf,CAjBoC,uDAiB7D,QAjB6D,sBAiBnD,WAjBmD,sBAmBpE,GAAM,CAAA,WAAW,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,SAAS,QAAI,UAAA,KAAK,CAAI,CACxD,WAAW,CAAC,SAAA,OAAO,CAAI,CACnB,GAAI,CAAA,QAAQ,CAAG,CAAC,CAAC,KAAF,CAAQ,OAAR,CAAf,CACA,GAAG,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAAH,CAAmC,CAC/B,CAAC,CAAC,MAAF,CAAS,QAAT,CAAmB,SAAA,GAAG,QAAI,CAAA,GAAG,GAAK,SAAZ,CAAtB,CACH,CAFD,IAEK,CACD,QAAQ,CAAC,IAAT,CAAc,SAAd,CACH,CACD,MAAO,CAAA,QACV,CARU,CASd,CAV8C,CAA3B,CAUjB,EAViB,CAApB,CAYA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,OAAO,QAAI,UAAC,MAAD,CAAS,OAAT,CAAqB,CAC7D,GAAI,CAAA,MAAM,CAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAb,CACA,GAAG,OAAO,EAAI,CAAC,CAAC,CAAC,QAAF,CAAW,MAAX,CAAmB,OAAnB,CAAf,CAA4C,CACxC,MAAM,CAAC,IAAP,CAAY,OAAZ,CACH,CAFD,IAEK,CACD,CAAC,CAAC,MAAF,CAAS,MAAT,CAAiB,SAAC,KAAD,CAAW,CACxB,MAAO,CAAA,KAAK,GAAK,OACpB,CAFD,CAGH,CACD,QAAQ,CAAC,IAAD,CAAO,MAAP,CACX,CAVuC,CAAzB,CAUZ,CAAC,IAAD,CAAO,KAAP,CAVY,CAAf,CAYA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,OAAO,CAAC,OAAR,CAAgB,aAAhB,CAA8B,GAAI,CAAA,KAAJ,CAAU,cAAV,CAA9B,CACH,CAFD,CAEG,CAAC,KAAD,CAFH,EAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAF,CAAO,KAAP,CAAjB,CAAgC,CAC5B,aAAa,CAAC,IAAD,CAChB,CAFD,IAEO,IAAI,QAAQ,CAAC,QAAD,CAAR,EAAsB,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,CAAtC,EAA2C,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,QAAQ,CAAC,QAAD,CAAvE,CAAmF,CACtF,cAAc,uCAAgC,QAAhC,aACjB,CAFM,IAEA,IAAI,QAAQ,CAAC,QAAD,CAAR,EAAsB,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,CAAtC,EAA2C,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,QAAQ,CAAC,QAAD,CAAvE,CAAmF,CACtF,cAAc,sCAA+B,QAA/B,aACjB,CAFM,IAEA,CACH,aAAa,CAAC,KAAD,CAAb,CACA,cAAc,CAAC,EAAD,CACjB,CACJ,CAXD,CAWG,CAAC,QAAD,CAAW,KAAX,CAAkB,QAAlB,CAA4B,QAA5B,CAXH,EAaA,GAAI,CAAA,UAAU,CAAG,EAAjB,CACA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAC,KAAD,CAAQ,KAAR,CAAkB,CAC9B,GAAI,CAAA,SAAS,CAAG,KAAK,CAAC,KAAtB,CAEA,GAAI,CAAA,iBAAiB,CAAG,IAAxB,CACA,GAAG,uBAAuB,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA9B,CAA8D,CAC1D,iBAAiB,cAAG,yBAAG,SAAS,CAAE,gCAAd,CAAgD,cAAa,MAA7D,EACvB,CACD,GAAG,uBAAuB,EAAI,CAAC,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA/B,CAA+D,CAC3D,iBAAiB,cAAG,yBAAG,SAAS,CAAE,kCAAd,CAAkD,cAAa,MAA/D,EACvB,CAED,GAAI,CAAA,YAAY,CAAG,EAAnB,CACA,GAAI,CAAA,cAAc,CAAG,CAArB,CACA,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,YAAY,CAAC,IAAb,cACI,oBAAC,aAAD,EACI,GAAG,iBAAW,KAAX,CADP,CAEI,IAAI,WAAK,IAAL,aAAa,KAAb,CAFR,CAGI,QAAQ,CAAE,UAHd,CAII,qBAAqB,CAAE,WAJ3B,CAKI,OAAO,CAAE,CAAC,CAAC,OAAF,CAAU,KAAV,CAAiB,MAAM,CAAC,KAAxB,EAAiC,CAAC,CAL/C,CAMI,qBAAqB,CAAE,IAN3B,CAOI,QAAQ,CAAE,MAAM,CAAC,KAPrB,CAQI,QAAQ,CAAE,MAAM,CAAC,MAAM,CAAC,KAAR,CARpB,EADJ,EAYA,cAAc,GACd,GAAG,CAAC,QAAD,EAAa,cAAc,GAAK,OAAnC,CAA2C,CACvC,cAAc,CAAG,CAAjB,CACA,YAAY,CAAC,IAAb,cACI,2BAAK,GAAG,iBAAW,KAAX,CAAR,CAA4B,SAAS,CAAC,OAAtC,EADJ,CAGH,CACJ,CApBD,EAqBA,UAAU,CAAC,IAAX,cACI,2BAAK,SAAS,CAAE,8BAAhB,CAAgD,GAAG,iBAAW,SAAX,CAAnD,EACK,OAAO,CAAC,SAAS,GAAK,aAAf,CAAP,eACD,2BAAK,SAAS,sCAAgC,uBAAuB,CAAG,WAAH,CAAiB,EAAxE,CAAd,CAA4F,OAAO,CAAE,WAAW,CAAC,SAAD,CAAhH,EACK,iBADL,CAEK,SAFL,CAFJ,cAOI,2BAAK,SAAS,wCAAkC,uBAAuB,EAAI,CAAC,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA5B,CAA8D,WAA9D,CAA4E,EAA9G,CAAd,EACK,YADL,CAPJ,CADJ,CAaH,CA/CD,EAiDA;AAEA,mBACI,2BACI,GAAG,CAAE,OADT,CAEI,SAAS,gCAA0B,QAAQ,CAAG,YAAH,CAAkB,YAApD,qBAA4E,OAA5E,CAFb,CAGI,aAAY,KAHhB,CAII,uBAAsB,cAJ1B,EAMK,UANL,CASP,CA1H0B,CAA3B,CA2HA,kBAAkB,CAAC,SAAnB,CAA+B,CAC3B,QAAQ,CAAE,SAAS,CAAC,IADO,CAE3B,QAAQ,CAAE,SAAS,CAAC,MAFO,CAG3B,QAAQ,CAAE,SAAS,CAAC,MAHO,CAI3B,IAAI,CAAE,SAAS,CAAC,MAAV,CAAiB,UAJI,CAK3B,KAAK,CAAE,SAAS,CAAC,KALU,CAM3B,OAAO,CAAE,SAAS,CAAC,OAAV,CACL,SAAS,CAAC,KAAV,CAAgB,CACZ,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,IAFa,CAApB,CADK,CAKZ,KAAK,CAAE,SAAS,CAAC,MALL,CAAhB,CADK,CANkB,CAe3B,QAAQ,CAAE,SAAS,CAAC,IAfO,CAgB3B,OAAO,CAAE,SAAS,CAAC,MAhBQ,CAiB3B,cAAc,CAAE,SAAS,CAAC,MAjBC,CAkB3B,uBAAuB,CAAE,SAAS,CAAC,IAlBR,CAmB3B,QAAQ,CAAE,SAAS,CAAC,IAnBO,CAA/B,CAqBA,kBAAkB,CAAC,YAAnB,CAAkC,CAC9B,QAAQ,CAAE,KADoB,CAE9B,QAAQ,CAAE,IAFoB,CAG9B,QAAQ,CAAE,IAHoB,CAI9B,IAAI,CAAE,IAJwB,CAK9B,KAAK,CAAE,EALuB,CAM9B,OAAO,CAAE,EANqB,CAO9B,QAAQ,CAAE,KAPoB,CAQ9B,OAAO,CAAE,CARqB,CAS9B,cAAc,CAAE,IATc,CAU9B,uBAAuB,CAAE,KAVK,CAW9B,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAXC,CAAlC,CAcA;AACA,GAAM,CAAA,UAAU,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,UAAT,CAAoB,KAApB,CAA0B,IAEhD,CAAA,QAFgD,CAShD,KATgD,CAEhD,QAFgD,CAGhD,IAHgD,CAShD,KATgD,CAGhD,IAHgD,CAIhD,QAJgD,CAShD,KATgD,CAIhD,QAJgD,CAKhD,OALgD,CAShD,KATgD,CAKhD,OALgD,CAMhD,KANgD,CAShD,KATgD,CAMhD,KANgD,CAOhD,KAPgD,CAShD,KATgD,CAOhD,KAPgD,CAQhD,QARgD,CAShD,KATgD,CAQhD,QARgD,CAWpD,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CACtC,QAAQ,CAAC,IAAD,CAAO,KAAP,CACX,CAFc,CAEZ,CAAC,IAAD,CAAO,KAAP,CAAc,QAAd,CAFY,CAAf,CAIA;AAEA,mBACI,6BAAO,SAAS,CAAE,OAAlB,CAA2B,KAAK,CAAE,KAAK,EAAI,EAA3C,eACI,6BACI,IAAI,CAAE,OADV,CAEI,IAAI,CAAE,IAFV,CAGI,QAAQ,CAAE,QAHd,CAII,OAAO,CAAE,OAJb,CAKI,KAAK,CAAE,KALX,CAMI,QAAQ,CAAE,MANd,EADJ,CASK,QAAQ,eAAI,4BAAM,uBAAuB,CAAE,CAAC,MAAM,CAAE,QAAT,CAA/B,EATjB,CAYP,CA9BkB,CAAnB,CA+BA,UAAU,CAAC,SAAX,CAAuB,CACnB,QAAQ,CAAE,SAAS,CAAC,IADD,CAEnB,IAAI,CAAE,SAAS,CAAC,MAAV,CAAiB,UAFJ,CAGnB,QAAQ,CAAE,SAAS,CAAC,MAHD,CAInB,OAAO,CAAE,SAAS,CAAC,IAJA,CAKnB,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,MAFa,CAGvB,SAAS,CAAC,IAHa,CAApB,CALY,CAUnB,KAAK,CAAE,SAAS,CAAC,MAVE,CAWnB,QAAQ,CAAE,SAAS,CAAC,IAXD,CAAvB,CAaA,UAAU,CAAC,YAAX,CAA0B,CACtB,QAAQ,CAAE,KADY,CAEtB,IAAI,CAAE,IAFgB,CAGtB,QAAQ,CAAE,IAHY,CAItB,OAAO,CAAE,KAJa,CAKtB,KAAK,CAAE,IALe,CAMtB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CANP,CAA1B,CASA;AACA,GAAM,CAAA,eAAe,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,eAAT,CAAyB,KAAzB,CAA+B,IAE1D,CAAA,QAF0D,CAW1D,KAX0D,CAE1D,QAF0D,CAG1D,IAH0D,CAW1D,KAX0D,CAG1D,IAH0D,CAI1D,KAJ0D,CAW1D,KAX0D,CAI1D,KAJ0D,CAK1D,OAL0D,CAW1D,KAX0D,CAK1D,OAL0D,CAM1D,QAN0D,CAW1D,KAX0D,CAM1D,QAN0D,CAO1D,OAP0D,CAW1D,KAX0D,CAO1D,OAP0D,CAQ1D,cAR0D,CAW1D,KAX0D,CAQ1D,cAR0D,CAS1D,uBAT0D,CAW1D,KAX0D,CAS1D,uBAT0D,CAU1D,QAV0D,CAW1D,KAX0D,CAU1D,QAV0D,CAY9D,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB,CAZ8D,sBAa9B,KAAK,CAAC,QAAN,CAAe,EAAf,CAb8B,uDAavD,QAbuD,sBAa7C,WAb6C,sBAe9D,GAAM,CAAA,WAAW,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,SAAS,QAAI,UAAA,KAAK,CAAI,CACxD,WAAW,CAAC,SAAA,OAAO,CAAI,CACnB,GAAI,CAAA,QAAQ,CAAG,CAAC,CAAC,KAAF,CAAQ,OAAR,CAAf,CACA,GAAG,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAAH,CAAmC,CAC/B,CAAC,CAAC,MAAF,CAAS,QAAT,CAAmB,SAAA,GAAG,QAAI,CAAA,GAAG,GAAK,SAAZ,CAAtB,CACH,CAFD,IAEK,CACD,QAAQ,CAAC,IAAT,CAAc,SAAd,CACH,CACD,MAAO,CAAA,QACV,CARU,CASd,CAV8C,CAA3B,CAUjB,EAViB,CAApB,CAYA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,OAAO,CAAC,OAAR,CAAgB,aAAhB,CAA8B,GAAI,CAAA,KAAJ,CAAU,cAAV,CAA9B,CACH,CAFD,CAEG,CAAC,KAAD,CAFH,EAIA,GAAI,CAAA,MAAM,CAAG,EAAb,CACA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAC,KAAD,CAAQ,KAAR,CAAkB,CAC9B,GAAI,CAAA,SAAS,CAAG,KAAK,CAAC,KAAtB,CAEA,GAAI,CAAA,iBAAiB,CAAG,IAAxB,CACA,GAAG,uBAAuB,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA9B,CAA8D,CAC1D,iBAAiB,cAAG,yBAAG,SAAS,CAAE,gCAAd,CAAgD,cAAa,MAA7D,EACvB,CACD,GAAG,uBAAuB,EAAI,CAAC,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA/B,CAA+D,CAC3D,iBAAiB,cAAG,yBAAG,SAAS,CAAE,kCAAd,CAAkD,cAAa,MAA/D,EACvB,CAED,GAAI,CAAA,YAAY,CAAG,EAAnB,CACA,GAAI,CAAA,cAAc,CAAG,CAArB,CACA,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,YAAY,CAAC,IAAb,cACI,oBAAC,UAAD,EACI,GAAG,iBAAW,KAAX,CADP,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,OAAO,CAAE,KAAK,GAAK,MAAM,CAAC,KAJ9B,CAKI,KAAK,CAAE,MAAM,CAAC,KALlB,CAMI,QAAQ,CAAE,MAAM,CAAC,KANrB,CAOI,QAAQ,CAAE,QAPd,EADJ,EAWA,cAAc,GACd,GAAG,CAAC,QAAD,EAAa,cAAc,GAAK,OAAnC,CAA2C,CACvC,cAAc,CAAG,CAAjB,CACA,YAAY,CAAC,IAAb,cACI,2BAAK,GAAG,iBAAW,KAAX,CAAR,CAA4B,SAAS,CAAC,OAAtC,EADJ,CAGH,CACJ,CAnBD,EAoBA,MAAM,CAAC,IAAP,cACI,2BAAK,SAAS,CAAE,8BAAhB,CAAgD,GAAG,iBAAW,SAAX,CAAnD,EACK,OAAO,CAAC,SAAS,GAAK,aAAf,CAAP,eACD,2BAAK,SAAS,sCAAgC,uBAAuB,CAAG,WAAH,CAAiB,EAAxE,CAAd,CAA4F,OAAO,CAAE,WAAW,CAAC,SAAD,CAAhH,EACK,iBADL,CAEK,SAFL,CAFJ,cAOI,2BAAK,SAAS,wCAAkC,uBAAuB,EAAI,CAAC,CAAC,CAAC,QAAF,CAAW,QAAX,CAAqB,SAArB,CAA5B,CAA8D,WAA9D,CAA4E,EAA9G,CAAd,EACK,YADL,CAPJ,CADJ,CAaH,CA9CD,EAgDA;AAEA,mBACI,2BACI,GAAG,CAAE,OADT,CAEI,SAAS,gCAA0B,QAAQ,CAAG,YAAH,CAAkB,YAApD,qBAA4E,OAA5E,CAFb,CAGI,aAAY,KAHhB,CAII,uBAAsB,cAJ1B,EAMK,MANL,CASP,CA5FuB,CAAxB,CA6FA,eAAe,CAAC,SAAhB,CAA4B,CACxB,QAAQ,CAAE,SAAS,CAAC,IADI,CAExB,IAAI,CAAE,SAAS,CAAC,MAAV,CAAiB,UAFC,CAGxB,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,MAFa,CAGvB,SAAS,CAAC,IAHa,CAApB,CAHiB,CAQxB,OAAO,CAAE,SAAS,CAAC,OAAV,CACL,SAAS,CAAC,KAAV,CAAgB,CACZ,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,MAFa,CAGvB,SAAS,CAAC,IAHa,CAApB,CADK,CAMZ,KAAK,CAAE,SAAS,CAAC,MANL,CAAhB,CADK,CARe,CAkBxB,QAAQ,CAAE,SAAS,CAAC,IAlBI,CAmBxB,OAAO,CAAE,SAAS,CAAC,MAnBK,CAoBxB,cAAc,CAAE,SAAS,CAAC,MApBF,CAqBxB,uBAAuB,CAAE,SAAS,CAAC,IArBX,CAsBxB,QAAQ,CAAE,SAAS,CAAC,IAtBI,CAA5B,CAwBA,eAAe,CAAC,YAAhB,CAA+B,CAC3B,QAAQ,CAAE,KADiB,CAE3B,IAAI,CAAE,IAFqB,CAG3B,KAAK,CAAE,IAHoB,CAI3B,OAAO,CAAE,EAJkB,CAK3B,QAAQ,CAAE,KALiB,CAM3B,OAAO,CAAE,CANkB,CAO3B,cAAc,CAAE,IAPW,CAQ3B,uBAAuB,CAAE,KARE,CAS3B,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CATF,CAA/B,CAYA;AACA,GAAM,CAAA,WAAW,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,WAAT,CAAqB,KAArB,CAA2B,IAElD,CAAA,SAFkD,CAYlD,KAZkD,CAElD,SAFkD,CAGlD,QAHkD,CAYlD,KAZkD,CAGlD,QAHkD,CAIlD,IAJkD,CAYlD,KAZkD,CAIlD,IAJkD,CAKlD,KALkD,CAYlD,KAZkD,CAKlD,KALkD,CAMlD,WANkD,CAYlD,KAZkD,CAMlD,WANkD,CAOlD,aAPkD,CAYlD,KAZkD,CAOlD,aAPkD,CAQlD,eARkD,CAYlD,KAZkD,CAQlD,eARkD,CASlD,OATkD,CAYlD,KAZkD,CASlD,OATkD,CAUlD,cAVkD,CAYlD,KAZkD,CAUlD,cAVkD,CAWlD,QAXkD,CAYlD,KAZkD,CAWlD,QAXkD,CAatD,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB,CAEA,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CACtC,QAAQ,CAAC,IAAD,CAAO,KAAK,CAAC,MAAN,CAAa,KAApB,CACX,CAFc,CAEZ,CAAC,IAAD,CAAO,QAAP,CAFY,CAAf,CAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,UAAU,CAAC,UAAM,CACb,GAAG,OAAO,CAAC,OAAX,CAAoB,OAAO,CAAC,OAAR,CAAgB,aAAhB,CAA8B,GAAI,CAAA,KAAJ,CAAU,cAAV,CAA9B,CACvB,CAFS,CAEP,GAFO,CAGb,CAJD,CAIG,CAAC,KAAD,CAJH,EAMA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAA,UAAU,CAAG,EAAjB,CACA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAC,OAAD,CAAa,CACzB,UAAU,CAAG,CAAC,CAAC,MAAF,CAAS,UAAT,CAAqB,OAAO,CAAC,OAA7B,CAChB,CAFD,EAGA,GAAG,CAAC,CAAC,IAAF,CAAO,UAAP,GAAsB,CAAC,CAAC,CAAC,QAAF,CAAW,CAAC,CAAC,GAAF,CAAM,UAAN,CAAkB,OAAlB,CAAX,CAAuC,KAAvC,CAA1B,CAAwE,CACpE,QAAQ,CAAC,IAAD,CAAO,EAAP,CACX,CACJ,CARD,CAQG,CAAC,KAAD,CAAQ,OAAR,CARH,EAUA,GAAI,CAAA,aAAa,CAAG,EAApB,CACA,GAAG,SAAH,CAAa,CACT,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,CAAC,SAAZ,CAAsB,QAAQ,KAA9B,CAA+B,KAAK,CAAC,EAArC,CAAwC,KAAK,CAAE,CAAC,OAAO,CAAE,MAAV,CAA/C,eADJ,CAGH,CACD,GAAG,WAAH,CAAgB,CACZ,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,CAAC,aAAZ,CAA0B,QAAQ,KAAlC,CAAmC,KAAK,CAAC,EAAzC,CAA4C,KAAK,CAAE,CAAC,OAAO,CAAE,MAAV,CAAnD,EAAuE,WAAvE,CADJ,CAGH,CAED,GAAG,eAAe,EAAI,CAAC,CAAC,IAAF,CAAO,OAAP,CAAtB,CAAsC,CAClC,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,CAAC,OAAZ,CAAoB,KAAK,CAAC,EAA1B,EADJ,CAGH,CAED,GAAG,aAAa,EAAI,CAAC,CAAC,CAAC,IAAF,CAAO,OAAP,CAArB,CAAqC,CACjC,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,CAAC,YAAZ,CAAyB,QAAQ,KAAjC,CAAkC,KAAK,CAAC,EAAxC,EAA4C,aAA5C,CADJ,CAGH,CAED,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAC,KAAD,CAAQ,KAAR,CAAkB,CAC9B,GAAI,CAAA,SAAS,CAAG,KAAK,CAAC,KAAtB,CACA,GAAG,SAAS,GAAK,aAAjB,CAA+B,CAC3B,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,kBAAY,KAAZ,CAAX,CAAgC,QAAQ,CAAE,MAAM,CAAC,QAAP,EAAmB,KAA7D,CAAoE,KAAK,CAAE,MAAM,CAAC,KAAlF,EAA0F,MAAM,CAAC,YAAjG,CADJ,CAGH,CAJD,CAKH,CAND,IAMK,CACD,GAAI,CAAA,aAAY,CAAG,EAAnB,CACA,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,aAAY,CAAC,IAAb,cACI,8BAAQ,GAAG,kBAAY,SAAZ,aAAyB,KAAzB,CAAX,CAA6C,QAAQ,CAAE,MAAM,CAAC,QAAP,EAAmB,KAA1E,CAAiF,KAAK,CAAE,MAAM,CAAC,KAA/F,EAAuG,MAAM,CAAC,YAA9G,CADJ,CAGH,CAJD,EAKA,aAAa,CAAC,IAAd,cACI,gCAAU,GAAG,iBAAW,SAAX,CAAb,CAAqC,KAAK,CAAE,SAA5C,CAAuD,KAAK,CAAE,CAAC,UAAU,CAAE,MAAb,CAA9D,EACK,aADL,CADJ,CAKH,CACJ,CArBD,EAuBA;AAEA,mBACI,8BACI,GAAG,CAAE,OADT,CAEI,QAAQ,CAAE,SAFd,CAGI,QAAQ,CAAE,QAHd,CAII,KAAK,CAAE,KAAK,EAAI,EAJpB,CAKI,WAAW,CAAE,WAAW,EAAI,EALhC,CAMI,QAAQ,CAAE,MANd,CAOI,aAAY,KAPhB,CAQI,uBAAsB,cAR1B,EAUK,aAVL,CAaP,CAlGmB,CAApB,CAmGA,WAAW,CAAC,SAAZ,CAAwB,CACpB,SAAS,CAAE,SAAS,CAAC,IADD,CAEpB,QAAQ,CAAE,SAAS,CAAC,IAFA,CAGpB,IAAI,CAAE,SAAS,CAAC,MAHI,CAIpB,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,MAFa,CAGvB,SAAS,CAAC,IAHa,CAIvB,SAAS,CAAC,KAJa,CAApB,CAJa,CAUpB,WAAW,CAAE,SAAS,CAAC,MAVH,CAWpB,aAAa,CAAE,SAAS,CAAC,MAXL,CAYpB,cAAc,CAAE,SAAS,CAAC,MAZN,CAapB,eAAe,CAAE,SAAS,CAAC,IAbP,CAcpB,OAAO,CAAE,SAAS,CAAC,OAAV,CACL,SAAS,CAAC,KAAV,CAAgB,CACZ,KAAK,CAAE,SAAS,CAAC,SAAV,CAAoB,CACvB,SAAS,CAAC,MADa,CAEvB,SAAS,CAAC,MAFa,CAGvB,SAAS,CAAC,IAHa,CAApB,CADK,CAMZ,YAAY,CAAE,SAAS,CAAC,MANZ,CAOZ,QAAQ,CAAE,SAAS,CAAC,IAPR,CAQZ,KAAK,CAAE,SAAS,CAAC,MARL,CAAhB,CADK,CAdW,CA0BpB,QAAQ,CAAE,SAAS,CAAC,IAAV,CAAe,UA1BL,CAAxB,CA4BA,WAAW,CAAC,YAAZ,CAA2B,CACvB,SAAS,CAAE,KADY,CAEvB,QAAQ,CAAE,KAFa,CAGvB,IAAI,CAAE,IAHiB,CAIvB,KAAK,CAAE,IAJgB,CAKvB,WAAW,CAAE,IALU,CAMvB,aAAa,CAAE,sBANQ,CAOvB,eAAe,CAAE,IAPM,CAQvB,OAAO,CAAE,EARc,CASvB,cAAc,CAAE,IATO,CAUvB,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAVN,CAA3B,CAaA;AACA,GAAM,CAAA,gBAAgB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,gBAAT,CAA0B,KAA1B,CAAgC,IAE5D,CAAA,SAF4D,CAa5D,KAb4D,CAE5D,SAF4D,CAG5D,QAH4D,CAa5D,KAb4D,CAG5D,QAH4D,CAI5D,IAJ4D,CAa5D,KAb4D,CAI5D,IAJ4D,CAK5D,QAL4D,CAa5D,KAb4D,CAK5D,QAL4D,CAM5D,QAN4D,CAa5D,KAb4D,CAM5D,QAN4D,CAO5D,KAP4D,CAa5D,KAb4D,CAO5D,KAP4D,CAQ5D,WAR4D,CAa5D,KAb4D,CAQ5D,WAR4D,CAS5D,aAT4D,CAa5D,KAb4D,CAS5D,aAT4D,CAUnD,gBAVmD,CAa5D,KAb4D,CAU5D,OAV4D,CAW5D,cAX4D,CAa5D,KAb4D,CAW5D,cAX4D,CAY5D,QAZ4D,CAa5D,KAb4D,CAY5D,QAZ4D,CAehE,GAAI,CAAA,cAAc,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAArB,CACA,GAAI,CAAA,SAAS,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB,CACA,GAAI,CAAA,QAAQ,CAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAf,CAjBgE,sBAmBlC,KAAK,CAAC,QAAN,CAAe,gBAAf,CAnBkC,uDAmBzD,OAnByD,sBAmBhD,UAnBgD,4CAoBpB,KAAK,CAAC,QAAN,CAAe,gBAAf,CApBoB,uDAoBzD,cApByD,sBAoBzC,iBApByC,4CAqBhB,KAAK,CAAC,QAAN,CAAe,KAAf,CArBgB,uDAqBzD,gBArByD,sBAqBvC,mBArBuC,4CAsBZ,KAAK,CAAC,QAAN,CAAe,IAAf,CAtBY,uDAsBzD,kBAtByD,sBAsBrC,qBAtBqC,4CAuBlB,KAAK,CAAC,QAAN,CAAe,EAAf,CAvBkB,uDAuBzD,eAvByD,sBAuBxC,kBAvBwC,4CAwB5B,KAAK,CAAC,QAAN,CAAe,EAAf,CAxB4B,uDAwBzD,UAxByD,sBAwB7C,aAxB6C,4CAyBd,KAAK,CAAC,QAAN,CAAe,EAAf,CAzBc,uDAyBzD,iBAzByD,sBAyBtC,oBAzBsC,sBA2BhE,GAAM,CAAA,YAAY,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,KAAD,CAAW,CAC9C,GAAI,CAAA,MAAM,CAAG,EAAb,CACA,GAAI,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,OAA3B,CACA,IAAK,GAAI,CAAA,CAAC,CAAG,CAAR,CAAW,MAAM,CAAG,OAAO,CAAC,MAAjC,CAAyC,CAAC,CAAG,MAA7C,CAAqD,CAAC,EAAtD,CAA0D,CACtD,GAAI,OAAO,CAAC,CAAD,CAAP,CAAW,QAAf,CAAyB,CACrB,MAAM,CAAC,IAAP,CAAY,OAAO,CAAC,CAAD,CAAP,CAAW,KAAvB,CACH,CACJ,CACD,QAAQ,CAAC,IAAD,CAAO,MAAP,CACX,CAToB,CASlB,CAAC,QAAD,CAAW,IAAX,CATkB,CAArB,CAWA,GAAM,CAAA,kBAAkB,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,aAAa,QAAI,UAAA,KAAK,CAAI,CACnE,GAAI,CAAA,MAAM,CAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAb,CACA,GAAG,CAAC,CAAC,OAAF,CAAU,MAAV,CAAkB,aAAlB,EAAmC,CAAtC,CAAwC,CACpC,MAAM,CAAC,IAAP,CAAY,aAAZ,CACH,CAFD,IAEK,CACD,CAAC,CAAC,MAAF,CAAS,MAAT,CAAiB,SAAC,KAAD,QAAW,CAAA,KAAK,GAAK,aAArB,CAAjB,CACH,CACD,QAAQ,CAAC,IAAD,CAAO,MAAP,CACX,CARyD,CAA/B,CAQxB,CAAC,QAAD,CAAW,KAAX,CAAkB,IAAlB,CARwB,CAA3B,CAUA,GAAM,CAAA,YAAY,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,aAAa,QAAI,UAAA,KAAK,CAAI,CAC7D,GAAI,CAAA,MAAM,CAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAb,CACA,CAAC,CAAC,MAAF,CAAS,MAAT,CAAiB,SAAC,KAAD,QAAW,CAAA,KAAK,GAAK,aAArB,CAAjB,EACA,QAAQ,CAAC,IAAD,CAAO,MAAP,CAAR,CACA,KAAK,CAAC,eAAN,GACA,KAAK,CAAC,cAAN,GACA,MAAO,MACV,CAPmD,CAA/B,CAOlB,CAAC,QAAD,CAAW,KAAX,CAAkB,IAAlB,CAPkB,CAArB,CASA,GAAM,CAAA,WAAW,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,SAAD,CAAe,CACjD,qBAAqB,CAAC,SAAA,aAAa,CAAI,CACnC,GAAI,CAAA,SAAS,CAAG,IAAhB,CACA,GAAG,CAAC,aAAJ,CAAkB,CACd,GAAG,SAAS,GAAK,MAAjB,CAAyB,SAAS,CAAG,CAAZ,CACzB,GAAG,SAAS,GAAK,MAAjB,CAAyB,SAAS,CAAG,CAAC,CAAC,IAAF,CAAO,iBAAP,EAA4B,CACpE,CAHD,IAGK,CACD,GAAG,SAAS,GAAK,MAAjB,CAAwB,CACpB,SAAS,CAAG,CAAC,CAAC,SAAF,CAAY,iBAAZ,CAA+B,CAAC,KAAK,CAAE,aAAR,CAA/B,EAAyD,CAArE,CACA,GAAG,SAAS,GAAK,CAAC,CAAC,IAAF,CAAO,iBAAP,CAAjB,CAA4C,SAAS,CAAG,CAC3D,CACD,GAAG,SAAS,GAAK,MAAjB,CAAwB,CACpB,SAAS,CAAG,CAAC,CAAC,SAAF,CAAY,iBAAZ,CAA+B,CAAC,KAAK,CAAE,aAAR,CAA/B,EAAyD,CAArE,CACA,GAAG,SAAS,CAAG,CAAf,CAAkB,SAAS,CAAG,CAAC,CAAC,IAAF,CAAO,iBAAP,EAA4B,CAC7D,CACJ,CACD,MAAO,CAAA,iBAAiB,CAAC,SAAD,CAAjB,CAA6B,KACvC,CAhBoB,CAiBxB,CAlBmB,CAkBjB,CAAC,iBAAD,CAlBiB,CAApB,CAoBA,GAAM,CAAA,YAAY,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,KAAD,CAAW,CAC9C,mBAAmB,CAAC,SAAA,gBAAgB,QAAI,CAAC,gBAAL,CAAjB,CACtB,CAFoB,CAElB,EAFkB,CAArB,CAIA,GAAM,CAAA,cAAc,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,KAAD,CAAW,CAChD,OAAO,KAAK,CAAC,KAAb,EACI,IAAK,GAAL,CAAS;AACL,GAAG,gBAAH,CAAqB,mBAAmB,CAAC,KAAD,CAAnB,CACrB,OACJ,IAAK,EAAL,CAAQ;AACJ,GAAG,gBAAH,CAAqB,mBAAmB,CAAC,KAAD,CAAnB,CACrB,OACJ,IAAK,GAAL,CAAS;AACL,GAAG,CAAC,gBAAJ,CAAsB,mBAAmB,CAAC,IAAD,CAAnB,CACtB,GAAG,gBAAH,CAAqB,WAAW,CAAC,MAAD,CAAX,CACrB,KAAK,CAAC,cAAN,GACA,OACJ,IAAK,GAAL,CAAS;AACL,GAAG,CAAC,gBAAJ,CAAsB,mBAAmB,CAAC,IAAD,CAAnB,CACtB,GAAG,gBAAH,CAAqB,WAAW,CAAC,MAAD,CAAX,CACrB,KAAK,CAAC,cAAN,GACA,OACJ,IAAK,GAAL,CAAS;AACL,GAAG,gBAAgB,EAAI,kBAAvB,CAA2C,CACvC,kBAAkB,CAAC,kBAAD,CAAlB,GACA,KAAK,CAAC,cAAN,EACH,CACD,OACJ,IAAK,GAAL,CAAS;AACL,GAAG,gBAAgB,EAAI,kBAAvB,CAA2C,CACvC,kBAAkB,CAAC,kBAAD,CAAlB,GACA,KAAK,CAAC,cAAN,EACH,CACD,OACJ,QACI,OA9BR,CAgCH,CAjCsB,CAiCpB,CAAC,gBAAD,CAAmB,kBAAnB,CAAuC,WAAvC,CAjCoB,CAAvB,CAmCA,GAAM,CAAA,oBAAoB,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CACpD,OAAO,KAAK,CAAC,KAAb,EACI,IAAK,GAAL,CAAS;AACL,GAAG,gBAAH,CAAqB,mBAAmB,CAAC,KAAD,CAAnB,CACrB,OACJ,IAAK,EAAL,CAAQ;AACJ,GAAG,gBAAH,CAAqB,CACjB,QAAQ,CAAC,OAAT,CAAiB,KAAjB,GACA,WAAW,CAAC,MAAD,CACd,CACD,KAAK,CAAC,cAAN,GACA,OACJ,QACI,OAZR,CAcH,CAf4B,CAe1B,CAAC,gBAAD,CAf0B,CAA7B,CAiBA,GAAM,CAAA,kBAAkB,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CAClD,GAAI,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAAmB,WAAnB,EAAd,CACA,GAAG,OAAO,CAAC,OAAO,CAAC,MAAT,CAAV,CAA2B,CACvB,GAAI,CAAA,qBAAqB,CAAG,EAA5B,CACA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,cAA+C,IAAtC,CAAA,SAAsC,MAA7C,KAA6C,CAAlB,YAAkB,MAA3B,OAA2B,CAC3D,CAAC,CAAC,IAAF,CAAO,YAAP,CAAqB,SAAA,MAAM,CAAI,CAC3B,GAAG,CAAC,CAAC,QAAF,CAAW,SAAS,CAAC,WAAV,EAAX,CAAoC,OAApC,GAAgD,CAAC,CAAC,QAAF,CAAW,MAAM,CAAC,YAAP,CAAoB,WAApB,EAAX,CAA8C,OAA9C,CAAnD,CAA0G,CACtG,GAAG,CAAC,qBAAqB,CAAC,SAAD,CAAzB,CAAqC,CACjC,qBAAqB,CAAC,SAAD,CAArB,CAAmC,EACtC,CACD,qBAAqB,CAAC,SAAD,CAArB,CAAiC,IAAjC,CAAsC,MAAtC,CACH,CACJ,CAPD,CAQH,CATD,EAWA,GAAI,CAAA,eAAe,CAAG,EAAtB,CACA,CAAC,CAAC,IAAF,CAAO,qBAAP,CAA8B,SAAC,YAAD,CAAe,SAAf,CAA6B,CACvD,eAAe,CAAC,IAAhB,CAAqB,CACjB,KAAK,CAAE,SADU,CAEjB,OAAO,CAAE,YAFQ,CAArB,CAIH,CALD,EAOA,iBAAiB,CAAC,eAAD,CACpB,CAtBD,IAsBK,CACD,iBAAiB,CAAC,OAAD,CACpB,CACJ,CA3B0B,CA2BxB,CAAC,gBAAD,CAAmB,OAAnB,CA3BwB,CAA3B,CA6BA,GAAM,CAAA,aAAa,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,WAAW,QAAI,UAAA,KAAK,CAAI,CAC5D,qBAAqB,CAAC,WAAD,CACxB,CAFkD,CAA7B,CAEnB,EAFmB,CAAtB,CAIA,iBAAiB,CAAC,cAAD,CAAiB,iBAAM,CAAA,mBAAmB,CAAC,KAAD,CAAzB,CAAjB,CAAjB,CAEA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,UAAU,CAAC,gBAAD,CAAV,CACA,iBAAiB,CAAC,gBAAD,CACpB,CAHD,CAGG,CAAC,gBAAD,CAHH,EAKA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,SAAS,CAAC,OAAV,CAAkB,aAAlB,CAAgC,GAAI,CAAA,KAAJ,CAAU,cAAV,CAAhC,CACH,CAFD,CAEG,CAAC,KAAD,CAFH,EAIA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAA,eAAe,CAAG,EAAtB,CACA,GAAI,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAF,CAAO,KAAP,CAAjB,CAAgC,CAC5B,eAAe,oCAClB,CAFD,IAEO,IAAI,QAAQ,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,CAAZ,EAA6B,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,QAAjD,CAA2D,CAC9D,eAAe,uCAAkC,QAAlC,YAClB,CAFM,IAEA,IAAI,QAAQ,EAAI,CAAC,CAAC,IAAF,CAAO,KAAP,CAAZ,EAA6B,CAAC,CAAC,IAAF,CAAO,KAAP,EAAgB,QAAjD,CAA2D,CAC9D,eAAe,sCAAiC,QAAjC,YAClB,CAED,kBAAkB,CAAC,eAAD,CAAlB,CACA,SAAS,CAAC,OAAV,CAAkB,iBAAlB,CAAoC,eAApC,CACH,CAZD,CAYG,CAAC,QAAD,CAAW,KAAX,CAAkB,QAAlB,CAA4B,QAA5B,CAZH,EAcA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAA,GAAG,CAAG,EAAV,CACA,CAAC,CAAC,IAAF,CAAO,OAAP,CAAgB,SAAC,OAAD,CAAa,CACzB,GAAG,CAAG,CAAC,CAAC,MAAF,CAAS,GAAT,CAAc,OAAO,CAAC,OAAtB,CACT,CAFD,EAGA,aAAa,CAAC,GAAD,CAChB,CAND,CAMG,CAAC,OAAD,CANH,EAQA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAA,GAAG,CAAG,EAAV,CACA,CAAC,CAAC,IAAF,CAAO,cAAP,CAAuB,SAAC,OAAD,CAAa,CAChC,GAAG,CAAG,CAAC,CAAC,MAAF,CAAS,GAAT,CAAc,OAAO,CAAC,OAAtB,CACT,CAFD,EAGA,oBAAoB,CAAC,GAAD,CACvB,CAND,CAMG,CAAC,cAAD,CANH,EAQA,GAAI,CAAA,eAAe,CAAG,IAAtB,CACA,GAAI,CAAA,aAAa,CAAG,EAApB,CACA,GAAI,CAAA,aAAa,CAAG,EAApB,CACA,GAAG,WAAH,CAAgB,CACZ,eAAe,CAAG,WACrB,CACD,GAAG,SAAH,CAAa,CACT,eAAe,CAAG,YACrB,CACD,GAAG,CAAC,CAAC,IAAF,CAAO,KAAP,CAAH,CAAiB,CACb,eAAe,CAAG,IACrB,CAED,GAAG,aAAa,EAAI,CAAC,CAAC,CAAC,IAAF,CAAO,UAAP,CAArB,CAAwC,CACpC,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,CAAC,YAAZ,CAAyB,QAAQ,KAAjC,CAAkC,KAAK,CAAC,EAAxC,EAA4C,aAA5C,CADJ,CAGH,CAED,CAAC,CAAC,IAAF,CAAO,cAAP,CAAuB,SAAC,KAAD,CAAQ,KAAR,CAAkB,CACrC,GAAI,CAAA,SAAS,CAAG,KAAK,CAAC,KAAtB,CACA,GAAG,SAAS,GAAK,aAAjB,CAA+B,CAC3B,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,aAAa,CAAC,IAAd,cACI,8BAAQ,GAAG,kBAAY,KAAZ,CAAX,CAAgC,QAAQ,CAAE,MAAM,CAAC,QAAP,EAAmB,KAA7D,CAAoE,KAAK,CAAE,MAAM,CAAC,KAAlF,EAA0F,MAAM,CAAC,YAAjG,CADJ,EAGA,aAAa,CAAC,IAAd,cACI,2BACI,SAAS,kBAAY,CAAC,CAAC,OAAF,CAAU,KAAV,CAAiB,MAAM,CAAC,KAAxB,EAAiC,CAAC,CAAlC,CAAsC,SAAtC,CAAkD,EAA9D,aAAoE,kBAAkB,GAAK,MAAM,CAAC,KAA9B,CAAsC,SAAtC,CAAkD,EAAtH,CADb,CAEI,GAAG,kBAAY,KAAZ,CAFP,CAGI,OAAO,CAAE,kBAAkB,CAAC,MAAM,CAAC,KAAR,CAH/B,CAII,YAAY,CAAE,aAAa,CAAC,MAAM,CAAC,KAAR,CAJ/B,CAKI,YAAY,CAAE,aAAa,CAAC,IAAD,CAL/B,eAOI,4BAAM,SAAS,CAAC,UAAhB,EAPJ,cAQI,4BAAM,SAAS,CAAC,MAAhB,EAAwB,MAAM,CAAC,YAA/B,CARJ,CADJ,CAYH,CAhBD,CAiBH,CAlBD,IAkBK,CACD,GAAI,CAAA,kBAAkB,CAAG,EAAzB,CACA,GAAI,CAAA,kBAAkB,CAAG,EAAzB,CACA,CAAC,CAAC,IAAF,CAAO,KAAK,CAAC,OAAb,CAAsB,SAAC,MAAD,CAAS,KAAT,CAAmB,CACrC,kBAAkB,CAAC,IAAnB,cACI,8BAAQ,GAAG,kBAAY,SAAZ,aAAyB,KAAzB,CAAX,CAA6C,QAAQ,CAAE,MAAM,CAAC,QAAP,EAAmB,KAA1E,CAAiF,KAAK,CAAE,MAAM,CAAC,KAA/F,EAAuG,MAAM,CAAC,YAA9G,CADJ,EAGA,kBAAkB,CAAC,IAAnB,cACI,2BACI,SAAS,kBAAY,CAAC,CAAC,OAAF,CAAU,KAAV,CAAiB,MAAM,CAAC,KAAxB,EAAiC,CAAC,CAAlC,CAAsC,SAAtC,CAAkD,EAA9D,aAAoE,kBAAkB,GAAK,MAAM,CAAC,KAA9B,CAAsC,SAAtC,CAAkD,EAAtH,CADb,CAEI,GAAG,kBAAY,SAAZ,aAAyB,KAAzB,CAFP,CAGI,OAAO,CAAE,kBAAkB,CAAC,MAAM,CAAC,KAAR,CAH/B,CAII,YAAY,CAAE,aAAa,CAAC,MAAM,CAAC,KAAR,CAJ/B,CAKI,YAAY,CAAE,aAAa,CAAC,IAAD,CAL/B,eAOI,4BAAM,SAAS,CAAC,UAAhB,EAPJ,cAQI,4BAAM,SAAS,CAAC,MAAhB,EAAwB,MAAM,CAAC,YAA/B,CARJ,CADJ,CAYH,CAhBD,EAiBA,aAAa,CAAC,IAAd,cACI,gCAAU,GAAG,iBAAW,SAAX,CAAb,CAAqC,KAAK,CAAE,SAA5C,CAAuD,KAAK,CAAE,CAAC,UAAU,CAAE,MAAb,CAA9D,EACK,kBADL,CADJ,EAKA,aAAa,CAAC,IAAd,cACI,2BAAK,SAAS,CAAC,cAAf,CAA8B,GAAG,iBAAW,SAAX,CAAjC,eACI,2BAAK,SAAS,CAAC,oBAAf,EAAqC,SAArC,CADJ,CAEK,kBAFL,CADJ,CAMH,CACJ,CApDD,EAsDA,GAAI,CAAA,UAAU,CAAG,EAAjB,CACA,CAAC,CAAC,IAAF,CAAO,KAAP,CAAc,SAAC,GAAD,CAAS,CACnB,GAAI,CAAA,WAAW,CAAG,CAAC,CAAC,IAAF,CAAO,UAAP,CAAmB,SAAA,MAAM,CAAI,CAAC,MAAO,CAAA,MAAM,CAAC,KAAP,GAAiB,GAAI,CAA1D,CAAlB,CACA,GAAG,WAAH,CAAgB,CACZ,UAAU,CAAC,IAAX,cACI,2BAAK,GAAG,iCAA2B,GAA3B,CAAR,CAA0C,SAAS,CAAC,QAApD,eACI,4BAAM,SAAS,CAAC,MAAhB,EAAwB,WAAW,CAAC,YAApC,CADJ,cAEI,4BAAM,SAAS,CAAC,QAAhB,CAAyB,OAAO,CAAE,YAAY,CAAC,GAAD,CAA9C,EAFJ,CADJ,CAMH,CACJ,CAVD,EAYA,GAAI,CAAA,eAAe,CAAG,CAAC,CAAC,IAAF,CAAO,UAAP,EAAqB,EAA3C,CAEA;AAEA,mBACI,2BAAK,SAAS,CAAE,CAAC,aAAD,CAAiB,CAAC,CAAC,IAAF,CAAO,eAAP,EAA0B,SAA1B,CAAsC,EAAvD,EAA4D,IAA5D,CAAiE,GAAjE,CAAhB,CAAuF,GAAG,CAAE,cAA5F,eACI,8BACI,GAAG,CAAE,SADT,CAEI,SAAS,CAAE,QAAQ,GAAK,YAAL,CAAoB,EAF3C,CAGI,QAAQ,CAAC,IAHb,CAII,QAAQ,CAAE,IAJd,CAKI,QAAQ,CAAE,SALd,CAMI,QAAQ,CAAE,QANd,CAOI,KAAK,CAAE,KAAK,EAAI,EAPpB,CAQI,aAAY,KARhB,CASI,uBAAsB,cAT1B,CAUI,QAAQ,CAAE,YAVd,EAYK,aAZL,CADJ,cAeI,6BACI,GAAG,CAAE,QADT,CAEI,IAAI,CAAC,MAFT,CAGI,WAAW,CAAE,eAHjB,CAII,QAAQ,CAAE,SAJd,CAKI,QAAQ,CAAE,IALd,CAMI,SAAS,CAAE,cANf,CAOI,OAAO,CAAE,YAPb,CAQI,KAAK,CAAE,eAAe,CAAC,MAAhB,CAAyB,CAAzB,CAA6B,eAA7B,CAA+C,IAR1D,EAfJ,cAyBI,2BAAK,SAAS,CAAC,kBAAf,EAAmC,UAAnC,CAzBJ,CA0BK,CAAC,QAAQ,EAAT,eACG,2BAAK,SAAS,uBAAiB,gBAAgB,CAAG,MAAH,CAAY,EAA7C,CAAd,EACK,eAAe,eACZ,2BAAK,SAAS,CAAE,eAAhB,eACI,6BAAO,IAAI,CAAC,MAAZ,CAAmB,SAAS,CAAE,oBAA9B,CAAoD,OAAO,CAAE,kBAA7D,EADJ,CAFR,CAMK,aANL,CA3BR,CAsCP,CAhVwB,CAAzB,CAiVA,gBAAgB,CAAC,SAAjB,CAA6B,CACzB,SAAS,CAAE,SAAS,CAAC,IADI,CAEzB,QAAQ,CAAE,SAAS,CAAC,IAFK,CAGzB,IAAI,CAAE,SAAS,CAAC,MAHS,CAIzB,QAAQ,CAAE,SAAS,CAAC,MAJK,CAKzB,QAAQ,CAAE,SAAS,CAAC,MALK,CAMzB,KAAK,CAAE,SAAS,CAAC,KANQ,CAOzB,WAAW,CAAE,SAAS,CAAC,MAPE,CAQzB,aAAa,CAAE,SAAS,CAAC,MARA,CASzB,OAAO,CAAE,SAAS,CAAC,OAAV,CACL,SAAS,CAAC,KAAV,CAAgB,CACZ,KAAK,CAAE,SAAS,CAAC,MADL,CAEZ,YAAY,CAAE,SAAS,CAAC,MAFZ,CAGZ,QAAQ,CAAE,SAAS,CAAC,IAHR,CAIZ,KAAK,CAAE,SAAS,CAAC,MAJL,CAAhB,CADK,CATgB,CAiBzB,cAAc,CAAE,SAAS,CAAC,MAjBD,CAkBzB,QAAQ,CAAE,SAAS,CAAC,IAAV,CAAe,UAlBA,CAA7B,CAoBA,gBAAgB,CAAC,YAAjB,CAAgC,CAC5B,SAAS,CAAE,KADiB,CAE5B,QAAQ,CAAE,KAFkB,CAG5B,IAAI,CAAE,IAHsB,CAI5B,QAAQ,CAAE,IAJkB,CAK5B,QAAQ,CAAE,IALkB,CAM5B,KAAK,CAAE,EANqB,CAO5B,WAAW,CAAE,IAPe,CAQ5B,aAAa,CAAE,sBARa,CAS5B,OAAO,CAAE,EATmB,CAU5B,cAAc,CAAE,IAVY,CAW5B,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAXD,CAAhC,CAcA;AACA;AACA;AAEA;AACA,GAAM,CAAA,qBAAqB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,qBAAT,CAA+B,KAA/B,CAAqC,IAEtE,CAAA,QAFsE,CAStE,KATsE,CAEtE,QAFsE,CAGtE,KAHsE,CAStE,KATsE,CAGtE,KAHsE,CAItE,IAJsE,CAStE,KATsE,CAItE,IAJsE,CAKtE,WALsE,CAStE,KATsE,CAKtE,WALsE,CAMtE,SANsE,CAStE,KATsE,CAMtE,SANsE,CAOtE,SAPsE,CAStE,KATsE,CAOtE,SAPsE,CAQtE,QARsE,CAStE,KATsE,CAQtE,QARsE,CAW1E;AAEA,mBACI,oBAAC,SAAD,EACI,IAAI,CAAE,MADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,SAAS,CAAE,SANf,CAOI,SAAS,CAAE,SAPf,CAQI,QAAQ,CAAE,QARd,EAWP,CAzB6B,CAA9B,CA0BA,qBAAqB,CAAC,SAAtB,CAAkC,CAC9B,QAAQ,CAAE,SAAS,CAAC,IADU,CAE9B,IAAI,CAAE,SAAS,CAAC,MAFc,CAG9B,KAAK,CAAE,SAAS,CAAC,MAHa,CAI9B,WAAW,CAAE,SAAS,CAAC,MAJO,CAK9B,SAAS,CAAE,SAAS,CAAC,MALS,CAM9B,SAAS,CAAE,SAAS,CAAC,MANS,CAO9B,QAAQ,CAAE,SAAS,CAAC,IAPU,CAAlC,CASA,qBAAqB,CAAC,YAAtB,CAAqC,CACjC,QAAQ,CAAE,KADuB,CAEjC,IAAI,CAAE,EAF2B,CAGjC,KAAK,CAAE,EAH0B,CAIjC,WAAW,CAAE,IAJoB,CAKjC,SAAS,CAAE,IALsB,CAMjC,SAAS,CAAE,IANsB,CAOjC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPI,CAArC,CASA,qBAAqB,CAAC,WAAtB,CAAoC,iBAApC,CAEA;AACA,GAAM,CAAA,yBAAyB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,yBAAT,CAAmC,KAAnC,CAAyC,IAE9E,CAAA,QAF8E,CAO9E,KAP8E,CAE9E,QAF8E,CAG9E,IAH8E,CAO9E,KAP8E,CAG9E,IAH8E,CAI9E,OAJ8E,CAO9E,KAP8E,CAI9E,OAJ8E,CAK9E,QAL8E,CAO9E,KAP8E,CAK9E,QAL8E,CAM9E,QAN8E,CAO9E,KAP8E,CAM9E,QAN8E,CASlF;AAEA,mBACI,oBAAC,aAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,OAAO,CAAE,OAHb,CAII,QAAQ,CAAE,QAJd,CAKI,QAAQ,CAAE,QALd,EAQP,CApBiC,CAAlC,CAqBA,yBAAyB,CAAC,SAA1B,CAAsC,CAClC,IAAI,CAAE,SAAS,CAAC,MADkB,CAElC,QAAQ,CAAE,SAAS,CAAC,IAFc,CAGlC,OAAO,CAAE,SAAS,CAAC,IAHe,CAIlC,QAAQ,CAAE,SAAS,CAAC,MAJc,CAKlC,QAAQ,CAAE,SAAS,CAAC,IALc,CAAtC,CAOA,yBAAyB,CAAC,YAA1B,CAAyC,CACrC,IAAI,CAAE,EAD+B,CAErC,QAAQ,CAAE,KAF2B,CAGrC,OAAO,CAAE,KAH4B,CAIrC,QAAQ,CAAE,IAJ2B,CAKrC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALQ,CAAzC,CAOA,yBAAyB,CAAC,WAA1B,CAAwC,qBAAxC,CAEA;AACA,GAAM,CAAA,wBAAwB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,wBAAT,CAAkC,KAAlC,CAAwC,IAE5E,CAAA,QAF4E,CAS5E,KAT4E,CAE5E,QAF4E,CAG5E,IAH4E,CAS5E,KAT4E,CAG5E,IAH4E,CAI5E,KAJ4E,CAS5E,KAT4E,CAI5E,KAJ4E,CAK5E,QAL4E,CAS5E,KAT4E,CAK5E,QAL4E,CAM5E,QAN4E,CAS5E,KAT4E,CAM5E,QAN4E,CAO5E,OAP4E,CAS5E,KAT4E,CAO5E,OAP4E,CAQ5E,eAR4E,CAS5E,KAT4E,CAQ5E,eAR4E,CAWhF,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,CAAC,CAC1B,KAAK,CAAE,aADmB,CAE1B,OAAO,CAAE,CAAC,CACN,KAAK,CAAE,IADD,CAEN,KAAK,CAAE,QAFD,CAAD,CAGN,CACC,KAAK,CAAE,KADR,CAEC,KAAK,CAAE,OAFR,CAHM,CAFiB,CAAD,CAAb,CAAhB,CAWA;AAEA,mBACI,oBAAC,eAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,eAAe,WAAM,IAAN,aAAc,eAAd,EAAkC,IAF3D,CAGI,KAAK,CAAE,KAHX,CAII,QAAQ,CAAE,QAJd,CAKI,OAAO,CAAE,OAAO,CAAC,OALrB,EAQP,CAjCgC,CAAjC,CAkCA,wBAAwB,CAAC,SAAzB,CAAqC,CACjC,QAAQ,CAAE,SAAS,CAAC,IADa,CAEjC,IAAI,CAAE,SAAS,CAAC,MAFiB,CAGjC,KAAK,CAAE,SAAS,CAAC,IAHgB,CAIjC,QAAQ,CAAE,SAAS,CAAC,MAJa,CAKjC,OAAO,CAAE,SAAS,CAAC,MALc,CAMjC,eAAe,CAAE,SAAS,CAAC,MANM,CAOjC,QAAQ,CAAE,SAAS,CAAC,IAPa,CAArC,CASA,wBAAwB,CAAC,YAAzB,CAAwC,CACpC,QAAQ,CAAE,KAD0B,CAEpC,IAAI,CAAE,EAF8B,CAGpC,KAAK,CAAE,IAH6B,CAIpC,QAAQ,CAAE,KAJ0B,CAKpC,OAAO,CAAE,IAL2B,CAMpC,eAAe,CAAE,IANmB,CAOpC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPO,CAAxC,CASA,wBAAwB,CAAC,WAAzB,CAAuC,oBAAvC,CAEA;AACA,GAAM,CAAA,sBAAsB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,sBAAT,CAAgC,KAAhC,CAAsC,IAExE,CAAA,QAFwE,CAiBxE,KAjBwE,CAExE,QAFwE,CAGxE,IAHwE,CAiBxE,KAjBwE,CAGxE,IAHwE,CAIxE,KAJwE,CAiBxE,KAjBwE,CAIxE,KAJwE,CAKxE,QALwE,CAiBxE,KAjBwE,CAKxE,QALwE,CAMxE,OANwE,CAiBxE,KAjBwE,CAMxE,OANwE,CAOxE,kBAPwE,CAiBxE,KAjBwE,CAOxE,kBAPwE,CAQxE,iBARwE,CAiBxE,KAjBwE,CAQxE,iBARwE,CASxE,mBATwE,CAiBxE,KAjBwE,CASxE,mBATwE,CAUxE,kBAVwE,CAiBxE,KAjBwE,CAUxE,kBAVwE,CAWxE,sBAXwE,CAiBxE,KAjBwE,CAWxE,sBAXwE,CAYxE,qBAZwE,CAiBxE,KAjBwE,CAYxE,qBAZwE,CAaxE,WAbwE,CAiBxE,KAjBwE,CAaxE,WAbwE,CAcxE,UAdwE,CAiBxE,KAjBwE,CAcxE,UAdwE,CAexE,eAfwE,CAiBxE,KAjBwE,CAexE,eAfwE,CAgBxE,QAhBwE,CAiBxE,KAjBwE,CAgBxE,QAhBwE,CAmB5E,GAAM,CAAA,cAAc,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,CAAD,CAAI,CAAJ,CAAU,CAC/C,GAAI,CAAA,QAAQ,CAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAf,CACA,CAAC,CAAC,GAAF,CAAM,QAAN,CAAgB,QAAhB,CAA0B,CAA1B,EACA,CAAC,CAAC,GAAF,CAAM,QAAN,CAAgB,aAAhB,CAA+B,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,KAAK,CAAC,WAA3B,CAAyC,EAAxE,EACA,QAAQ,CAAC,IAAD,CAAO,QAAP,CACX,CALsB,CAKpB,CAAC,IAAD,CAAO,KAAP,CALoB,CAAvB,CAOA,GAAM,CAAA,mBAAmB,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,CAAD,CAAI,CAAJ,CAAU,CACpD,GAAI,CAAA,QAAQ,CAAG,CAAC,CAAC,KAAF,CAAQ,KAAR,CAAf,CACA,CAAC,CAAC,GAAF,CAAM,QAAN,CAAgB,aAAhB,CAA+B,CAA/B,EACA,QAAQ,CAAC,IAAD,CAAO,QAAP,CACX,CAJ2B,CAIzB,CAAC,IAAD,CAAO,KAAP,CAJyB,CAA5B,CAMA,GAAI,CAAA,gBAAgB,CAAG,IAAvB,CACA,GAAG,KAAK,CAAC,MAAN,GAAiB,IAAjB,GAA0B,KAAK,CAAC,MAAN,GAAiB,CAAjB,EAAsB,kBAAtB,EAA4C,KAAK,CAAC,MAAN,GAAiB,CAAjB,EAAsB,iBAA5F,CAAH,CAAkH,CAC9G,gBAAgB,cACZ,oBAAC,aAAD,EACI,QAAQ,CAAE,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,sBAArB,CAA8C,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,qBAArB,CAA6C,IADzG,CAEI,IAAI,WAAK,IAAL,gBAFR,CAGI,KAAK,CAAE,KAAK,CAAC,WAHjB,CAII,WAAW,CAAE,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,mBAArB,CAA2C,kBAJ5D,CAKI,IAAI,CAAE,CALV,CAMI,SAAS,CAAE,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,WAArB,CAAmC,KAAK,CAAC,MAAN,GAAiB,CAAjB,CAAqB,UAArB,CAAkC,IANpF,CAOI,QAAQ,CAAE,mBAPd,EAUP,CAED,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,CACzB,KAAK,CAAE,aADkB,CAEzB,OAAO,CAAE,CAAC,CACN,KAAK,CAAE,CADD,CAEN,KAAK,CAAE,QAFD,CAAD,CAGN,CACC,KAAK,CAAE,CADR,CAEC,KAAK,CAAE,OAFR,CAHM,CAFgB,CAAb,CAAhB,CAWA;AAEA,mBACI,2BAAK,SAAS,CAAC,cAAf,eACI,oBAAC,eAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,eAAe,WAAM,IAAN,aAAc,eAAd,sBAA4C,IAA5C,WAFzB,CAGI,KAAK,CAAE,KAAK,CAAC,MAHjB,CAII,QAAQ,CAAE,cAJd,CAKI,OAAO,CAAE,OAAO,CAAC,OALrB,EADJ,CAQK,gBARL,CAWP,CAxE8B,CAA/B,CAyEA,sBAAsB,CAAC,SAAvB,CAAmC,CAC/B,QAAQ,CAAE,SAAS,CAAC,IADW,CAE/B,IAAI,CAAE,SAAS,CAAC,MAFe,CAG/B,KAAK,CAAE,SAAS,CAAC,MAHc,CAI/B,QAAQ,CAAE,SAAS,CAAC,MAJW,CAK/B,OAAO,CAAE,SAAS,CAAC,MALY,CAM/B,kBAAkB,CAAE,SAAS,CAAC,IANC,CAO/B,iBAAiB,CAAE,SAAS,CAAC,IAPE,CAQ/B,mBAAmB,CAAE,SAAS,CAAC,MARA,CAS/B,kBAAkB,CAAE,SAAS,CAAC,MATC,CAU/B,sBAAsB,CAAE,SAAS,CAAC,IAVH,CAW/B,qBAAqB,CAAE,SAAS,CAAC,IAXF,CAY/B,WAAW,CAAE,SAAS,CAAC,MAZQ,CAa/B,UAAU,CAAE,SAAS,CAAC,MAbS,CAc/B,eAAe,CAAE,SAAS,CAAC,MAdI,CAe/B,QAAQ,CAAE,SAAS,CAAC,IAfW,CAAnC,CAiBA,sBAAsB,CAAC,YAAvB,CAAsC,CAClC,QAAQ,CAAE,KADwB,CAElC,IAAI,CAAE,EAF4B,CAGlC,KAAK,CAAE,CACH,MAAM,CAAE,IADL,CAEH,WAAW,CAAE,EAFV,CAH2B,CAOlC,QAAQ,CAAE,KAPwB,CAQlC,OAAO,CAAE,IARyB,CASlC,kBAAkB,CAAE,KATc,CAUlC,iBAAiB,CAAE,KAVe,CAWlC,mBAAmB,CAAE,SAXa,CAYlC,kBAAkB,CAAE,SAZc,CAalC,sBAAsB,CAAE,KAbU,CAclC,qBAAqB,CAAE,KAdW,CAelC,WAAW,CAAE,IAfqB,CAgBlC,UAAU,CAAE,IAhBsB,CAiBlC,eAAe,CAAE,IAjBiB,CAkBlC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAlBK,CAAtC,CAoBA,sBAAsB,CAAC,WAAvB,CAAqC,kBAArC,CAEA;AACA,GAAM,CAAA,qBAAqB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,qBAAT,CAA+B,KAA/B,CAAqC,IAEtE,CAAA,QAFsE,CAStE,KATsE,CAEtE,QAFsE,CAGtE,IAHsE,CAStE,KATsE,CAGtE,IAHsE,CAItE,KAJsE,CAStE,KATsE,CAItE,KAJsE,CAKtE,WALsE,CAStE,KATsE,CAKtE,WALsE,CAMtE,QANsE,CAStE,KATsE,CAMtE,QANsE,CAOtE,QAPsE,CAStE,KATsE,CAOtE,QAPsE,CAQtE,QARsE,CAStE,KATsE,CAQtE,QARsE,CAW1E;AAEA,mBACI,oBAAC,SAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,WAAW,CAAE,WAHjB,CAII,KAAK,CAAE,KAJX,CAKI,QAAQ,CAAE,QALd,CAMI,QAAQ,CAAE,QANd,CAOI,QAAQ,CAAE,QAPd,EAUP,CAxB6B,CAA9B,CAyBA,qBAAqB,CAAC,SAAtB,CAAkC,CAC9B,QAAQ,CAAE,SAAS,CAAC,IADU,CAE9B,IAAI,CAAE,SAAS,CAAC,MAFc,CAG9B,KAAK,CAAE,SAAS,CAAC,MAHa,CAI9B,WAAW,CAAE,SAAS,CAAC,MAJO,CAK9B,QAAQ,CAAE,SAAS,CAAC,MALU,CAM9B,QAAQ,CAAE,SAAS,CAAC,MANU,CAO9B,QAAQ,CAAE,SAAS,CAAC,IAPU,CAAlC,CASA,qBAAqB,CAAC,YAAtB,CAAqC,CACjC,QAAQ,CAAE,KADuB,CAEjC,IAAI,CAAE,EAF2B,CAGjC,KAAK,CAAE,EAH0B,CAIjC,WAAW,CAAE,IAJoB,CAKjC,QAAQ,CAAE,IALuB,CAMjC,QAAQ,CAAE,IANuB,CAOjC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPI,CAArC,CASA,qBAAqB,CAAC,WAAtB,CAAoC,iBAApC,CAEA;AACA,GAAM,CAAA,qBAAqB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,qBAAT,CAA+B,KAA/B,CAAqC,IAEtE,CAAA,QAFsE,CAStE,KATsE,CAEtE,QAFsE,CAGtE,KAHsE,CAStE,KATsE,CAGtE,KAHsE,CAItE,IAJsE,CAStE,KATsE,CAItE,IAJsE,CAKtE,WALsE,CAStE,KATsE,CAKtE,WALsE,CAMtE,QANsE,CAStE,KATsE,CAMtE,QANsE,CAOtE,QAPsE,CAStE,KATsE,CAOtE,QAPsE,CAQtE,QARsE,CAStE,KATsE,CAQtE,QARsE,CAW1E;AAEA,mBACI,oBAAC,SAAD,EACI,IAAI,CAAE,MADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,QAAQ,CAAE,QANd,CAOI,QAAQ,CAAE,QAPd,CAQI,QAAQ,CAAE,QARd,EAWP,CAzB6B,CAA9B,CA0BA,qBAAqB,CAAC,SAAtB,CAAkC,CAC9B,QAAQ,CAAE,SAAS,CAAC,IADU,CAE9B,IAAI,CAAE,SAAS,CAAC,MAFc,CAG9B,KAAK,CAAE,SAAS,CAAC,MAHa,CAI9B,WAAW,CAAE,SAAS,CAAC,MAJO,CAK9B,QAAQ,CAAE,SAAS,CAAC,MALU,CAM9B,QAAQ,CAAE,SAAS,CAAC,MANU,CAO9B,QAAQ,CAAE,SAAS,CAAC,IAPU,CAAlC,CASA,qBAAqB,CAAC,YAAtB,CAAqC,CACjC,QAAQ,CAAE,KADuB,CAEjC,IAAI,CAAE,EAF2B,CAGjC,KAAK,CAAE,EAH0B,CAIjC,WAAW,CAAE,IAJoB,CAKjC,QAAQ,CAAE,IALuB,CAMjC,QAAQ,CAAE,IANuB,CAOjC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPI,CAArC,CASA,qBAAqB,CAAC,WAAtB,CAAoC,iBAApC,CAEA;AACA,GAAM,CAAA,wBAAwB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,wBAAT,CAAkC,KAAlC,CAAwC,IAE5E,CAAA,QAF4E,CAU5E,KAV4E,CAE5E,QAF4E,CAG5E,KAH4E,CAU5E,KAV4E,CAG5E,KAH4E,CAI5E,IAJ4E,CAU5E,KAV4E,CAI5E,IAJ4E,CAK5E,WAL4E,CAU5E,KAV4E,CAK5E,WAL4E,CAM5E,QAN4E,CAU5E,KAV4E,CAM5E,QAN4E,CAO5E,QAP4E,CAU5E,KAV4E,CAO5E,QAP4E,CAQ5E,IAR4E,CAU5E,KAV4E,CAQ5E,IAR4E,CAS5E,QAT4E,CAU5E,KAV4E,CAS5E,QAT4E,CAYhF;AAEA,mBACI,oBAAC,SAAD,EACI,IAAI,CAAE,QADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,QAAQ,CAAE,QANd,CAOI,QAAQ,CAAE,QAPd,CAQI,IAAI,CAAE,IARV,CASI,QAAQ,CAAE,QATd,EAYP,CA3BgC,CAAjC,CA4BA,wBAAwB,CAAC,SAAzB,CAAqC,CACjC,QAAQ,CAAE,SAAS,CAAC,IADa,CAEjC,IAAI,CAAE,SAAS,CAAC,MAFiB,CAGjC,KAAK,CAAE,SAAS,CAAC,MAHgB,CAIjC,WAAW,CAAE,SAAS,CAAC,MAJU,CAKjC,QAAQ,CAAE,SAAS,CAAC,MALa,CAMjC,QAAQ,CAAE,SAAS,CAAC,MANa,CAOjC,IAAI,CAAE,SAAS,CAAC,MAPiB,CAQjC,QAAQ,CAAE,SAAS,CAAC,IARa,CAArC,CAUA,wBAAwB,CAAC,YAAzB,CAAwC,CACpC,QAAQ,CAAE,KAD0B,CAEpC,IAAI,CAAE,EAF8B,CAGpC,KAAK,CAAE,EAH6B,CAIpC,WAAW,CAAE,IAJuB,CAKpC,QAAQ,CAAE,IAL0B,CAMpC,QAAQ,CAAE,IAN0B,CAOpC,IAAI,CAAE,GAP8B,CAQpC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CARO,CAAxC,CAUA,wBAAwB,CAAC,WAAzB,CAAuC,oBAAvC,CAEA;AACA,GAAM,CAAA,uBAAuB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,uBAAT,CAAiC,KAAjC,CAAuC,IAE1E,CAAA,QAF0E,CAU1E,KAV0E,CAE1E,QAF0E,CAG1E,KAH0E,CAU1E,KAV0E,CAG1E,KAH0E,CAI1E,IAJ0E,CAU1E,KAV0E,CAI1E,IAJ0E,CAK1E,WAL0E,CAU1E,KAV0E,CAK1E,WAL0E,CAM1E,QAN0E,CAU1E,KAV0E,CAM1E,QAN0E,CAO1E,QAP0E,CAU1E,KAV0E,CAO1E,QAP0E,CAQ1E,IAR0E,CAU1E,KAV0E,CAQ1E,IAR0E,CAS1E,QAT0E,CAU1E,KAV0E,CAS1E,QAT0E,CAY9E;AAEA,mBACI,oBAAC,SAAD,EACI,IAAI,CAAE,QADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,QAAQ,CAAE,QANd,CAOI,QAAQ,CAAE,QAPd,CAQI,IAAI,CAAE,IARV,CASI,QAAQ,CAAE,QATd,EAYP,CA3B+B,CAAhC,CA4BA,uBAAuB,CAAC,SAAxB,CAAoC,CAChC,QAAQ,CAAE,SAAS,CAAC,IADY,CAEhC,IAAI,CAAE,SAAS,CAAC,MAFgB,CAGhC,KAAK,CAAE,SAAS,CAAC,MAHe,CAIhC,WAAW,CAAE,SAAS,CAAC,MAJS,CAKhC,QAAQ,CAAE,SAAS,CAAC,MALY,CAMhC,QAAQ,CAAE,SAAS,CAAC,MANY,CAOhC,IAAI,CAAE,SAAS,CAAC,MAPgB,CAQhC,QAAQ,CAAE,SAAS,CAAC,IARY,CAApC,CAUA,uBAAuB,CAAC,YAAxB,CAAuC,CACnC,QAAQ,CAAE,KADyB,CAEnC,IAAI,CAAE,EAF6B,CAGnC,KAAK,CAAE,EAH4B,CAInC,WAAW,CAAE,IAJsB,CAKnC,QAAQ,CAAE,IALyB,CAMnC,QAAQ,CAAE,IANyB,CAOnC,IAAI,CAAE,CAP6B,CAQnC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CARM,CAAvC,CAUA,uBAAuB,CAAC,WAAxB,CAAsC,mBAAtC,CAEA;AACA,GAAM,CAAA,yBAAyB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,yBAAT,CAAmC,KAAnC,CAAyC,IAE9E,CAAA,QAF8E,CAU9E,KAV8E,CAE9E,QAF8E,CAG9E,KAH8E,CAU9E,KAV8E,CAG9E,KAH8E,CAI9E,IAJ8E,CAU9E,KAV8E,CAI9E,IAJ8E,CAK9E,WAL8E,CAU9E,KAV8E,CAK9E,WAL8E,CAM9E,SAN8E,CAU9E,KAV8E,CAM9E,SAN8E,CAO9E,SAP8E,CAU9E,KAV8E,CAO9E,SAP8E,CAQ9E,IAR8E,CAU9E,KAV8E,CAQ9E,IAR8E,CAS9E,QAT8E,CAU9E,KAV8E,CAS9E,QAT8E,CAYlF;AAEA,mBACI,oBAAC,aAAD,EACI,IAAI,CAAE,MADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,SAAS,CAAE,SANf,CAOI,SAAS,CAAE,SAPf,CAQI,IAAI,CAAE,IARV,CASI,QAAQ,CAAE,QATd,EAYP,CA3BiC,CAAlC,CA4BA,yBAAyB,CAAC,SAA1B,CAAsC,CAClC,QAAQ,CAAE,SAAS,CAAC,IADc,CAElC,IAAI,CAAE,SAAS,CAAC,MAFkB,CAGlC,KAAK,CAAE,SAAS,CAAC,MAHiB,CAIlC,WAAW,CAAE,SAAS,CAAC,MAJW,CAKlC,SAAS,CAAE,SAAS,CAAC,MALa,CAMlC,SAAS,CAAE,SAAS,CAAC,MANa,CAOlC,IAAI,CAAE,SAAS,CAAC,MAPkB,CAQlC,QAAQ,CAAE,SAAS,CAAC,IARc,CAAtC,CAUA,yBAAyB,CAAC,YAA1B,CAAyC,CACrC,QAAQ,CAAE,KAD2B,CAErC,IAAI,CAAE,EAF+B,CAGrC,KAAK,CAAE,EAH8B,CAIrC,WAAW,CAAE,IAJwB,CAKrC,SAAS,CAAE,IAL0B,CAMrC,SAAS,CAAE,IAN0B,CAOrC,IAAI,CAAE,CAP+B,CAQrC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CARQ,CAAzC,CAUA,yBAAyB,CAAC,WAA1B,CAAwC,qBAAxC,CAEA;AACA,GAAM,CAAA,qBAAqB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,qBAAT,CAA+B,KAA/B,CAAqC,IAEtE,CAAA,QAFsE,CAStE,KATsE,CAEtE,QAFsE,CAGtE,KAHsE,CAStE,KATsE,CAGtE,KAHsE,CAItE,IAJsE,CAStE,KATsE,CAItE,IAJsE,CAKtE,WALsE,CAStE,KATsE,CAKtE,WALsE,CAMtE,SANsE,CAStE,KATsE,CAMtE,SANsE,CAOtE,IAPsE,CAStE,KATsE,CAOtE,IAPsE,CAQtE,QARsE,CAStE,KATsE,CAQtE,QARsE,CAW1E;AAEA,mBACI,oBAAC,eAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,SAAS,CAAE,SALf,CAMI,IAAI,CAAE,IANV,CAOI,QAAQ,CAAE,QAPd,EAUP,CAxB6B,CAA9B,CAyBA,qBAAqB,CAAC,SAAtB,CAAkC,CAC9B,QAAQ,CAAE,SAAS,CAAC,IADU,CAE9B,IAAI,CAAE,SAAS,CAAC,MAFc,CAG9B,KAAK,CAAE,SAAS,CAAC,MAHa,CAI9B,WAAW,CAAE,SAAS,CAAC,MAJO,CAK9B,SAAS,CAAE,SAAS,CAAC,MALS,CAM9B,IAAI,CAAE,SAAS,CAAC,MANc,CAO9B,QAAQ,CAAE,SAAS,CAAC,IAPU,CAAlC,CASA,qBAAqB,CAAC,YAAtB,CAAqC,CACjC,QAAQ,CAAE,KADuB,CAEjC,IAAI,CAAE,EAF2B,CAGjC,KAAK,CAAE,EAH0B,CAIjC,WAAW,CAAE,IAJoB,CAKjC,SAAS,CAAE,IALsB,CAMjC,IAAI,CAAE,CAN2B,CAOjC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPI,CAArC,CASA,qBAAqB,CAAC,WAAtB,CAAoC,iBAApC,CAEA;AACA,GAAM,CAAA,wBAAwB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,wBAAT,CAAkC,KAAlC,CAAwC,IAE5E,CAAA,KAF4E,CAG5E,KAH4E,CAE5E,KAF4E,CAKhF;AAEA,GAAG,CAAC,KAAJ,CAAW,MAAO,KAAP,CAEX,mBACI,2BAAK,uBAAuB,CAAE,CAAC,MAAM,CAAE,KAAT,CAA9B,EAEP,CAZgC,CAAjC,CAaA,wBAAwB,CAAC,SAAzB,CAAqC,CACjC,KAAK,CAAE,SAAS,CAAC,MADgB,CAArC,CAGA,wBAAwB,CAAC,YAAzB,CAAwC,CACpC,KAAK,CAAE,IAD6B,CAAxC,CAGA,wBAAwB,CAAC,WAAzB,CAAuC,qBAAvC,CAEA;AACA,GAAM,CAAA,uBAAuB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,uBAAT,CAAiC,KAAjC,CAAuC,IAE1E,CAAA,QAF0E,CAqB1E,KArB0E,CAE1E,QAF0E,CAG1E,GAH0E,CAqB1E,KArB0E,CAG1E,GAH0E,CAI1E,KAJ0E,CAqB1E,KArB0E,CAI1E,KAJ0E,CAK1E,QAL0E,CAqB1E,KArB0E,CAK1E,QAL0E,CAM1E,IAN0E,CAqB1E,KArB0E,CAM1E,IAN0E,CAO1E,KAP0E,CAqB1E,KArB0E,CAO1E,KAP0E,CAQ1E,MAR0E,CAqB1E,KArB0E,CAQ1E,MAR0E,CAS1E,WAT0E,CAqB1E,KArB0E,CAS1E,WAT0E,CAU1E,SAV0E,CAqB1E,KArB0E,CAU1E,SAV0E,CAW1E,oBAX0E,CAqB1E,KArB0E,CAW1E,oBAX0E,CAY1E,uBAZ0E,CAqB1E,KArB0E,CAY1E,uBAZ0E,CAa1E,WAb0E,CAqB1E,KArB0E,CAa1E,WAb0E,CAc1E,aAd0E,CAqB1E,KArB0E,CAc1E,aAd0E,CAe1E,OAf0E,CAqB1E,KArB0E,CAe1E,OAf0E,CAgB1E,eAhB0E,CAqB1E,KArB0E,CAgB1E,eAhB0E,CAiB1E,OAjB0E,CAqB1E,KArB0E,CAiB1E,OAjB0E,CAkB1E,QAlB0E,CAqB1E,KArB0E,CAkB1E,QAlB0E,CAmB1E,QAnB0E,CAqB1E,KArB0E,CAmB1E,QAnB0E,CAoB1E,QApB0E,CAqB1E,KArB0E,CAoB1E,QApB0E,oBAuBjD,aAAa,CAAC,GAAD,CAAM,MAAN,CAAc,WAAd,CAA2B,SAA3B,CAAsC,oBAAtC,CAvBoC,kDAuBvE,SAvBuE,oBAuB5D,OAvB4D,oBAyB9E,GAAI,CAAA,UAAU,CAAG,WAAjB,CACA,GAAG,QAAQ,GAAK,aAAhB,CAA+B,UAAU,CAAG,gBAAb,CAC/B,GAAG,QAAQ,GAAK,YAAhB,CAA8B,UAAU,CAAG,eAAb,CAC9B,GAAG,QAAQ,GAAK,eAAhB,CAAiC,UAAU,CAAG,kBAAb,CAEjC,GAAI,CAAA,WAAW,CAAG,KAAlB,CACA,GAAG,CAAC,CAAC,QAAF,CAAW,CAAC,aAAD,CAAgB,eAAhB,CAAX,CAA6C,QAA7C,CAAH,CAA0D,CACtD,WAAW,CAAG,CAAC,CAAC,MAAF,CAAS,WAAT,CAAsB,SAAA,GAAG,CAAI,CAAC,MAAO,CAAA,GAAG,GAAK,IAAK,CAAlD,CACjB,CAED;AAEA,GAAG,KAAH,CAAS,CACL,GAAI,CAAA,WAAW,CAAG,YAAY,CAAC,KAAD,CAAQ,MAAR,CAAgB,WAAhB,CAA6B,SAA7B,CAAwC,oBAAxC,CAA9B,CAEA,mBACI,oBAAC,UAAD,EACI,IAAI,CAAE,IADV,CAEI,QAAQ,CAAE,QAFd,CAGI,KAAK,CAAE,WAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,aALnB,CAMI,OAAO,CAAE,OANb,CAOI,QAAQ,CAAE,eAPd,CAQI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAR3D,CASI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAT3D,CAUI,uBAAuB,CAAE,uBAV7B,CAWI,OAAO,CAAE,WAXb,CAYI,QAAQ,CAAE,QAZd,EAeP,CAED,mBACI,oBAAC,UAAD,EACI,IAAI,CAAE,IADV,CAEI,QAAQ,CAAE,QAFd,CAGI,KAAK,CAAE,WAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,aALnB,CAMI,OAAO,CAAE,OANb,CAOI,QAAQ,CAAE,eAPd,CAQI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAR3D,CASI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAT3D,CAUI,QAAQ,CAAE,QAVd,CAWI,uBAAuB,CAAE,uBAX7B,CAYI,OAAO,CAAE,OAZb,CAaI,SAAS,CAAE,SAbf,EAgBP,CA3E+B,CAAhC,CA4EA,uBAAuB,CAAC,SAAxB,CAAoC,CAChC,QAAQ,CAAE,SAAS,CAAC,KAAV,CAAgB,CAAC,QAAD,CAAW,OAAX,CAAoB,aAApB,CAAmC,YAAnC,CAAiD,eAAjD,CAAhB,CADsB,CAEhC,GAAG,CAAE,SAAS,CAAC,MAFiB,CAGhC,KAAK,CAAE,SAAS,CAAC,KAHe,CAIhC,QAAQ,CAAE,SAAS,CAAC,IAJY,CAKhC,IAAI,CAAE,SAAS,CAAC,MALgB,CAMhC,KAAK,CAAE,SAAS,CAAC,GANe,CAOhC,MAAM,CAAE,SAAS,CAAC,MAAV,CAAiB,UAPO,CAQhC,WAAW,CAAE,SAAS,CAAC,MAAV,CAAiB,UARE,CAShC,SAAS,CAAE,SAAS,CAAC,MATW,CAUhC,oBAAoB,CAAE,SAAS,CAAC,MAVA,CAWhC,uBAAuB,CAAE,SAAS,CAAC,IAXH,CAYhC,WAAW,CAAE,SAAS,CAAC,MAZS,CAahC,aAAa,CAAE,SAAS,CAAC,MAbO,CAchC,OAAO,CAAE,SAAS,CAAC,MAda,CAehC,eAAe,CAAE,SAAS,CAAC,IAfK,CAgBhC,OAAO,CAAE,SAAS,CAAC,IAhBa,CAiBhC,QAAQ,CAAE,SAAS,CAAC,MAjBY,CAkBhC,QAAQ,CAAE,SAAS,CAAC,MAlBY,CAmBhC,QAAQ,CAAE,SAAS,CAAC,IAnBY,CAApC,CAqBA,uBAAuB,CAAC,YAAxB,CAAuC,CACnC,QAAQ,CAAE,QADyB,CAEnC,GAAG,CAAE,IAF8B,CAGnC,KAAK,CAAE,IAH4B,CAInC,QAAQ,CAAE,KAJyB,CAKnC,IAAI,CAAE,EAL6B,CAMnC,KAAK,CAAE,EAN4B,CAOnC,MAAM,CAAE,IAP2B,CAQnC,WAAW,CAAE,IARsB,CASnC,SAAS,CAAE,IATwB,CAUnC,oBAAoB,CAAE,OAVa,CAWnC,uBAAuB,CAAE,KAXU,CAYnC,aAAa,CAAE,YAZoB,CAanC,WAAW,CAAE,IAbsB,CAcnC,OAAO,CAAE,IAd0B,CAenC,eAAe,CAAE,IAfkB,CAgBnC,OAAO,CAAE,KAhB0B,CAiBnC,QAAQ,CAAE,IAjByB,CAkBnC,QAAQ,CAAE,IAlByB,CAmBnC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAnBM,CAAvC,CAqBA,uBAAuB,CAAC,WAAxB,CAAsC,mBAAtC,CAEA;AACA,GAAM,CAAA,0BAA0B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,0BAAT,CAAoC,KAApC,CAA0C,IAEhF,CAAA,QAFgF,CAuBhF,KAvBgF,CAEhF,QAFgF,CAGhF,QAHgF,CAuBhF,KAvBgF,CAGhF,QAHgF,CAIhF,KAJgF,CAuBhF,KAvBgF,CAIhF,KAJgF,CAKhF,IALgF,CAuBhF,KAvBgF,CAKhF,IALgF,CAMhF,MANgF,CAuBhF,KAvBgF,CAMhF,MANgF,CAOhF,WAPgF,CAuBhF,KAvBgF,CAOhF,WAPgF,CAQhF,SARgF,CAuBhF,KAvBgF,CAQhF,SARgF,CAShF,WATgF,CAuBhF,KAvBgF,CAShF,WATgF,CAUhF,aAVgF,CAuBhF,KAvBgF,CAUhF,aAVgF,CAWhF,cAXgF,CAuBhF,KAvBgF,CAWhF,cAXgF,CAYhF,oBAZgF,CAuBhF,KAvBgF,CAYhF,oBAZgF,CAahF,cAbgF,CAuBhF,KAvBgF,CAahF,cAbgF,CAchF,OAdgF,CAuBhF,KAvBgF,CAchF,OAdgF,CAehF,cAfgF,CAuBhF,KAvBgF,CAehF,cAfgF,CAgBhF,OAhBgF,CAuBhF,KAvBgF,CAgBhF,OAhBgF,CAiBhF,eAjBgF,CAuBhF,KAvBgF,CAiBhF,eAjBgF,CAkBhF,OAlBgF,CAuBhF,KAvBgF,CAkBhF,OAlBgF,CAmBhF,QAnBgF,CAuBhF,KAvBgF,CAmBhF,QAnBgF,CAoBhF,QApBgF,CAuBhF,KAvBgF,CAoBhF,QApBgF,CAqBhF,eArBgF,CAuBhF,KAvBgF,CAqBhF,eArBgF,CAsBhF,QAtBgF,CAuBhF,KAvBgF,CAsBhF,QAtBgF,uBAyB9D,KAAK,CAAC,QAAN,CAAe,IAAf,CAzB8D,uDAyB7E,GAzB6E,sBAyBxE,MAzBwE,4CA0BtC,KAAK,CAAC,QAAN,CAAe,IAAf,CA1BsC,uDA0B7E,eA1B6E,sBA0B5D,kBA1B4D,4CA2B5B,KAAK,CAAC,QAAN,CAAe,IAAf,CA3B4B,uDA2B7E,oBA3B6E,sBA2BvD,uBA3BuD,0CA4BvD,aAAa,CAAC,GAAD,CAAM,MAAN,CAAc,WAAd,CAA2B,SAA3B,CA5B0C,mDA4B7E,SA5B6E,oBA4BlE,OA5BkE,oBA8BpF,GAAM,CAAA,cAAc,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAA,KAAK,CAAI,CAC9C,GAAI,CAAA,KAAK,CAAG,OAAO,CAAC,KAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,KAAtB,CAAP,CAAsC,KAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,KAA3D,CAAmE,IAA/E,CACA,uBAAuB,CAAC,KAAD,CAC1B,CAHsB,CAGpB,CAAC,QAAD,CAHoB,CAAvB,CAKA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAA,GAAG,CAAG,2EAAoE,cAApE,2BAAV,CACA,GAAG,OAAH,CAAW,CACP,GAAI,CAAA,KAAK,CAAG,IAAI,CAAC,SAAL,CAAe,CAAC,CAAC,QAAQ,CAAE,OAAX,CAAoB,SAAS,CAAE,cAA/B,CAAD,CAAf,CAAZ,CACA,GAAG,CAAC,IAAJ,gBAAiB,KAAjB,EACH,CACD,GAAG,cAAH,CAAkB,CACd,GAAI,CAAA,MAAM,CAAG,IAAI,CAAC,SAAL,CAAe,CAAC,CAAC,QAAQ,CAAE,cAAX,CAA2B,KAAK,CAAE,CAAC,CAAC,KAAF,CAAQ,oBAAR,CAA8B,GAA9B,CAAlC,CAAD,CAAf,CAAb,CACA,GAAG,CAAC,IAAJ,kBAAmB,MAAnB,EACH,CACD,GAAG,cAAc,EAAI,CAAC,OAAO,CAAC,oBAAD,CAA7B,CAAqD,CACjD,GAAG,CAAG,IACT,CACD,GAAG,GAAH,CAAQ,GAAG,CAAG,CAAC,CAAC,IAAF,CAAO,GAAP,CAAY,GAAZ,CAAN,CAER,MAAM,CAAC,GAAD,CACT,CAhBD,CAgBG,CAAC,cAAD,CAAiB,OAAjB,CAA0B,cAA1B,CAA0C,cAA1C,CAA0D,eAA1D,CAA2E,oBAA3E,CAhBH,EAkBA,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAG,oBAAH,CAAwB,CACpB,GAAI,CAAA,EAAE,CAAG,QAAQ,CAAC,aAAT,oCAAkD,oBAAlD,aAA0E,eAA1E,QAAT,CACA,kBAAkB,CAAC,EAAD,CAAlB,CACA,GAAG,EAAH,CAAM,CACF,EAAE,CAAC,gBAAH,CAAoB,cAApB,CAAoC,cAApC,EACA,MAAO,WAAM,CACT,EAAE,CAAC,mBAAH,CAAuB,cAAvB,CAAuC,cAAvC,CACH,CACJ,CACJ,CACJ,CAXD,CAWG,CAAC,oBAAD,CAXH,EAaA,GAAI,CAAA,UAAU,CAAG,WAAjB,CACA,GAAG,QAAQ,GAAK,aAAhB,CAA+B,UAAU,CAAG,gBAAb,CAC/B,GAAG,QAAQ,GAAK,YAAhB,CAA8B,UAAU,CAAG,eAAb,CAC9B,GAAG,QAAQ,GAAK,eAAhB,CAAiC,UAAU,CAAG,kBAAb,CAEjC,GAAI,CAAA,WAAW,CAAG,KAAlB,CACA,GAAG,CAAC,CAAC,QAAF,CAAW,CAAC,aAAD,CAAgB,eAAhB,CAAX,CAA6C,QAA7C,CAAH,CAA0D,CACtD,WAAW,CAAG,CAAC,CAAC,MAAF,CAAS,WAAT,CAAsB,SAAA,GAAG,CAAI,CAAC,MAAO,CAAA,GAAG,GAAK,IAAK,CAAlD,CACjB,CAED;AAEA,mBACI,oBAAC,UAAD,EACI,IAAI,CAAE,eAAe,WAAM,IAAN,aAAc,eAAd,EAAkC,IAD3D,CAEI,QAAQ,CAAE,QAFd,CAGI,KAAK,CAAE,WAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,aALnB,CAMI,OAAO,CAAE,OANb,CAOI,QAAQ,CAAE,eAPd,CAQI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAR3D,CASI,QAAQ,CAAE,OAAO,EAAI,CAAC,CAAC,QAAF,CAAW,QAAX,CAAX,CAAkC,QAAlC,CAA6C,IAT3D,CAUI,cAAc,WAAK,cAAL,aAAuB,eAAvB,CAVlB,CAWI,QAAQ,CAAE,QAXd,CAYI,OAAO,CAAE,OAZb,CAaI,SAAS,CAAE,SAbf,EAgBP,CA/FkC,CAAnC,CAgGA,0BAA0B,CAAC,SAA3B,CAAuC,CACnC,QAAQ,CAAE,SAAS,CAAC,KAAV,CAAgB,CAAC,OAAD,CAAU,aAAV,CAAyB,YAAzB,CAAuC,eAAvC,CAAhB,CADyB,CAEnC,QAAQ,CAAE,SAAS,CAAC,IAFe,CAGnC,IAAI,CAAE,SAAS,CAAC,MAHmB,CAInC,KAAK,CAAE,SAAS,CAAC,GAJkB,CAKnC,MAAM,CAAE,SAAS,CAAC,MAAV,CAAiB,UALU,CAMnC,WAAW,CAAE,SAAS,CAAC,MAAV,CAAiB,UANK,CAOnC,SAAS,CAAE,SAAS,CAAC,MAPc,CAQnC,WAAW,CAAE,SAAS,CAAC,MARY,CASnC,aAAa,CAAE,SAAS,CAAC,MATU,CAUnC,cAAc,CAAE,SAAS,CAAC,MAAV,CAAiB,UAVE,CAWnC,oBAAoB,CAAE,SAAS,CAAC,MAXG,CAYnC,cAAc,CAAE,SAAS,CAAC,MAZS,CAanC,OAAO,CAAE,SAAS,CAAC,MAbgB,CAcnC,cAAc,CAAE,SAAS,CAAC,KAAV,CAAgB,CAAC,KAAD,CAAQ,MAAR,CAAhB,CAdmB,CAenC,OAAO,CAAE,SAAS,CAAC,MAfgB,CAgBnC,eAAe,CAAE,SAAS,CAAC,IAhBQ,CAiBnC,OAAO,CAAE,SAAS,CAAC,IAjBgB,CAkBnC,QAAQ,CAAE,SAAS,CAAC,MAlBe,CAmBnC,QAAQ,CAAE,SAAS,CAAC,MAnBe,CAoBnC,eAAe,CAAE,SAAS,CAAC,MApBQ,CAqBnC,QAAQ,CAAE,SAAS,CAAC,IArBe,CAAvC,CAuBA,0BAA0B,CAAC,YAA3B,CAA0C,CACtC,QAAQ,CAAE,OAD4B,CAEtC,QAAQ,CAAE,KAF4B,CAGtC,IAAI,CAAE,EAHgC,CAItC,KAAK,CAAE,EAJ+B,CAKtC,MAAM,CAAE,IAL8B,CAMtC,WAAW,CAAE,IANyB,CAOtC,SAAS,CAAE,IAP2B,CAQtC,aAAa,CAAE,YARuB,CAStC,cAAc,CAAE,IATsB,CAUtC,oBAAoB,CAAE,IAVgB,CAWtC,cAAc,CAAE,IAXsB,CAYtC,OAAO,CAAE,IAZ6B,CAatC,cAAc,CAAE,KAbsB,CActC,WAAW,CAAE,IAdyB,CAetC,OAAO,CAAE,IAf6B,CAgBtC,eAAe,CAAE,IAhBqB,CAiBtC,OAAO,CAAE,KAjB6B,CAkBtC,QAAQ,CAAE,IAlB4B,CAmBtC,QAAQ,CAAE,IAnB4B,CAoBtC,eAAe,CAAE,IApBqB,CAqBtC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CArBS,CAA1C,CAuBA,0BAA0B,CAAC,WAA3B,CAAyC,sBAAzC,CAEA;AACA,GAAM,CAAA,sBAAsB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,sBAAT,CAAgC,KAAhC,CAAsC,IAExE,CAAA,QAFwE,CAOxE,KAPwE,CAExE,QAFwE,CAGxE,KAHwE,CAOxE,KAPwE,CAGxE,KAHwE,CAIxE,IAJwE,CAOxE,KAPwE,CAIxE,IAJwE,CAKxE,WALwE,CAOxE,KAPwE,CAKxE,WALwE,CAMxE,QANwE,CAOxE,KAPwE,CAMxE,QANwE,CAS5E;AAEA,mBACI,oBAAC,SAAD,EACI,IAAI,CAAE,OADV,CAEI,QAAQ,CAAE,QAFd,CAGI,IAAI,CAAE,IAHV,CAII,KAAK,CAAE,KAJX,CAKI,WAAW,CAAE,WALjB,CAMI,QAAQ,CAAE,QANd,EASP,CArB8B,CAA/B,CAsBA,sBAAsB,CAAC,SAAvB,CAAmC,CAC/B,QAAQ,CAAE,SAAS,CAAC,IADW,CAE/B,IAAI,CAAE,SAAS,CAAC,MAFe,CAG/B,KAAK,CAAE,SAAS,CAAC,MAHc,CAI/B,WAAW,CAAE,SAAS,CAAC,MAJQ,CAK/B,QAAQ,CAAE,SAAS,CAAC,IALW,CAAnC,CAOA,sBAAsB,CAAC,YAAvB,CAAsC,CAClC,QAAQ,CAAE,KADwB,CAElC,IAAI,CAAE,EAF4B,CAGlC,KAAK,CAAE,EAH2B,CAIlC,WAAW,CAAE,IAJqB,CAKlC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALK,CAAtC,CAOA,sBAAsB,CAAC,WAAvB,CAAqC,kBAArC,CAEA;AACA,GAAM,CAAA,yBAAyB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,yBAAT,CAAmC,KAAnC,CAAyC,IAE9E,CAAA,QAF8E,CAS9E,KAT8E,CAE9E,QAF8E,CAG9E,IAH8E,CAS9E,KAT8E,CAG9E,IAH8E,CAI9E,KAJ8E,CAS9E,KAT8E,CAI9E,KAJ8E,CAK9E,WAL8E,CAS9E,KAT8E,CAK9E,WAL8E,CAM9E,QAN8E,CAS9E,KAT8E,CAM9E,QAN8E,CAO9E,QAP8E,CAS9E,KAT8E,CAO9E,QAP8E,CAQ9E,QAR8E,CAS9E,KAT8E,CAQ9E,QAR8E,CAWlF;AAEA,mBACI,oBAAC,SAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,WAAW,CAAE,WAHjB,CAII,KAAK,CAAE,KAJX,CAKI,QAAQ,CAAE,QALd,CAMI,QAAQ,CAAE,QANd,CAOI,QAAQ,CAAE,QAPd,EAUP,CAxBiC,CAAlC,CAyBA,yBAAyB,CAAC,SAA1B,CAAsC,CAClC,QAAQ,CAAE,SAAS,CAAC,IADc,CAElC,IAAI,CAAE,SAAS,CAAC,MAFkB,CAGlC,KAAK,CAAE,SAAS,CAAC,MAHiB,CAIlC,WAAW,CAAE,SAAS,CAAC,MAJW,CAKlC,QAAQ,CAAE,SAAS,CAAC,MALc,CAMlC,QAAQ,CAAE,SAAS,CAAC,MANc,CAOlC,QAAQ,CAAE,SAAS,CAAC,IAPc,CAAtC,CASA,yBAAyB,CAAC,YAA1B,CAAyC,CACrC,QAAQ,CAAE,KAD2B,CAErC,IAAI,CAAE,EAF+B,CAGrC,KAAK,CAAE,EAH8B,CAIrC,WAAW,CAAE,IAJwB,CAKrC,QAAQ,CAAE,IAL2B,CAMrC,QAAQ,CAAE,IAN2B,CAOrC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CAPQ,CAAzC,CASA,yBAAyB,CAAC,WAA1B,CAAwC,qBAAxC,CAEA;AACA,GAAM,CAAA,uBAAuB,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,uBAAT,CAAiC,KAAjC,CAAuC,IAE1E,CAAA,QAF0E,CAO1E,KAP0E,CAE1E,QAF0E,CAG1E,KAH0E,CAO1E,KAP0E,CAG1E,KAH0E,CAI1E,IAJ0E,CAO1E,KAP0E,CAI1E,IAJ0E,CAK1E,WAL0E,CAO1E,KAP0E,CAK1E,WAL0E,CAM1E,QAN0E,CAO1E,KAP0E,CAM1E,QAN0E,CAS9E,GAAI,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,CAAC,CACxB,KAAK,CAAE,aADiB,CAExB,OAAO,CAAE,CAAC,CACN,KAAK,CAAE,GADD,CAEN,YAAY,CAAE,MAFR,CAAD,CAGN,CACC,KAAK,CAAE,GADR,CAEC,YAAY,CAAE,QAFf,CAHM,CAFe,CAAD,CAAb,CAAd,CAWA;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,OAAO,CAAE,OAAO,CAAC,OALrB,CAMI,QAAQ,CAAE,QANd,EASP,CAhC+B,CAAhC,CAiCA,uBAAuB,CAAC,SAAxB,CAAoC,CAChC,QAAQ,CAAE,SAAS,CAAC,IADY,CAEhC,IAAI,CAAE,SAAS,CAAC,MAFgB,CAGhC,KAAK,CAAE,SAAS,CAAC,MAHe,CAIhC,WAAW,CAAE,SAAS,CAAC,MAJS,CAKhC,QAAQ,CAAE,SAAS,CAAC,IALY,CAApC,CAOA,uBAAuB,CAAC,YAAxB,CAAuC,CACnC,QAAQ,CAAE,KADyB,CAEnC,IAAI,CAAE,EAF6B,CAGnC,KAAK,CAAE,EAH4B,CAInC,WAAW,CAAE,IAJsB,CAKnC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALM,CAAvC,CAOA,uBAAuB,CAAC,WAAxB,CAAsC,mBAAtC,CAEA;AACA,GAAM,CAAA,0BAA0B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,0BAAT,CAAoC,KAApC,CAA0C,IAEhF,CAAA,QAFgF,CAOhF,KAPgF,CAEhF,QAFgF,CAGhF,KAHgF,CAOhF,KAPgF,CAGhF,KAHgF,CAIhF,IAJgF,CAOhF,KAPgF,CAIhF,IAJgF,CAKhF,WALgF,CAOhF,KAPgF,CAKhF,WALgF,CAMhF,QANgF,CAOhF,KAPgF,CAMhF,QANgF,qBASvD,aAAa,CAAC,8CAAD,CAAiD,IAAjD,CAAuD,OAAvD,CAT0C,mDAS7E,SAT6E,oBASlE,OATkE,oBAWpF;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,0BALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzBkC,CAAnC,CA0BA,0BAA0B,CAAC,SAA3B,CAAuC,CACnC,QAAQ,CAAE,SAAS,CAAC,IADe,CAEnC,IAAI,CAAE,SAAS,CAAC,MAFmB,CAGnC,KAAK,CAAE,SAAS,CAAC,GAHkB,CAInC,WAAW,CAAE,SAAS,CAAC,MAJY,CAKnC,QAAQ,CAAE,SAAS,CAAC,IALe,CAAvC,CAOA,0BAA0B,CAAC,YAA3B,CAA0C,CACtC,QAAQ,CAAE,KAD4B,CAEtC,IAAI,CAAE,EAFgC,CAGtC,KAAK,CAAE,EAH+B,CAItC,WAAW,CAAE,IAJyB,CAKtC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALS,CAA1C,CAOA,0BAA0B,CAAC,WAA3B,CAAyC,uBAAzC,CAEA;AACA,GAAM,CAAA,+BAA+B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,+BAAT,CAAyC,KAAzC,CAA+C,IAE1F,CAAA,QAF0F,CAO1F,KAP0F,CAE1F,QAF0F,CAG1F,KAH0F,CAO1F,KAP0F,CAG1F,KAH0F,CAI1F,IAJ0F,CAO1F,KAP0F,CAI1F,IAJ0F,CAK1F,WAL0F,CAO1F,KAP0F,CAK1F,WAL0F,CAM1F,QAN0F,CAO1F,KAP0F,CAM1F,QAN0F,qBASjE,aAAa,CAAC,4DAAD,CAA+D,IAA/D,CAAqE,MAArE,CAToD,mDASvF,SATuF,oBAS5E,OAT4E,oBAW9F;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,wBALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzBuC,CAAxC,CA0BA,+BAA+B,CAAC,SAAhC,CAA4C,CACxC,QAAQ,CAAE,SAAS,CAAC,IADoB,CAExC,IAAI,CAAE,SAAS,CAAC,MAFwB,CAGxC,KAAK,CAAE,SAAS,CAAC,GAHuB,CAIxC,WAAW,CAAE,SAAS,CAAC,MAJiB,CAKxC,QAAQ,CAAE,SAAS,CAAC,IALoB,CAA5C,CAOA,+BAA+B,CAAC,YAAhC,CAA+C,CAC3C,QAAQ,CAAE,KADiC,CAE3C,IAAI,CAAE,EAFqC,CAG3C,KAAK,CAAE,EAHoC,CAI3C,WAAW,CAAE,IAJ8B,CAK3C,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALc,CAA/C,CAOA,+BAA+B,CAAC,WAAhC,CAA8C,4BAA9C,CAEA;AACA,GAAM,CAAA,6BAA6B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,6BAAT,CAAuC,KAAvC,CAA6C,IAEtF,CAAA,SAFsF,CAQtF,KARsF,CAEtF,SAFsF,CAGtF,QAHsF,CAQtF,KARsF,CAGtF,QAHsF,CAItF,KAJsF,CAQtF,KARsF,CAItF,KAJsF,CAKtF,IALsF,CAQtF,KARsF,CAKtF,IALsF,CAMtF,WANsF,CAQtF,KARsF,CAMtF,WANsF,CAOtF,QAPsF,CAQtF,KARsF,CAOtF,QAPsF,CAU1F,GAAM,CAAA,iBAAiB,CAAG,KAAK,CAAC,MAAN,CAAa,SAAb,CAA1B,CAV0F,oBAW7D,aAAa,CAAC,SAAS,uFAAkF,SAAlF,EAAgG,IAA1G,CAAgH,IAAhH,CAAsH,MAAtH,CAXgD,oDAWnF,SAXmF,qBAWxE,OAXwE,qBAa1F,KAAK,CAAC,SAAN,CAAgB,UAAM,CAClB,GAAI,CAAC,SAAL,CAAgB,CACZ,QAAQ,CAAC,IAAD,CAAO,iBAAiB,CAAC,OAAlB,GAA8B,IAA9B,EAAsC,iBAAiB,CAAC,OAAlB,GAA8B,SAApE,CAAgF,IAAhF,CAAuF,KAA9F,CACX,CACD,GAAI,SAAS,GAAK,iBAAiB,CAAC,OAApC,CAA6C,CACzC,iBAAiB,CAAC,OAAlB,CAA4B,SAC/B,CACJ,CAPD,CAOG,CAAC,SAAD,CAPH,EASA;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,SAAS,CAAG,0CAAH,CAAgD,iCAL5E,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CApCqC,CAAtC,CAqCA,6BAA6B,CAAC,SAA9B,CAA0C,CACtC,SAAS,CAAE,SAAS,CAAC,GADiB,CAEtC,QAAQ,CAAE,SAAS,CAAC,IAFkB,CAGtC,IAAI,CAAE,SAAS,CAAC,MAHsB,CAItC,KAAK,CAAE,SAAS,CAAC,GAJqB,CAKtC,WAAW,CAAE,SAAS,CAAC,MALe,CAMtC,QAAQ,CAAE,SAAS,CAAC,IANkB,CAA1C,CAQA,6BAA6B,CAAC,YAA9B,CAA6C,CACzC,SAAS,CAAE,IAD8B,CAEzC,QAAQ,CAAE,KAF+B,CAGzC,IAAI,CAAE,EAHmC,CAIzC,KAAK,CAAE,EAJkC,CAKzC,WAAW,CAAE,IAL4B,CAMzC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CANY,CAA7C,CAQA,6BAA6B,CAAC,WAA9B,CAA4C,0BAA5C,CAEA;AACA,GAAM,CAAA,4BAA4B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,4BAAT,CAAsC,KAAtC,CAA4C,IAEpF,CAAA,QAFoF,CAOpF,KAPoF,CAEpF,QAFoF,CAGpF,KAHoF,CAOpF,KAPoF,CAGpF,KAHoF,CAIpF,IAJoF,CAOpF,KAPoF,CAIpF,IAJoF,CAKpF,WALoF,CAOpF,KAPoF,CAKpF,WALoF,CAMpF,QANoF,CAOpF,KAPoF,CAMpF,QANoF,sBAS3D,aAAa,CAAC,gDAAD,CAAmD,IAAnD,CAAyD,OAAzD,CAT8C,qDASjF,SATiF,qBAStE,OATsE,qBAWxF;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,4BALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzBoC,CAArC,CA0BA,4BAA4B,CAAC,SAA7B,CAAyC,CACrC,QAAQ,CAAE,SAAS,CAAC,IADiB,CAErC,IAAI,CAAE,SAAS,CAAC,MAFqB,CAGrC,KAAK,CAAE,SAAS,CAAC,GAHoB,CAIrC,WAAW,CAAE,SAAS,CAAC,MAJc,CAKrC,QAAQ,CAAE,SAAS,CAAC,IALiB,CAAzC,CAOA,4BAA4B,CAAC,YAA7B,CAA4C,CACxC,QAAQ,CAAE,KAD8B,CAExC,IAAI,CAAE,EAFkC,CAGxC,KAAK,CAAE,EAHiC,CAIxC,WAAW,CAAE,IAJ2B,CAKxC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALW,CAA5C,CAOA,4BAA4B,CAAC,WAA7B,CAA2C,yBAA3C,CAEA;AACA,GAAM,CAAA,6BAA6B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,6BAAT,CAAuC,KAAvC,CAA6C,IAEtF,CAAA,QAFsF,CAOtF,KAPsF,CAEtF,QAFsF,CAGtF,KAHsF,CAOtF,KAPsF,CAGtF,KAHsF,CAItF,IAJsF,CAOtF,KAPsF,CAItF,IAJsF,CAKtF,WALsF,CAOtF,KAPsF,CAKtF,WALsF,CAMtF,QANsF,CAOtF,KAPsF,CAMtF,QANsF,CAS1F,GAAM,CAAA,MAAM,CAAG,KAAK,CAAC,WAAN,CAAkB,SAAC,CAAD,CAAI,CAAJ,CAAU,CACvC,QAAQ,CAAC,IAAD,CAAO,CAAC,GAAK,GAAb,CACX,CAFc,CAEZ,CAAC,QAAD,CAAW,IAAX,CAFY,CAAf,CAIA,GAAM,CAAA,OAAO,CAAG,KAAK,CAAC,MAAN,CAAa,CAAC,CAC1B,KAAK,CAAE,aADmB,CAE1B,OAAO,CAAE,CAAC,CACN,KAAK,CAAE,GADD,CAEN,YAAY,CAAE,KAFR,CAAD,CAGN,CACC,KAAK,CAAE,GADR,CAEC,YAAY,CAAE,IAFf,CAHM,CAFiB,CAAD,CAAb,CAAhB,CAWA;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAAK,GAAK,IAAV,CAAiB,GAAjB,CAAuB,KAAK,GAAK,KAAV,CAAkB,GAAlB,CAAwB,EAH1D,CAII,WAAW,CAAE,WAJjB,CAKI,eAAe,CAAE,KALrB,CAMI,OAAO,CAAE,OAAO,CAAC,OANrB,CAOI,QAAQ,CAAE,MAPd,EAUP,CArCqC,CAAtC,CAsCA,6BAA6B,CAAC,SAA9B,CAA0C,CACtC,QAAQ,CAAE,SAAS,CAAC,IADkB,CAEtC,IAAI,CAAE,SAAS,CAAC,MAFsB,CAGtC,KAAK,CAAE,SAAS,CAAC,GAHqB,CAItC,WAAW,CAAE,SAAS,CAAC,MAJe,CAKtC,QAAQ,CAAE,SAAS,CAAC,IALkB,CAA1C,CAOA,6BAA6B,CAAC,YAA9B,CAA6C,CACzC,QAAQ,CAAE,KAD+B,CAEzC,IAAI,CAAE,EAFmC,CAGzC,KAAK,CAAE,EAHkC,CAIzC,WAAW,CAAE,IAJ4B,CAKzC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALY,CAA7C,CAOA,6BAA6B,CAAC,WAA9B,CAA4C,0BAA5C,CAEA;AACA,GAAM,CAAA,0BAA0B,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,0BAAT,CAAoC,KAApC,CAA0C,IAEhF,CAAA,QAFgF,CAOhF,KAPgF,CAEhF,QAFgF,CAGhF,KAHgF,CAOhF,KAPgF,CAGhF,KAHgF,CAIhF,IAJgF,CAOhF,KAPgF,CAIhF,IAJgF,CAKhF,WALgF,CAOhF,KAPgF,CAKhF,WALgF,CAMhF,QANgF,CAOhF,KAPgF,CAMhF,QANgF,sBASvD,aAAa,CAAC,8CAAD,CAAiD,IAAjD,CAAuD,OAAvD,CAT0C,qDAS7E,SAT6E,qBASlE,OATkE,qBAWpF;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,0BALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzBkC,CAAnC,CA0BA,0BAA0B,CAAC,SAA3B,CAAuC,CACnC,QAAQ,CAAE,SAAS,CAAC,IADe,CAEnC,IAAI,CAAE,SAAS,CAAC,MAFmB,CAGnC,KAAK,CAAE,SAAS,CAAC,GAHkB,CAInC,WAAW,CAAE,SAAS,CAAC,MAJY,CAKnC,QAAQ,CAAE,SAAS,CAAC,IALe,CAAvC,CAOA,0BAA0B,CAAC,YAA3B,CAA0C,CACtC,QAAQ,CAAE,KAD4B,CAEtC,IAAI,CAAE,EAFgC,CAGtC,KAAK,CAAE,EAH+B,CAItC,WAAW,CAAE,IAJyB,CAKtC,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALS,CAA1C,CAOA,0BAA0B,CAAC,WAA3B,CAAyC,uBAAzC,CAEA;AACA,GAAM,CAAA,qCAAqC,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,qCAAT,CAA+C,KAA/C,CAAqD,IAEtG,CAAA,QAFsG,CAOtG,KAPsG,CAEtG,QAFsG,CAGtG,KAHsG,CAOtG,KAPsG,CAGtG,KAHsG,CAItG,IAJsG,CAOtG,KAPsG,CAItG,IAJsG,CAKtG,WALsG,CAOtG,KAPsG,CAKtG,WALsG,CAMtG,QANsG,CAOtG,KAPsG,CAMtG,QANsG,sBAS7E,aAAa,CAAC,yDAAD,CAA4D,IAA5D,CAAkE,OAAlE,CATgE,qDASnG,SATmG,qBASxF,OATwF,qBAW1G;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,sCALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzB6C,CAA9C,CA0BA,qCAAqC,CAAC,SAAtC,CAAkD,CAC9C,QAAQ,CAAE,SAAS,CAAC,IAD0B,CAE9C,IAAI,CAAE,SAAS,CAAC,MAF8B,CAG9C,KAAK,CAAE,SAAS,CAAC,MAH6B,CAI9C,WAAW,CAAE,SAAS,CAAC,MAJuB,CAK9C,QAAQ,CAAE,SAAS,CAAC,IAL0B,CAAlD,CAOA,qCAAqC,CAAC,YAAtC,CAAqD,CACjD,QAAQ,CAAE,KADuC,CAEjD,IAAI,CAAE,EAF2C,CAGjD,KAAK,CAAE,EAH0C,CAIjD,WAAW,CAAE,IAJoC,CAKjD,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALoB,CAArD,CAOA,qCAAqC,CAAC,WAAtC,CAAoD,mCAApD,CAEA;AACA,GAAM,CAAA,kCAAkC,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,kCAAT,CAA4C,KAA5C,CAAkD,IAEhG,CAAA,QAFgG,CAOhG,KAPgG,CAEhG,QAFgG,CAGhG,KAHgG,CAOhG,KAPgG,CAGhG,KAHgG,CAIhG,IAJgG,CAOhG,KAPgG,CAIhG,IAJgG,CAKhG,WALgG,CAOhG,KAPgG,CAKhG,WALgG,CAMhG,QANgG,CAOhG,KAPgG,CAMhG,QANgG,sBASvE,aAAa,CAAC,oDAAD,CAAuD,IAAvD,CAA6D,OAA7D,CAT0D,qDAS7F,SAT6F,qBASlF,OATkF,qBAWpG;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,iCALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzB0C,CAA3C,CA0BA,kCAAkC,CAAC,SAAnC,CAA+C,CAC3C,QAAQ,CAAE,SAAS,CAAC,IADuB,CAE3C,IAAI,CAAE,SAAS,CAAC,MAF2B,CAG3C,KAAK,CAAE,SAAS,CAAC,MAH0B,CAI3C,WAAW,CAAE,SAAS,CAAC,MAJoB,CAK3C,QAAQ,CAAE,SAAS,CAAC,IALuB,CAA/C,CAOA,kCAAkC,CAAC,YAAnC,CAAkD,CAC9C,QAAQ,CAAE,KADoC,CAE9C,IAAI,CAAE,EAFwC,CAG9C,KAAK,CAAE,EAHuC,CAI9C,WAAW,CAAE,IAJiC,CAK9C,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALiB,CAAlD,CAOA,kCAAkC,CAAC,WAAnC,CAAiD,gCAAjD,CAEA;AACA,GAAM,CAAA,gCAAgC,CAAG,KAAK,CAAC,IAAN,CAAW,QAAS,CAAA,gCAAT,CAA0C,KAA1C,CAAgD,IAE5F,CAAA,QAF4F,CAO5F,KAP4F,CAE5F,QAF4F,CAG5F,KAH4F,CAO5F,KAP4F,CAG5F,KAH4F,CAI5F,IAJ4F,CAO5F,KAP4F,CAI5F,IAJ4F,CAK5F,WAL4F,CAO5F,KAP4F,CAK5F,WAL4F,CAM5F,QAN4F,CAO5F,KAP4F,CAM5F,QAN4F,sBASnE,aAAa,CAAC,2CAAD,CAA8C,IAA9C,CAAoD,UAApD,CATsD,qDASzF,SATyF,qBAS9E,OAT8E,qBAWhG;AAEA,mBACI,oBAAC,WAAD,EACI,QAAQ,CAAE,QADd,CAEI,IAAI,CAAE,IAFV,CAGI,KAAK,CAAE,KAHX,CAII,WAAW,CAAE,WAJjB,CAKI,aAAa,CAAE,8BALnB,CAMI,QAAQ,CAAE,QANd,CAOI,OAAO,CAAE,OAPb,CAQI,SAAS,CAAE,SARf,EAWP,CAzBwC,CAAzC,CA0BA,gCAAgC,CAAC,SAAjC,CAA6C,CACzC,QAAQ,CAAE,SAAS,CAAC,IADqB,CAEzC,IAAI,CAAE,SAAS,CAAC,MAFyB,CAGzC,KAAK,CAAE,SAAS,CAAC,MAHwB,CAIzC,WAAW,CAAE,SAAS,CAAC,MAJkB,CAKzC,QAAQ,CAAE,SAAS,CAAC,IALqB,CAA7C,CAOA,gCAAgC,CAAC,YAAjC,CAAgD,CAC5C,QAAQ,CAAE,KADkC,CAE5C,IAAI,CAAE,EAFsC,CAG5C,KAAK,CAAE,EAHqC,CAI5C,WAAW,CAAE,IAJ+B,CAK5C,QAAQ,CAAE,kBAAC,IAAD,CAAO,KAAP,CAAiB,CAAE,CALe,CAAhD,CAOA,gCAAgC,CAAC,WAAjC,CAA+C,6BAA/C","file":"TaskFormFieldTypes.js","sourcesContent":["/**\n * FIELDS\n */\n\n//completed:\nconst isDateSupported = () => {\n var input = document.createElement('input');\n var value = 'a';\n input.setAttribute('type', 'date');\n input.setAttribute('value', value);\n return (input.value !== value);\n};\n\n//completed:\nconst useOnClickOutside = (ref, handler) => {\n React.useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n },[ref, handler]);\n};\n\n//completed:\nconst deviceType = () => {\n let userAgent = navigator.userAgent || navigator.vendor || window.opera;\n if (/windows phone/i.test(userAgent)) {\n return \"Windows Phone\";\n }\n if (/android/i.test(userAgent)) {\n return \"Android\";\n }\n if (/blackberry/i.test(userAgent)) {\n return \"Blackberry\";\n }\n if (/opera mini/i.test(userAgent)) {\n return \"Opera Mini\";\n }\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\n if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {\n return \"iOS\";\n }\n return \"Desktop\";\n};\n\n//completed:\nconst isMobile = () => {\n return deviceType() !== 'Desktop';\n};\n\n//completed:\nconst groupOptions = (options, idPath, displayPath, groupPath, missingGroupingValue = 'Other') => {\n let newOptions = [];\n let ungroupedOptions = [];\n let groupedOptions = {};\n const groupingIsRequired = Boolean(_.size(groupPath));\n\n _.each(options, option => {\n if(groupingIsRequired){\n let groupName = Boolean(_.size(_.get(option, groupPath))) ? _.get(option, groupPath) : missingGroupingValue;\n if(_.isUndefined(groupedOptions[groupName])) groupedOptions[groupName] = [];\n groupedOptions[groupName].push({\n value: _.get(option, idPath),\n displayValue: _.get(option, displayPath),\n label: _.get(option, displayPath),\n });\n }else{\n ungroupedOptions.push({\n value: _.get(option, idPath),\n displayValue: _.get(option, displayPath),\n label: _.get(option, displayPath),\n });\n }\n });\n\n if(groupingIsRequired){\n const missingGroupingValueOptions = groupedOptions[missingGroupingValue];\n delete groupedOptions[missingGroupingValue];\n _.each(groupedOptions, (options, groupName) => {\n newOptions.push({\n group: groupName,\n options: options,\n });\n });\n if(_.size(missingGroupingValueOptions)){\n newOptions.push({\n group: missingGroupingValue,\n options: missingGroupingValueOptions,\n });\n }\n }else{\n newOptions.push({\n group: '_ungrouped_',\n options: ungroupedOptions,\n });\n }\n\n return newOptions;\n};\n\nconst useAjaxLoader = (url, idPath, displayPath, groupPath, missingGroupingValue = 'Other') => {\n const [isLoading, setIsLoading] = React.useState(false);\n const [options, setOptions] = React.useState([]);\n const prevUrl = React.useRef(null);\n\n const fetchOptions = React.useCallback((url) => {\n setIsLoading(true);\n fetch(url)\n .then(res => res.json())\n .then((result) => {\n let parsedOptions = groupOptions(\n result.records,\n `${result.metaData.record}.${idPath}`,\n `${result.metaData.record}.${displayPath}`,\n groupPath ? `${result.metaData.record}.${groupPath}` : null,\n missingGroupingValue\n );\n setOptions(parsedOptions);\n setIsLoading(false);\n });\n }, []);\n\n React.useEffect(() => {\n if(url !== prevUrl.current){\n if(url) fetchOptions(url);\n if(!url) setOptions([]);\n }\n prevUrl.current = url;\n }, [url]);\n\n return [isLoading, options];\n};\n\n//completed:\nconst TextField = React.memo(function TextField(props){\n const {\n type,\n required,\n name,\n value,\n placeholder,\n minValue,\n maxValue,\n minLength,\n maxLength,\n step,\n onChange,\n } = props;\n\n let textFieldRef = React.useRef(null);\n\n const change = React.useCallback(event => {\n onChange(name, event.target.value);\n }, [name, onChange]);\n\n React.useEffect(() => {\n textFieldRef.current.setCustomValidity('');\n if(minLength && _.size(value) < minLength){\n textFieldRef.current.setCustomValidity(`Min length for this field is ${minLength} characters`);\n }\n if(maxLength && _.size(value) > maxLength){\n textFieldRef.current.setCustomValidity(`Max length for this field is ${maxLength} characters`);\n }\n }, [value]);\n\n //useRenderDebug('TextField', {props});\n\n return (\n \n );\n});\nTextField.propTypes = {\n type: PropTypes.oneOf(['text', 'date', 'time', 'number', 'email']).isRequired,\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n min: PropTypes.string,\n max: PropTypes.string,\n step: PropTypes.number,\n minLength: PropTypes.number,\n maxLength: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n};\nTextField.defaultProps = {\n type: 'text',\n required: false,\n name: null,\n value: null,\n placeholder: null,\n min: null,\n max: null,\n step: null,\n minLength: null,\n maxLength: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst TextAreaField = React.memo(function TextAreaField(props){\n const {\n required,\n name,\n value,\n placeholder,\n rows,\n minLength,\n maxLength,\n onChange,\n } = props;\n\n let textAreaRef = React.useRef(null);\n\n const change = React.useCallback(event => {\n onChange(name, event.target.value);\n }, [name, onChange]);\n\n React.useEffect(() => {\n textAreaRef.current.setCustomValidity('');\n if(minLength && _.size(value) < minLength){\n textAreaRef.current.setCustomValidity(`Min length for this field is ${minLength} characters`);\n }\n if(maxLength && _.size(value) > maxLength){\n textAreaRef.current.setCustomValidity(`Max length for this field is ${maxLength} characters`);\n }\n }, [value]);\n\n //useRenderDebug('TextAreaField', {props});\n\n return (\n \n );\n});\nTextAreaField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n rows: PropTypes.number,\n minLength: PropTypes.number,\n maxLength: PropTypes.number,\n onChange: PropTypes.func,\n};\nTextAreaField.defaultProps = {\n required: false,\n name: null,\n value: null,\n placeholder: null,\n rows: null,\n minLength: null,\n maxLength: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst HtmlEditorField = React.memo(function HtmlEditorField(props){\n const {\n required,\n name,\n value,\n placeholder,\n rows,\n minLength,\n maxLength,\n onChange,\n } = props;\n const textAreaRef = React.useRef(null);\n const [editorInstance, setEditorInstance] = React.useState(null);\n\n React.useEffect(() => {\n if(editorInstance){\n editorInstance.off('keyup').on('keyup', () => {\n onChange(name, editorInstance.getContent());\n });\n }\n }, [editorInstance, onChange]);\n\n React.useEffect(() => {\n if(editorInstance){\n editorInstance.on('focus', () => {\n editorInstance.container.classList.add('focused');\n });\n editorInstance.on('blur', () => {\n editorInstance.container.classList.remove('focused');\n });\n }\n }, [editorInstance]);\n\n React.useEffect(() => {\n textAreaRef.current.setCustomValidity('');\n if(minLength && _.size(value) < minLength){\n textAreaRef.current.setCustomValidity(`Min length for this field is ${minLength} characters`);\n }\n if(maxLength && _.size(value) > maxLength){\n textAreaRef.current.setCustomValidity(`Max length for this field is ${maxLength} characters`);\n }\n if(required && !_.size(value)) {\n textAreaRef.current.setCustomValidity(`This field is required`);\n }\n }, [value, minLength, maxLength, required]);\n\n React.useEffect(() => {\n tinymce.init({\n selector: `textarea.html-editor-${_.kebabCase(name)}`,\n width: '100%',\n autoresize: true,\n min_height: 300,\n menubar: false,\n statusbar: false,\n valid_elements: 'strong/b,i/em,a[href|target=_self|style|title],span[style],p[style],div[style],code[style],blockquote[style],br[style],' +\n 'ul[style],ol[style],li[style],' +\n 'h1[style],h2[style],h3[style],h4[style],h5[style],h6[style],',\n relative_urls: false,\n remove_trailing_brs: true,\n //plugins: 'autoresize autolink directionality link advlist lists',\n plugins: 'autoresize autolink directionality link advlist lists paste code hr image anchor charmap',\n toolbar: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist | removeformat',\n toolbar_drawer: 'floating',\n autoresize_bottom_margin: 20,\n setup: editor => {\n setEditorInstance(editor);\n }\n });\n },[]);\n\n //useRenderDebug('HtmlEditorField', {props});\n\n return (\n \n );\n});\nHtmlEditorField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n rows: PropTypes.number,\n minLength: PropTypes.number,\n maxLength: PropTypes.number,\n onChange: PropTypes.func,\n};\nHtmlEditorField.defaultProps = {\n required: false,\n name: null,\n value: null,\n placeholder: null,\n rows: null,\n minLength: null,\n maxLength: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst DateField = React.memo(function DateField(props){\n const {\n required,\n name,\n value,\n minValue,\n maxValue,\n onChange,\n } = props;\n const inputRef = React.useRef(null);\n\n const change = React.useCallback((event) => {\n if(isDateSupported()){\n onChange(name, event.target.value);\n }\n }, [name, onChange]);\n\n React.useEffect(() => {\n if(!isDateSupported()){\n let picker = new Pikaday({\n field: inputRef.current,\n format: 'MM/DD/YYYY',\n parse: 'YYYY-MM-DD',\n minDate: minValue ? moment(minValue).toDate() : null,\n maxDate: maxValue ? moment(maxValue).toDate() : null,\n onSelect: () => {\n onChange(name, picker.getMoment().format('YYYY-MM-DD'));\n }\n });\n }\n }, [name, minValue, maxValue]);\n\n //useRenderDebug('DateField', {props});\n\n return (\n \n );\n});\nDateField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n minValue: PropTypes.string,\n maxValue: PropTypes.string,\n onChange: PropTypes.func,\n};\nDateField.defaultProps = {\n required: false,\n name: null,\n value: null,\n minValue: null,\n maxValue: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst CheckboxField = React.memo(function CheckboxField(props){\n const {\n required,\n name,\n boxLabel,\n checked,\n isInsideCheckboxGroup,\n customValidationError,\n style,\n onChange\n } = props;\n const inputRef = React.useRef(null);\n\n const change = React.useCallback((event) => {\n onChange(name, !!event.target.checked);\n }, [name, onChange]);\n\n let HtmlTag = 'div';\n if(boxLabel) HtmlTag = 'label';\n\n React.useEffect(() => {\n inputRef.current.setCustomValidity(customValidationError);\n }, [customValidationError]);\n\n React.useEffect(() => {\n if(checked && !isInsideCheckboxGroup){\n onChange(name, true);\n }\n }, []);\n\n //useRenderDebug('CheckboxField', {props});\n\n return (\n \n \n {boxLabel && }\n \n );\n});\nCheckboxField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n boxLabel: PropTypes.string,\n checked: PropTypes.bool,\n customValidationError: PropTypes.string,\n style: PropTypes.object,\n isInsideCheckboxGroup: PropTypes.bool,\n onChange: PropTypes.func\n};\nCheckboxField.defaultProps = {\n required: false,\n name: null,\n boxLabel: null,\n checked: false,\n isInsideCheckboxGroup: false,\n customValidationError: \"\",\n onChange: (name, value) => {},\n};\n\n//completed:\nconst CheckboxGroupField = React.memo(function CheckboxGroupField(props){\n const {\n required,\n multiMin,\n multiMax,\n name,\n value,\n options,\n autoFlex,\n columns,\n datagroupAlias,\n enableCollapsibleGroups,\n onChange,\n } = props;\n const rootRef = React.useRef(null);\n const [isRequired, setIsRequired] = React.useState(required);\n const [minMaxError, setMinMaxError] = React.useState(null);\n const [expanded, setExpanded] = React.useState([]);\n\n const toggleGroup = React.useCallback(groupName => event => {\n setExpanded(current => {\n let expanded = _.clone(current);\n if(_.includes(expanded, groupName)){\n _.remove(expanded, val => val === groupName);\n }else{\n expanded.push(groupName);\n }\n return expanded;\n });\n }, []);\n\n const change = React.useCallback(valueId => (cbName, checked) => {\n let values = _.clone(value);\n if(checked && !_.includes(values, valueId)) {\n values.push(valueId);\n }else{\n _.remove(values, (value) => {\n return value === valueId;\n });\n }\n onChange(name, values);\n }, [name, value]);\n\n React.useEffect(() => {\n rootRef.current.dispatchEvent(new Event('parentchange'));\n }, [value]);\n\n React.useEffect(() => {\n if (required && !_.size(value)) {\n setIsRequired(true);\n } else if (parseInt(multiMin) && _.size(value) > 0 && _.size(value) < parseInt(multiMin)) {\n setMinMaxError(`You need to select at least ${multiMin} options`);\n } else if (parseInt(multiMax) && _.size(value) > 0 && _.size(value) > parseInt(multiMax)) {\n setMinMaxError(`You need to select maximum ${multiMax} options`);\n } else {\n setIsRequired(false);\n setMinMaxError('');\n }\n }, [required, value, multiMin, multiMax]);\n\n let checkboxes = [];\n _.each(options, (group, index) => {\n let groupName = group.group;\n\n let groupCollapseIcon = null;\n if(enableCollapsibleGroups && _.includes(expanded, groupName)){\n groupCollapseIcon = ;\n }\n if(enableCollapsibleGroups && !_.includes(expanded, groupName)){\n groupCollapseIcon = ;\n }\n\n let groupOptions = [];\n let groupItemCount = 0;\n _.each(group.options, (option, index) => {\n groupOptions.push(\n -1}\n isInsideCheckboxGroup={true}\n boxLabel={option.label}\n onChange={change(option.value)}\n />\n );\n groupItemCount++;\n if(!autoFlex && groupItemCount === columns){\n groupItemCount = 0;\n groupOptions.push(\n
\n );\n }\n });\n checkboxes.push(\n
\n {Boolean(groupName !== '_ungrouped_') &&\n
\n {groupCollapseIcon}\n {groupName}\n
\n }\n
\n {groupOptions}\n
\n
\n );\n });\n\n //useRenderDebug('CheckboxGroupField', {props});\n\n return (\n \n {checkboxes}\n
\n );\n});\nCheckboxGroupField.propTypes = {\n required: PropTypes.bool,\n multiMin: PropTypes.number,\n multiMax: PropTypes.number,\n name: PropTypes.string.isRequired,\n value: PropTypes.array,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n label: PropTypes.string,\n })\n ),\n autoFlex: PropTypes.bool,\n columns: PropTypes.number,\n datagroupAlias: PropTypes.string,\n enableCollapsibleGroups: PropTypes.bool,\n onChange: PropTypes.func,\n};\nCheckboxGroupField.defaultProps = {\n required: false,\n multiMin: null,\n multiMax: null,\n name: null,\n value: [],\n options: [],\n autoFlex: false,\n columns: 0,\n datagroupAlias: null,\n enableCollapsibleGroups: false,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst RadioField = React.memo(function RadioField(props){\n const {\n required,\n name,\n boxLabel,\n checked,\n value,\n style,\n onChange,\n } = props;\n\n const change = React.useCallback(event => {\n onChange(name, value);\n }, [name, value, onChange]);\n\n //useRenderDebug('RadioField', {props});\n\n return (\n \n );\n});\nRadioField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string.isRequired,\n boxLabel: PropTypes.string,\n checked: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n style: PropTypes.object,\n onChange: PropTypes.func,\n};\nRadioField.defaultProps = {\n required: false,\n name: null,\n boxLabel: null,\n checked: false,\n value: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst RadioGroupField = React.memo(function RadioGroupField(props){\n const {\n required,\n name,\n value,\n options,\n autoFlex,\n columns,\n datagroupAlias,\n enableCollapsibleGroups,\n onChange,\n } = props;\n const rootRef = React.useRef(null);\n const [expanded, setExpanded] = React.useState([]);\n\n const toggleGroup = React.useCallback(groupName => event => {\n setExpanded(current => {\n let expanded = _.clone(current);\n if(_.includes(expanded, groupName)){\n _.remove(expanded, val => val === groupName);\n }else{\n expanded.push(groupName);\n }\n return expanded;\n });\n }, []);\n\n React.useEffect(() => {\n rootRef.current.dispatchEvent(new Event('parentchange'));\n }, [value]);\n\n let radios = [];\n _.each(options, (group, index) => {\n let groupName = group.group;\n\n let groupCollapseIcon = null;\n if(enableCollapsibleGroups && _.includes(expanded, groupName)){\n groupCollapseIcon = ;\n }\n if(enableCollapsibleGroups && !_.includes(expanded, groupName)){\n groupCollapseIcon = ;\n }\n\n let groupOptions = [];\n let groupItemCount = 0;\n _.each(group.options, (option, index) => {\n groupOptions.push(\n \n );\n groupItemCount++;\n if(!autoFlex && groupItemCount === columns){\n groupItemCount = 0;\n groupOptions.push(\n
\n );\n }\n });\n radios.push(\n
\n {Boolean(groupName !== '_ungrouped_') &&\n
\n {groupCollapseIcon}\n {groupName}\n
\n }\n
\n {groupOptions}\n
\n
\n );\n });\n\n //useRenderDebug('RadioGroupField', {props});\n\n return (\n \n {radios}\n
\n );\n});\nRadioGroupField.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n label: PropTypes.string,\n })\n ),\n autoFlex: PropTypes.bool,\n columns: PropTypes.number,\n datagroupAlias: PropTypes.string,\n enableCollapsibleGroups: PropTypes.bool,\n onChange: PropTypes.func,\n};\nRadioGroupField.defaultProps = {\n required: false,\n name: null,\n value: null,\n options: [],\n autoFlex: false,\n columns: 0,\n datagroupAlias: null,\n enableCollapsibleGroups: false,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst SelectField = React.memo(function SelectField(props){\n const {\n isLoading,\n required,\n name,\n value,\n placeholder,\n emptyListText,\n showEmptyOption,\n options,\n datagroupAlias,\n onChange,\n } = props;\n const rootRef = React.useRef(null);\n\n const change = React.useCallback(event => {\n onChange(name, event.target.value);\n }, [name, onChange]);\n\n React.useEffect(() => {\n setTimeout(() => {\n if(rootRef.current) rootRef.current.dispatchEvent(new Event('parentchange'));\n }, 300);\n }, [value]);\n\n React.useEffect(() => {\n let allOptions = [];\n _.each(options, (options) => {\n allOptions = _.concat(allOptions, options.options);\n });\n if(_.size(allOptions) && !_.includes(_.map(allOptions, 'value'), value)){\n onChange(name, '');\n }\n }, [value, options]);\n\n let selectOptions = [];\n if(isLoading){\n selectOptions.push(\n \n );\n }\n if(placeholder) {\n selectOptions.push(\n \n );\n }\n\n if(showEmptyOption && _.size(options)){\n selectOptions.push(\n \n );\n }\n\n _.each(options, (group, index) => {\n let groupName = group.group;\n if(groupName === '_ungrouped_'){\n _.each(group.options, (option, index) => {\n selectOptions.push(\n \n );\n });\n }else{\n let groupOptions = [];\n _.each(group.options, (option, index) => {\n groupOptions.push(\n \n );\n });\n selectOptions.push(\n \n {groupOptions}\n \n );\n }\n });\n\n //useRenderDebug('SelectField', {props});\n\n return (\n \n {selectOptions}\n \n );\n});\nSelectField.propTypes = {\n isLoading: PropTypes.bool,\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n PropTypes.array,\n ]),\n placeholder: PropTypes.string,\n emptyListText: PropTypes.string,\n datagroupAlias: PropTypes.string,\n showEmptyOption: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n displayValue: PropTypes.string,\n disabled: PropTypes.bool,\n group: PropTypes.string,\n })\n ),\n onChange: PropTypes.func.isRequired,\n};\nSelectField.defaultProps = {\n isLoading: false,\n required: false,\n name: null,\n value: null,\n placeholder: null,\n emptyListText: 'No options available',\n showEmptyOption: true,\n options: [],\n datagroupAlias: null,\n onChange: (name, value) => {},\n};\n\n//completed:\nconst MultiSelectField = React.memo(function MultiSelectField(props){\n const {\n isLoading,\n required,\n name,\n multiMin,\n multiMax,\n value,\n placeholder,\n emptyListText,\n options: optionsFromProps,\n datagroupAlias,\n onChange,\n } = props;\n\n let multiselectRef = React.useRef(null);\n let selectRef = React.useRef(null);\n let inputRef = React.useRef(null);\n\n const [options, setOptions] = React.useState(optionsFromProps);\n const [visibleOptions, setVisibleOptions] = React.useState(optionsFromProps);\n const [optionListIsOpen, setOptionListIsOpen] = React.useState(false);\n const [hoveredOptionValue, setHoveredOptionValue] = React.useState(null);\n const [validationError, setValidationError] = React.useState(\"\");\n const [allOptions, setAllOptions] = React.useState([]);\n const [allVisibleOptions, setAllVisibleOptions] = React.useState([]);\n\n const handleChange = React.useCallback((event) => {\n let values = [];\n let options = event.target.options;\n for (let i = 0, length = options.length; i < length; i++) {\n if (options[i].selected) {\n values.push(options[i].value);\n }\n }\n onChange(name, values);\n }, [onChange, name]);\n\n const handleCustomChange = React.useCallback(selectedValue => event => {\n let values = _.clone(value);\n if(_.indexOf(values, selectedValue) < 0){\n values.push(selectedValue);\n }else{\n _.remove(values, (value) => value === selectedValue);\n }\n onChange(name, values);\n }, [onChange, value, name]);\n\n const handleRemove = React.useCallback(valueToRemove => event => {\n let values = _.clone(value);\n _.remove(values, (value) => value === valueToRemove);\n onChange(name, values);\n event.stopPropagation();\n event.preventDefault();\n return false;\n }, [onChange, value, name]);\n\n const hoverOption = React.useCallback((direction) => {\n setHoveredOptionValue(hoveredOption => {\n let nextIndex = null;\n if(!hoveredOption){\n if(direction === 'next') nextIndex = 0;\n if(direction === 'prev') nextIndex = _.size(allVisibleOptions) - 1;\n }else{\n if(direction === 'next'){\n nextIndex = _.findIndex(allVisibleOptions, {value: hoveredOption}) + 1;\n if(nextIndex === _.size(allVisibleOptions)) nextIndex = 0;\n }\n if(direction === 'prev'){\n nextIndex = _.findIndex(allVisibleOptions, {value: hoveredOption}) - 1;\n if(nextIndex < 0) nextIndex = _.size(allVisibleOptions) - 1;\n }\n }\n return allVisibleOptions[nextIndex].value\n });\n }, [allVisibleOptions]);\n\n const onInputClick = React.useCallback((event) => {\n setOptionListIsOpen(optionListIsOpen => !optionListIsOpen);\n }, []);\n\n const onInputKeyDown = React.useCallback((event) => {\n switch(event.which) {\n case 27: //Tab\n if(optionListIsOpen) setOptionListIsOpen(false);\n return;\n case 9: //Esc\n if(optionListIsOpen) setOptionListIsOpen(false);\n return;\n case 38: //Up\n if(!optionListIsOpen) setOptionListIsOpen(true);\n if(optionListIsOpen) hoverOption('prev');\n event.preventDefault();\n return;\n case 40: //Down\n if(!optionListIsOpen) setOptionListIsOpen(true);\n if(optionListIsOpen) hoverOption('next');\n event.preventDefault();\n return;\n case 32: //Space\n if(optionListIsOpen && hoveredOptionValue) {\n handleCustomChange(hoveredOptionValue)();\n event.preventDefault();\n }\n return;\n case 13: //Enter\n if(optionListIsOpen && hoveredOptionValue) {\n handleCustomChange(hoveredOptionValue)();\n event.preventDefault();\n }\n return;\n default:\n return;\n }\n }, [optionListIsOpen, hoveredOptionValue, hoverOption]);\n\n const onSearchInputKeyDown = React.useCallback(event => {\n switch(event.which) {\n case 27: //Esc\n if(optionListIsOpen) setOptionListIsOpen(false);\n return;\n case 9: //Tab\n if(optionListIsOpen) {\n inputRef.current.focus();\n hoverOption('next');\n }\n event.preventDefault();\n return;\n default:\n return;\n }\n }, [optionListIsOpen]);\n\n const onSearchInputKeyUp = React.useCallback(event => {\n let keyword = event.target.value.toLowerCase();\n if(Boolean(keyword.length)){\n let filteredOptionsObject = {};\n _.each(options, ({group: groupName, options: groupOptions}) => {\n _.each(groupOptions, option => {\n if(_.includes(groupName.toLowerCase(), keyword) || _.includes(option.displayValue.toLowerCase(), keyword)){\n if(!filteredOptionsObject[groupName]){\n filteredOptionsObject[groupName] = [];\n }\n filteredOptionsObject[groupName].push(option);\n }\n });\n });\n\n let filteredOptions = [];\n _.each(filteredOptionsObject, (groupOptions, groupName) => {\n filteredOptions.push({\n group: groupName,\n options: groupOptions,\n });\n });\n\n setVisibleOptions(filteredOptions);\n }else{\n setVisibleOptions(options);\n }\n }, [optionListIsOpen, options]);\n\n const onOptionHover = React.useCallback(optionValue => event => {\n setHoveredOptionValue(optionValue);\n }, []);\n\n useOnClickOutside(multiselectRef, () => setOptionListIsOpen(false));\n\n React.useEffect(() => {\n setOptions(optionsFromProps);\n setVisibleOptions(optionsFromProps);\n }, [optionsFromProps]);\n\n React.useEffect(() => {\n selectRef.current.dispatchEvent(new Event('parentchange'));\n }, [value]);\n\n React.useEffect(() => {\n let validationError = '';\n if (required && !_.size(value)) {\n validationError = `Please select an item in the list`;\n } else if (multiMin && _.size(value) && _.size(value) < multiMin) {\n validationError = `You need to select at least ${multiMin} options`;\n } else if (multiMax && _.size(value) && _.size(value) > multiMax) {\n validationError = `You need to select maximum ${multiMax} options`;\n }\n\n setValidationError(validationError);\n selectRef.current.setCustomValidity(validationError);\n }, [required, value, multiMin, multiMax]);\n\n React.useEffect(() => {\n let tmp = [];\n _.each(options, (options) => {\n tmp = _.concat(tmp, options.options);\n });\n setAllOptions(tmp);\n }, [options]);\n\n React.useEffect(() => {\n let tmp = [];\n _.each(visibleOptions, (options) => {\n tmp = _.concat(tmp, options.options);\n });\n setAllVisibleOptions(tmp);\n }, [visibleOptions]);\n\n let placeholderText = null;\n let nativeOptions = [];\n let customOptions = [];\n if(placeholder) {\n placeholderText = placeholder;\n }\n if(isLoading){\n placeholderText = 'Loading...';\n }\n if(_.size(value)){\n placeholderText = null;\n }\n\n if(emptyListText && !_.size(allOptions)){\n nativeOptions.push(\n \n );\n }\n\n _.each(visibleOptions, (group, index) => {\n let groupName = group.group;\n if(groupName === '_ungrouped_'){\n _.each(group.options, (option, index) => {\n nativeOptions.push(\n \n );\n customOptions.push(\n -1 ? 'checked' : ''} ${hoveredOptionValue === option.value ? 'hovered' : ''}`}\n key={`option-${index}`}\n onClick={handleCustomChange(option.value)}\n onMouseEnter={onOptionHover(option.value)}\n onMouseLeave={onOptionHover(null)}\n >\n \n {option.displayValue}\n \n );\n });\n }else{\n let groupNativeOptions = [];\n let groupCustomOptions = [];\n _.each(group.options, (option, index) => {\n groupNativeOptions.push(\n \n );\n groupCustomOptions.push(\n -1 ? 'checked' : ''} ${hoveredOptionValue === option.value ? 'hovered' : ''}`}\n key={`option-${groupName}-${index}`}\n onClick={handleCustomChange(option.value)}\n onMouseEnter={onOptionHover(option.value)}\n onMouseLeave={onOptionHover(null)}\n >\n \n {option.displayValue}\n \n );\n });\n nativeOptions.push(\n \n {groupNativeOptions}\n \n );\n customOptions.push(\n
\n
{groupName}
\n {groupCustomOptions}\n
\n );\n }\n });\n\n let optionTags = [];\n _.each(value, (val) => {\n let selectedTag = _.find(allOptions, option => {return option.value === val});\n if(selectedTag) {\n optionTags.push(\n
\n {selectedTag.displayValue}\n \n
\n );\n }\n });\n\n let showSearchField = _.size(allOptions) > 20;\n\n //useRenderDebug('MultiSelectField', {props, optionListIsOpen, hoveredOptionValue, validationError, handleChange, handleCustomChange, handleRemove, hoverOption, onInputClick, onInputKeyDown, onOptionHover});\n\n return (\n
\n \n {nativeOptions}\n \n 0 ? validationError : null}\n />\n
{optionTags}
\n {!isMobile() &&\n
\n {showSearchField &&\n
\n \n
\n }\n {customOptions}\n
\n }\n
\n );\n});\nMultiSelectField.propTypes = {\n isLoading: PropTypes.bool,\n required: PropTypes.bool,\n name: PropTypes.string,\n multiMin: PropTypes.number,\n multiMax: PropTypes.number,\n value: PropTypes.array,\n placeholder: PropTypes.string,\n emptyListText: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n displayValue: PropTypes.string,\n disabled: PropTypes.bool,\n group: PropTypes.string,\n })\n ),\n datagroupAlias: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\nMultiSelectField.defaultProps = {\n isLoading: false,\n required: false,\n name: null,\n multiMin: null,\n multiMax: null,\n value: [],\n placeholder: null,\n emptyListText: 'No options available',\n options: [],\n datagroupAlias: null,\n onChange: (name, value) => {},\n};\n\n//=======================================================================\n// FIELD TYPES ==========================================================\n//=======================================================================\n\n//completed:\nconst TaskFormFieldTypeText = React.memo(function TaskFormFieldTypeText(props){\n const {\n required,\n value,\n name,\n placeholder,\n minLength,\n maxLength,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeText', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeText.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minLength: PropTypes.number,\n maxLength: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeText.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minLength: null,\n maxLength: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeText.displayName = 'FieldType: Text';\n\n//completed:\nconst TaskFormFieldTypeCheckbox = React.memo(function TaskFormFieldTypeCheckbox(props){\n const {\n required,\n name,\n checked,\n boxLabel,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeCheckbox', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeCheckbox.propTypes = {\n name: PropTypes.string,\n required: PropTypes.bool,\n checked: PropTypes.bool,\n boxLabel: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeCheckbox.defaultProps = {\n name: '',\n required: false,\n checked: false,\n boxLabel: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeCheckbox.displayName = 'FieldType: Checkbox';\n\n//completed:\nconst TaskFormFieldTypeBoolean = React.memo(function TaskFormFieldTypeBoolean(props){\n const {\n required,\n name,\n value,\n onChange,\n yesLabel,\n noLabel,\n indexFromParent,\n } = props;\n\n const options = React.useRef([{\n group: '_ungrouped_',\n options: [{\n value: true,\n label: yesLabel,\n }, {\n value: false,\n label: noLabel,\n }]\n }]);\n\n //useRenderDebug('TaskFormFieldTypeBoolean', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeBoolean.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.bool,\n yesLabel: PropTypes.string,\n noLabel: PropTypes.string,\n indexFromParent: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeBoolean.defaultProps = {\n required: false,\n name: '',\n value: null,\n yesLabel: 'Yes',\n noLabel: 'No',\n indexFromParent: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeBoolean.displayName = 'FieldType: Boolean';\n\n//completed:\nconst TaskFormFieldTypeYesNo = React.memo(function TaskFormFieldTypeYesNo(props){\n const {\n required,\n name,\n value,\n yesLabel,\n noLabel,\n showYesExplanation,\n showNoExplanation,\n yesExplanationLabel,\n noExplanationLabel,\n yesExplanationRequired,\n noExplanationRequired,\n yesMaxChars,\n noMaxChars,\n indexFromParent,\n onChange,\n } = props;\n\n const onOptionChange = React.useCallback((n, v) => {\n let newValue = _.clone(value);\n _.set(newValue, 'option', v);\n _.set(newValue, 'explanation', value.option === v ? value.explanation : '');\n onChange(name, newValue);\n }, [name, value]);\n\n const onExplanationChange = React.useCallback((n, v) => {\n let newValue = _.clone(value);\n _.set(newValue, 'explanation', v);\n onChange(name, newValue);\n }, [name, value]);\n\n let explanationField = null;\n if(value.option !== null && (value.option === 1 && showYesExplanation || value.option === 0 && showNoExplanation)){\n explanationField = (\n \n );\n }\n\n const options = React.useRef({\n group: '_ungrouped_',\n options: [{\n value: 1,\n label: yesLabel,\n }, {\n value: 0,\n label: noLabel,\n }]\n });\n\n //useRenderDebug('TaskFormFieldTypeYesNo', {props});\n\n return (\n
\n \n {explanationField}\n
\n );\n});\nTaskFormFieldTypeYesNo.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.object,\n yesLabel: PropTypes.string,\n noLabel: PropTypes.string,\n showYesExplanation: PropTypes.bool,\n showNoExplanation: PropTypes.bool,\n yesExplanationLabel: PropTypes.string,\n noExplanationLabel: PropTypes.string,\n yesExplanationRequired: PropTypes.bool,\n noExplanationRequired: PropTypes.bool,\n yesMaxChars: PropTypes.number,\n noMaxChars: PropTypes.number,\n indexFromParent: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeYesNo.defaultProps = {\n required: false,\n name: '',\n value: {\n option: null,\n explanation: ''\n },\n yesLabel: 'Yes',\n noLabel: 'No',\n showYesExplanation: false,\n showNoExplanation: false,\n yesExplanationLabel: 'Explain',\n noExplanationLabel: 'Explain',\n yesExplanationRequired: false,\n noExplanationRequired: false,\n yesMaxChars: null,\n noMaxChars: null,\n indexFromParent: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeYesNo.displayName = 'FieldType: YesNo';\n\n//completed:\nconst TaskFormFieldTypeDate = React.memo(function TaskFormFieldTypeDate(props){\n const {\n required,\n name,\n value,\n placeholder,\n minValue,\n maxValue,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeDate', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeDate.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minValue: PropTypes.string,\n maxValue: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeDate.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minValue: null,\n maxValue: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeDate.displayName = 'FieldType: Date';\n\n//completed:\nconst TaskFormFieldTypeTime = React.memo(function TaskFormFieldTypeTime(props){\n const {\n required,\n value,\n name,\n placeholder,\n minValue,\n maxValue,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeTime', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeTime.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minValue: PropTypes.string,\n maxValue: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeTime.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minValue: null,\n maxValue: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeTime.displayName = 'FieldType: Time';\n\n//completed:\nconst TaskFormFieldTypeDecimal = React.memo(function TaskFormFieldTypeDecimal(props){\n const {\n required,\n value,\n name,\n placeholder,\n minValue,\n maxValue,\n step,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeDecimal', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeDecimal.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minValue: PropTypes.number,\n maxValue: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeDecimal.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minValue: null,\n maxValue: null,\n step: 0.1,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeDecimal.displayName = 'FieldType: Decimal';\n\n//completed:\nconst TaskFormFieldTypeNumber = React.memo(function TaskFormFieldTypeNumber(props){\n const {\n required,\n value,\n name,\n placeholder,\n minValue,\n maxValue,\n step,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeNumber', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeNumber.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minValue: PropTypes.number,\n maxValue: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeNumber.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minValue: null,\n maxValue: null,\n step: 1,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeNumber.displayName = 'FieldType: Number';\n\n//completed:\nconst TaskFormFieldTypeTextArea = React.memo(function TaskFormFieldTypeTextArea(props){\n const {\n required,\n value,\n name,\n placeholder,\n minLength,\n maxLength,\n rows,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeTextArea', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeTextArea.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minLength: PropTypes.number,\n maxLength: PropTypes.number,\n rows: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeTextArea.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minLength: null,\n maxLength: null,\n rows: 4,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeTextArea.displayName = 'FieldType: TextArea';\n\n//completed:\nconst TaskFormFieldTypeHtml = React.memo(function TaskFormFieldTypeHtml(props){\n const {\n required,\n value,\n name,\n placeholder,\n maxLength,\n rows,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeHtml', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeHtml.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n rows: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeHtml.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n maxLength: null,\n rows: 4,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeHtml.displayName = 'FieldType: Html';\n\n//completed:\nconst TaskFormFieldTypeTextBox = React.memo(function TaskFormFieldTypeTextBox(props){\n const {\n value,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeTextBox', {props});\n\n if(!value) return null;\n\n return (\n
\n );\n});\nTaskFormFieldTypeTextBox.propTypes = {\n value: PropTypes.string,\n};\nTaskFormFieldTypeTextBox.defaultProps = {\n value: null,\n};\nTaskFormFieldTypeTextBox.displayName = 'FieldType: Text Box';\n\n//completed:\nconst TaskFormFieldTypeSelect = React.memo(function TaskFormFieldTypeSelect(props){\n const {\n renderAs,\n url,\n store,\n required,\n name,\n value,\n idPath,\n displayPath,\n groupPath,\n missingGroupingValue,\n enableCollapsibleGroups,\n placeholder,\n emptyListText,\n columns,\n autoFlexColumns,\n isMulti,\n multiMin,\n multiMax,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader(url, idPath, displayPath, groupPath, missingGroupingValue);\n\n let FieldClass = SelectField;\n if(renderAs === 'multiselect') FieldClass = MultiSelectField;\n if(renderAs === 'radiogroup') FieldClass = RadioGroupField;\n if(renderAs === 'checkboxgroup') FieldClass = CheckboxGroupField;\n\n let parsedValue = value;\n if(_.includes(['multiselect', 'checkboxgroup'], renderAs)){\n parsedValue = _.filter(parsedValue, val => {return val !== null});\n }\n\n //useRenderDebug('TaskFormFieldTypeSelect', {props});\n\n if(store){\n let parsedStore = groupOptions(store, idPath, displayPath, groupPath, missingGroupingValue);\n\n return (\n \n );\n }\n\n return (\n \n );\n});\nTaskFormFieldTypeSelect.propTypes = {\n renderAs: PropTypes.oneOf(['select', 'combo', 'multiselect', 'radiogroup', 'checkboxgroup']),\n url: PropTypes.string,\n store: PropTypes.array,\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n idPath: PropTypes.string.isRequired,\n displayPath: PropTypes.string.isRequired,\n groupPath: PropTypes.string,\n missingGroupingValue: PropTypes.string,\n enableCollapsibleGroups: PropTypes.bool,\n placeholder: PropTypes.string,\n emptyListText: PropTypes.string,\n columns: PropTypes.number,\n autoFlexColumns: PropTypes.bool,\n isMulti: PropTypes.bool,\n multiMin: PropTypes.number,\n multiMax: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeSelect.defaultProps = {\n renderAs: 'select',\n url: null,\n store: null,\n required: false,\n name: '',\n value: '',\n idPath: 'id',\n displayPath: null,\n groupPath: null,\n missingGroupingValue: 'Other',\n enableCollapsibleGroups: false,\n emptyListText: 'No Records',\n placeholder: null,\n columns: null,\n autoFlexColumns: true,\n isMulti: false,\n multiMin: null,\n multiMax: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeSelect.displayName = 'FieldType: Select';\n\n//completed:\nconst TaskFormFieldTypeDatagroup = React.memo(function TaskFormFieldTypeDatagroup(props){\n const {\n renderAs,\n required,\n value,\n name,\n idPath,\n displayPath,\n groupPath,\n placeholder,\n emptyListText,\n datagroupAlias,\n datagroupParentAlias,\n parentFilterBy,\n orderBy,\n orderDirection,\n columns,\n autoFlexColumns,\n isMulti,\n multiMin,\n multiMax,\n indexFromParent,\n onChange,\n } = props;\n\n const [url, setUrl] = React.useState(null);\n const [parentDatagroup, setParentDatagroup] = React.useState(null);\n const [parentDatagroupValue, setParentDatagroupValue] = React.useState(null);\n const [isLoading, options] = useAjaxLoader(url, idPath, displayPath, groupPath);\n\n const onParentChange = React.useCallback(event => {\n let value = Boolean(event.target.dataset.value) ? event.target.dataset.value : null;\n setParentDatagroupValue(value);\n }, [onChange]);\n\n React.useEffect(() => {\n let url = [`/p/Datagroups/admin/DatagroupValues/getAll.json?datagroup_alias=${datagroupAlias}&deleted=0&normalize=1`];\n if(orderBy){\n let order = JSON.stringify([{property: orderBy, direction: orderDirection}]);\n url.push(`sort=${order}`);\n }\n if(parentFilterBy){\n let filter = JSON.stringify([{property: parentFilterBy, value: _.split(parentDatagroupValue, ',')}]);\n url.push(`filter=${filter}`);\n }\n if(parentFilterBy && !Boolean(parentDatagroupValue)) {\n url = null;\n }\n if(url) url = _.join(url, '&');\n\n setUrl(url);\n }, [datagroupAlias, orderBy, orderDirection, parentFilterBy, parentDatagroup, parentDatagroupValue]);\n\n React.useEffect(() => {\n if(datagroupParentAlias){\n let el = document.querySelector(`*[data-datagroup-alias=\"${datagroupParentAlias}-${indexFromParent}\"]`);\n setParentDatagroup(el);\n if(el){\n el.addEventListener('parentchange', onParentChange);\n return () => {\n el.removeEventListener('parentchange', onParentChange);\n }\n }\n }\n }, [datagroupParentAlias]);\n\n let FieldClass = SelectField;\n if(renderAs === 'multiselect') FieldClass = MultiSelectField;\n if(renderAs === 'radiogroup') FieldClass = RadioGroupField;\n if(renderAs === 'checkboxgroup') FieldClass = CheckboxGroupField;\n\n let parsedValue = value;\n if(_.includes(['multiselect', 'checkboxgroup'], renderAs)){\n parsedValue = _.filter(parsedValue, val => {return val !== null});\n }\n\n // useRenderDebug(`TaskFormFieldTypeDatagroup|${name}`, {props, url, parentDatagroup, parentDatagroupValue, isLoading, options});\n\n return (\n \n );\n});\nTaskFormFieldTypeDatagroup.propTypes = {\n renderAs: PropTypes.oneOf(['combo', 'multiselect', 'radiogroup', 'checkboxgroup']),\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n idPath: PropTypes.string.isRequired,\n displayPath: PropTypes.string.isRequired,\n groupPath: PropTypes.string,\n placeholder: PropTypes.string,\n emptyListText: PropTypes.string,\n datagroupAlias: PropTypes.string.isRequired,\n datagroupParentAlias: PropTypes.string,\n parentFilterBy: PropTypes.string,\n orderBy: PropTypes.string,\n orderDirection: PropTypes.oneOf(['asc', 'desc']),\n columns: PropTypes.number,\n autoFlexColumns: PropTypes.bool,\n isMulti: PropTypes.bool,\n multiMin: PropTypes.number,\n multiMax: PropTypes.number,\n indexFromParent: PropTypes.number,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeDatagroup.defaultProps = {\n renderAs: 'combo',\n required: false,\n name: '',\n value: '',\n idPath: 'id',\n displayPath: null,\n groupPath: null,\n emptyListText: 'No Records',\n datagroupAlias: null,\n datagroupParentAlias: null,\n parentFilterBy: null,\n orderBy: null,\n orderDirection: 'asc',\n placeholder: null,\n columns: null,\n autoFlexColumns: true,\n isMulti: false,\n multiMin: null,\n multiMax: null,\n indexFromParent: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeDatagroup.displayName = 'FieldType: Datagroup';\n\n//completed:\nconst TaskFormFieldTypeEmail = React.memo(function TaskFormFieldTypeEmail(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeEmail', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeEmail.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeEmail.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeEmail.displayName = 'FieldType: Email';\n\n//completed:\nconst TaskFormFieldTypeBirthday = React.memo(function TaskFormFieldTypeBirthday(props){\n const {\n required,\n name,\n value,\n placeholder,\n minValue,\n maxValue,\n onChange,\n } = props;\n\n //useRenderDebug('TaskFormFieldTypeBirthday', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeBirthday.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n minValue: PropTypes.string,\n maxValue: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeBirthday.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n minValue: null,\n maxValue: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeBirthday.displayName = 'FieldType: Birthday';\n\n//completed:\nconst TaskFormFieldTypeGender = React.memo(function TaskFormFieldTypeGender(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n let options = React.useRef([{\n group: \"_ungrouped_\",\n options: [{\n value: 'm',\n displayValue: 'Male',\n }, {\n value: 'f',\n displayValue: 'Female',\n }]\n }]);\n\n //useRenderDebug('TaskFormFieldTypeGender', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeGender.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeGender.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeGender.displayName = 'FieldType: Gender';\n\n//completed:\nconst TaskFormFieldTypeEmailType = React.memo(function TaskFormFieldTypePhoneType(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/admin/PersonEmailTypes/getAll.json', 'id', 'label');\n\n //useRenderDebug('TaskFormFieldTypePhoneType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeEmailType.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeEmailType.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeEmailType.displayName = 'FieldType: Email Type';\n\n//completed:\nconst TaskFormFieldTypeAddressCountry = React.memo(function TaskFormFieldTypeAddressCountry(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/Locations/admin/LocationCountries/getAll.json?sort=name', 'id', 'name');\n\n //useRenderDebug('TaskFormFieldTypeAddressCountry', {props, isLoading, options});\n\n return (\n \n );\n});\nTaskFormFieldTypeAddressCountry.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeAddressCountry.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeAddressCountry.displayName = 'FieldType: Address Country';\n\n//completed:\nconst TaskFormFieldTypeAddressState = React.memo(function TaskFormFieldTypeAddressState(props){\n const {\n countryId,\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const previousCountryId = React.useRef(countryId);\n const [isLoading, options] = useAjaxLoader(countryId ? `/p/Locations/admin/LocationStates/getAll.json?sort=name&location_country_id=${countryId}` : null, 'id', 'name');\n\n React.useEffect(() => {\n if (!countryId) {\n onChange(name, previousCountryId.current !== null && previousCountryId.current !== countryId ? null : value);\n }\n if (countryId !== previousCountryId.current) {\n previousCountryId.current = countryId;\n }\n }, [countryId]);\n\n //useRenderDebug('TaskFormFieldTypeAddressState', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeAddressState.propTypes = {\n countryId: PropTypes.any,\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeAddressState.defaultProps = {\n countryId: null,\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeAddressState.displayName = 'FieldType: Address State';\n\n//completed:\nconst TaskFormFieldTypeAddressType = React.memo(function TaskFormFieldTypeAddressType(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/admin/PersonAddressTypes/getAll.json', 'id', 'label');\n\n //useRenderDebug('TaskFormFieldTypeAddressType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeAddressType.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeAddressType.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeAddressType.displayName = 'FieldType: Address Type';\n\n//completed:\nconst TaskFormFieldTypePhoneDefault = React.memo(function TaskFormFieldTypePhoneDefault(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const change = React.useCallback((n, v) => {\n onChange(name, v === '1');\n }, [onChange, name]);\n\n const options = React.useRef([{\n group: \"_ungrouped_\",\n options: [{\n value: '1',\n displayValue: 'Yes',\n }, {\n value: '0',\n displayValue: 'No',\n }]\n }]);\n\n //useRenderDebug('TaskFormFieldTypePhoneDefault', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypePhoneDefault.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypePhoneDefault.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypePhoneDefault.displayName = 'FieldType: Phone Default';\n\n//completed:\nconst TaskFormFieldTypePhoneType = React.memo(function TaskFormFieldTypePhoneType(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/admin/PersonPhoneTypes/getAll.json', 'id', 'label');\n\n //useRenderDebug('TaskFormFieldTypePhoneType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypePhoneType.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.any,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypePhoneType.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypePhoneType.displayName = 'FieldType: Phone Type';\n\n//completed:\nconst TaskFormFieldTypeInstantMessengerType = React.memo(function TaskFormFieldTypeInstantMessengerType(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/admin/PersonInstantMessengerTypes/getAll.json', 'id', 'label');\n\n //useRenderDebug('TaskFormFieldTypeInstantMessengerType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeInstantMessengerType.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeInstantMessengerType.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeInstantMessengerType.displayName = 'FieldType: Instant Messenger Type';\n\n//completed:\nconst TaskFormFieldTypeSocialNetworkType = React.memo(function TaskFormFieldTypeSocialNetworkType(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/admin/PersonSocialMediaTypes/getAll.json', 'id', 'label');\n\n //useRenderDebug('TaskFormFieldTypeSocialNetworkType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeSocialNetworkType.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeSocialNetworkType.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeSocialNetworkType.displayName = 'FieldType: Social Network Type';\n\n//completed:\nconst TaskFormFieldTypeHouseholdMember = React.memo(function TaskFormFieldTypeHouseholdMember(props){\n const {\n required,\n value,\n name,\n placeholder,\n onChange,\n } = props;\n\n const [isLoading, options] = useAjaxLoader('/p/People/People/getHouseholdMembers.json', 'id', 'fullname');\n\n //useRenderDebug('TaskFormFieldTypeSocialNetworkType', {props});\n\n return (\n \n );\n});\nTaskFormFieldTypeHouseholdMember.propTypes = {\n required: PropTypes.bool,\n name: PropTypes.string,\n value: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n};\nTaskFormFieldTypeHouseholdMember.defaultProps = {\n required: false,\n name: '',\n value: '',\n placeholder: null,\n onChange: (name, value) => {},\n};\nTaskFormFieldTypeHouseholdMember.displayName = 'FieldType: Household Member';"]}